This file is indexed.

/usr/include/root/TProfile2D.h is in libroot-hist-dev 5.34.19+dfsg-1.2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
// @(#)root/hist:$Id$
// Author: Rene Brun   16/04/2000

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TProfile2D
#define ROOT_TProfile2D


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TProfile2D                                                           //
//                                                                      //
// Profile2D histogram class.                                           //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TH2
#include "TH2.h"
#endif
#ifndef ROOT_TProfile
#include "TProfile.h"
#endif

class TProfile2D : public TH2D {

public:
   friend class TProfileHelper;

protected:
   TArrayD     fBinEntries;      //number of entries per bin
   EErrorType  fErrorMode;       //Option to compute errors
   Double_t    fZmin;            //Lower limit in Z (if set)
   Double_t    fZmax;            //Upper limit in Z (if set)
   Bool_t      fScaling;         //!True when TProfile2D::Scale is called
   Double_t    fTsumwz;          //Total Sum of weight*Z
   Double_t    fTsumwz2;         //Total Sum of weight*Z*Z
   TArrayD     fBinSumw2;         //Array of sum of squares of weights per bin 
   static Bool_t   fgApproximate; //bin error approximation option

   virtual Int_t    BufferFill(Double_t, Double_t) {return -2;} //may not use
   virtual Int_t    BufferFill(Double_t, Double_t, Double_t) {return -2;} //may not use
   virtual Int_t    BufferFill(Double_t x, Double_t y, Double_t z, Double_t w);

   // helper methods for the Merge unification in TProfileHelper
   void SetBins(const Int_t* nbins, const Double_t* range) { SetBins(nbins[0], range[0], range[1], 
                                                                     nbins[1], range[2], range[3]); };
   Int_t Fill(const Double_t* v) { return Fill(v[0], v[1], v[2], v[3]); };

   virtual TProfile *DoProfile(bool onX, const char *name, Int_t firstbin, Int_t lastbin, Option_t *option) const;

   using TH2::Fill;
   Int_t             Fill(Double_t, Double_t) {return TH2::Fill(0); } //MayNotUse


private:
   Double_t *GetB()  {return &fBinEntries.fArray[0];}
   Double_t *GetB2() {return (fBinSumw2.fN ? &fBinSumw2.fArray[0] : 0 ); }
   Double_t *GetW()  {return &fArray[0];}
   Double_t *GetW2() {return &fSumw2.fArray[0];}
   void  SetBins(Int_t, Double_t, Double_t)
      { MayNotUse("SetBins(Int_t, Double_t, Double_t"); }
   void  SetBins(Int_t, const Double_t*)
      { MayNotUse("SetBins(Int_t, const Double_t*"); }
   void SetBins(Int_t, Double_t, Double_t, Int_t, Double_t, Double_t, Int_t, Double_t, Double_t)
      { MayNotUse("SetBins(Int_t, Double_t, Double_t, Int_t, Double_t, Double_t, Int_t, Double_t, Double_t"); }
   void SetBins(Int_t, const Double_t *, Int_t, const Double_t *, Int_t, const Double_t *)
      { MayNotUse("SetBins(Int_t, const Double_t*, Int_t, const Double_t*, Int_t, const Double_t*"); }

public:
   TProfile2D();
   TProfile2D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
                               ,Int_t nbinsy,Double_t ylow,Double_t yup
                               ,Double_t zlow, Double_t zup,Option_t *option="");
   TProfile2D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
                               ,Int_t nbinsy,Double_t ylow,Double_t yup,Option_t *option="");
   TProfile2D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
                               ,Int_t nbinsy,Double_t ylow,Double_t yup,Option_t *option="");
   TProfile2D(const char *name,const char *title,Int_t nbinsx,Double_t xlow,Double_t xup
                               ,Int_t nbinsy,const Double_t *ybins,Option_t *option="");
   TProfile2D(const char *name,const char *title,Int_t nbinsx,const Double_t *xbins
                               ,Int_t nbinsy,const Double_t *ybins,Option_t *option="");
   TProfile2D(const TProfile2D &profile);
   virtual ~TProfile2D();
   virtual Bool_t    Add(TF1 *h1, Double_t c1=1, Option_t *option="");
   virtual Bool_t    Add(const TH1 *h1, Double_t c1=1);
   virtual Bool_t    Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1); // *MENU*
   static  void      Approximate(Bool_t approx=kTRUE);
   void              BuildOptions(Double_t zmin, Double_t zmax, Option_t *option);
   virtual Int_t     BufferEmpty(Int_t action=0);
   virtual void      Copy(TObject &hnew) const;
   virtual Bool_t    Divide(TF1 *h1, Double_t c1=1);
   virtual Bool_t    Divide(const TH1 *h1);
   virtual Bool_t    Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
   virtual TH1      *DrawCopy(Option_t *option="") const;
   Int_t             Fill(Double_t x, Double_t y, Double_t z);
   virtual Int_t     Fill(Double_t x, const char *namey, Double_t z);
   virtual Int_t     Fill(const char *namex, Double_t y, Double_t z);
   virtual Int_t     Fill(const char *namex, const char *namey, Double_t z);
   virtual Int_t     Fill(Double_t x, Double_t y, Double_t z, Double_t w);
   virtual Double_t  GetBinContent(Int_t bin) const;
   virtual Double_t  GetBinContent(Int_t binx, Int_t biny) const {return GetBinContent(GetBin(binx,biny));}
   virtual Double_t  GetBinContent(Int_t binx, Int_t biny, Int_t) const {return GetBinContent(GetBin(binx,biny));}
   virtual Double_t  GetBinError(Int_t bin) const;
   virtual Double_t  GetBinError(Int_t binx, Int_t biny) const {return GetBinError(GetBin(binx,biny));}
   virtual Double_t  GetBinError(Int_t binx, Int_t biny, Int_t) const {return GetBinError(GetBin(binx,biny));}
   virtual Double_t  GetBinEntries(Int_t bin) const;
   virtual Double_t  GetBinEffectiveEntries(Int_t bin);
   virtual TArrayD *GetBinSumw2() {return &fBinSumw2;}
   virtual const TArrayD *GetBinSumw2() const {return &fBinSumw2;}
   Option_t         *GetErrorOption() const;
   virtual void      GetStats(Double_t *stats) const;
   virtual Double_t  GetZmin() const {return fZmin;}
   virtual Double_t  GetZmax() const {return fZmax;}
   virtual void      LabelsDeflate(Option_t *axis="X");
   virtual void      LabelsInflate(Option_t *axis="X");
   virtual void      LabelsOption(Option_t *option="h", Option_t *axis="X");
   virtual Long64_t  Merge(TCollection *list);
   virtual Bool_t    Multiply(TF1 *h1, Double_t c1=1);
   virtual Bool_t    Multiply(const TH1 *h1);
   virtual Bool_t    Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*
   TH2D             *ProjectionXY(const char *name="_pxy", Option_t *option="e") const;
   TProfile         *ProfileX(const char *name="_pfx", Int_t firstybin=0, Int_t lastybin=-1, Option_t *option="") const;   // *MENU*
   TProfile         *ProfileY(const char *name="_pfy", Int_t firstxbin=0, Int_t lastxbin=-1, Option_t *option="") const;   // *MENU*
   virtual void      PutStats(Double_t *stats);
   virtual void      Reset(Option_t *option="");
   virtual void      RebinAxis(Double_t x, TAxis *axis);
   virtual TProfile2D *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname="");
   virtual TProfile2D *RebinX(Int_t ngroup=2, const char *newname="");
   virtual TProfile2D *RebinY(Int_t ngroup=2, const char *newname="");     
   virtual void      SavePrimitive(ostream &out, Option_t *option = "");
   virtual void      Scale(Double_t c1=1, Option_t *option="");
   virtual void      SetBinEntries(Int_t bin, Double_t w);
   virtual void      SetBins(Int_t nbinsx, Double_t xmin, Double_t xmax, Int_t nbinsy, Double_t ymin, Double_t ymax);
   virtual void      SetBins(Int_t nx, const Double_t *xBins, Int_t ny, const Double_t *yBins);
   virtual void      SetBinsLength(Int_t n=-1);
   virtual void      SetBuffer(Int_t buffersize, Option_t *option="");
   virtual void      SetErrorOption(Option_t *option=""); // *MENU*
   virtual void      Sumw2(Bool_t flag = kTRUE);

   ClassDef(TProfile2D,7)  //Profile2D histogram class
};

#endif