15 #include "TObjArray.h"
33 EdbH2(
int nx,
float minx,
float maxx,
int ny,
float miny,
float maxy) {
Set0();
InitH2(
nx, minx, maxx,
ny, miny, maxy); }
42 int InitH2(
int nx,
float minx,
float maxx,
int ny,
float miny,
float maxy);
50 int NX()
const {
return eN[0];}
51 int NY()
const {
return eN[1];}
52 int IX(
float x)
const {
return (
int)((x-
eMin[0])/
eBin[0]); }
53 int IY(
float y)
const {
return (
int)((y-
eMin[1])/
eBin[1]); }
54 int IX(
int jcell)
const {
return jcell%
eN[0]; }
55 int IY(
int jcell)
const {
return jcell/
eN[0]; }
57 int Jcell(
int ix,
int iy)
const {
if(ix>=0&&ix<
eN[0]&&iy>=0&&iy<
eN[1])
return iy*
eN[0]+ix;
else return -1;}
60 float X(
int ix)
const {
return eMin[0]+
eBin[0]*(ix+0.5);}
61 float Y(
int iy)
const {
return eMin[1]+
eBin[1]*(iy+0.5);}
62 float Xj(
int j)
const {
return X(
IX(j));}
63 float Yj(
int j)
const {
return Y(
IY(j));}
69 float XminA(
float level=0);
70 float XmaxA(
float level=0);
71 float YminA(
float level=0);
72 float YmaxA(
float level=0);
82 int Bin(
int iv[2])
const {
return Bin(iv[0],iv[1]);}
83 int Bin(
int j)
const {
if(j>-1||j<
eNcell)
return eNC[j];
else return 0; }
88 int Fill(
float x,
float y) {
return Fill(x,y,1); }
89 int Fill(
float x,
float y,
int n);
90 int Fill(
int j,
int n=1);
95 Long_t
Integral(
int iv[2],
int ir[2]);
97 TH1I *
DrawSpectrum(
const char *
name=
"plot1d",
const char *title=
"EdbH2 DrawSpectrum");
98 TH2F *
DrawH2(
const char *
name=
"plot2d",
const char *title=
"EdbH2plot2D");
121 void Init(
const EdbH2 &h,
int npeaks=10);
131 float ProbPeak(
int iv[2],
int ir[2]);
143 float Smooth(Option_t *option=
"k5a");
144 TH1F *
DrawSpectrumN(
const char *
name=
"spectrumN",
const char *title=
"EdbH2 DrawSpectrum");
145 TH2F *
DrawH2N(
const char *
name=
"xyN",
const char *title=
"EdbH2plot2D");
171 int InitCell(
int nx,
float minx,
float maxx,
int ny,
float miny,
float maxy,
int maxpercell );
172 int InitCell(
int maxpercell,
int n[2],
float min[2],
float max[2] );
177 bool AddObject(
float x,
float y, TObject *obj );
178 bool AddObject(
int ix,
int iy, TObject *obj );
186 int iv[2] = {
IX(j),
IY(j) };
187 int irr[2] = { ir, ir };
192 int iv[2] = {
IX(v[0]),
IY(v[1]) };
196 int ir[2] = { (int)(
r/
Xbin()) + 1, (
int)(
r/
Ybin()) + 1 };
202 if(j>=0&&j<eNcell&&ientr>=0&&ientr<
eCellLim)
return epC[j][ientr];
float min(TClonesArray *t)
Definition: bitview.cxx:275
int max
Definition: check_shower.C:41
Definition: EdbCell2.h:151
int CellLim()
Definition: EdbCell2.h:169
int SelectObjectsCJ(int j, int ir, TObjArray &arr)
Definition: EdbCell2.h:185
TObject *** epC
Definition: EdbCell2.h:158
int SelectObjects(TObjArray &arr)
Definition: EdbCell2.cpp:797
Int_t eCellLim
Definition: EdbCell2.h:155
EdbCell2(const EdbCell2 &cell)
Definition: EdbCell2.h:162
TObject ** epO
Definition: EdbCell2.h:157
void Copy(const EdbCell2 &cell)
Definition: EdbCell2.cpp:665
int AddObjectOverlap(float x, float y, float dx, float dy, TObject *obj)
Definition: EdbCell2.cpp:732
int SelectObjectsC(float v[2], int ir[2], TObjArray &arr)
Definition: EdbCell2.h:191
Int_t eCapacity
Definition: EdbCell2.h:156
void Delete()
Definition: EdbCell2.cpp:625
void Set0()
Definition: EdbCell2.cpp:610
TObject * GetObject(int j, int ientr) const
Definition: EdbCell2.h:201
void Reset()
Definition: EdbCell2.h:174
int InitCell(EdbCell2 &c)
Definition: EdbCell2.h:170
int SelectObjectsC(int iv[2], int ir[2], TObjArray &arr)
Definition: EdbCell2.cpp:766
EdbCell2()
[eNcell] pointers to cells
Definition: EdbCell2.cpp:604
void InitEPC()
Definition: EdbCell2.cpp:657
~EdbCell2()
Definition: EdbCell2.cpp:619
TObject * GetObject(float x, float y, int ientr) const
Definition: EdbCell2.h:199
TObject * GetObject(int ix, int iy, int ientr) const
Definition: EdbCell2.h:200
bool AddObject(float v[2], TObject *obj)
Definition: EdbCell2.h:176
int SelectObjectsC(float v[2], float r, TObjArray &arr)
Definition: EdbCell2.h:195
void PrintStat()
Definition: EdbCell2.cpp:711
Definition: EdbCell1.h:17
Definition: EdbCell2.h:19
int Jcell(float v[2]) const
Definition: EdbCell2.h:59
Int_t * eNC
Definition: EdbCell2.h:29
void SetBin(int j, int n)
Definition: EdbCell2.h:92
int Ncell() const
Definition: EdbCell2.h:49
int MaxBin()
Definition: EdbCell2.cpp:244
float XmaxA(float level=0)
Definition: EdbCell2.cpp:172
TH1I * DrawSpectrum(const char *name="plot1d", const char *title="EdbH2 DrawSpectrum")
Definition: EdbCell2.cpp:188
EdbH2(int nx, float minx, float maxx, int ny, float miny, float maxy)
Definition: EdbCell2.h:33
float X(int ix) const
Definition: EdbCell2.h:60
float Xmax() const
Definition: EdbCell2.h:65
Float_t eMin[2]
Definition: EdbCell2.h:24
void CleanCells()
Definition: EdbCell2.cpp:115
float Xj(int j) const
Definition: EdbCell2.h:62
EdbH1 * ProjectionY()
Definition: EdbCell2.cpp:159
int NX() const
Definition: EdbCell2.h:50
float Ymin() const
Definition: EdbCell2.h:66
int Jcell(float x, float y) const
Definition: EdbCell2.h:58
int DiscardHighCells(int nmax)
Definition: EdbCell2.cpp:142
void SetBin(int ix, int iy, int n)
Definition: EdbCell2.h:91
float Ybin() const
Definition: EdbCell2.h:78
int Jcell(int ix, int iy) const
Definition: EdbCell2.h:57
void Set0()
Definition: EdbCell2.cpp:31
float Yj(int j) const
Definition: EdbCell2.h:63
float XminA(float level=0)
Definition: EdbCell2.cpp:167
float Y(int iy) const
Definition: EdbCell2.h:61
int IX(int jcell) const
Definition: EdbCell2.h:54
int IY(int jcell) const
Definition: EdbCell2.h:55
void AddBin(int jcell, int n)
Definition: EdbCell2.h:87
float YmaxA(float level=0)
Definition: EdbCell2.cpp:182
Float_t eBin[2]
Definition: EdbCell2.h:26
~EdbH2()
Definition: EdbCell2.cpp:63
void Copy(const EdbH2 &h)
Definition: EdbCell2.cpp:46
Float_t Mean()
Definition: EdbCell2.h:96
void Delete()
Definition: EdbCell2.cpp:69
int IX(float x) const
Definition: EdbCell2.h:52
Long_t Integral()
Definition: EdbCell2.cpp:226
float Xbin() const
Definition: EdbCell2.h:77
int InitH2(const EdbH2 &h)
Definition: EdbCell2.cpp:79
Int_t eNcell
Definition: EdbCell2.h:28
EdbH1 * ProjectionX()
Definition: EdbCell2.cpp:151
int NY() const
Definition: EdbCell2.h:51
TH2F * DrawH2(const char *name="plot2d", const char *title="EdbH2plot2D")
Definition: EdbCell2.cpp:197
float Xmin() const
Definition: EdbCell2.h:64
int Bin(int j) const
Definition: EdbCell2.h:83
int IY(float y) const
Definition: EdbCell2.h:53
float Ymax() const
Definition: EdbCell2.h:67
int Fill(float x, float y)
Definition: EdbCell2.h:88
int Bin(int ix, int iy) const
Definition: EdbCell2.h:81
Int_t eN[2]
Definition: EdbCell2.h:23
Float_t eMax[2]
Definition: EdbCell2.h:25
EdbH2()
Definition: EdbCell2.cpp:25
float YminA(float level=0)
Definition: EdbCell2.cpp:177
void PrintStat()
Definition: EdbCell2.cpp:209
int Bin(int iv[2]) const
Definition: EdbCell2.h:82
int Bin(float x, float y) const
Definition: EdbCell2.h:80
Definition: EdbCell2.h:104
float Mean3(int i=0) const
Definition: EdbCell2.h:141
TArrayF eMean
Definition: EdbCell2.h:110
float Ymean()
Definition: EdbCell2.cpp:566
TH1F * DrawSpectrumN(const char *name="spectrumN", const char *title="EdbH2 DrawSpectrum")
Definition: EdbCell2.cpp:343
float EstimatePeakVolume(int ipeak)
Definition: EdbCell2.cpp:543
Int_t eNpeaks
Definition: EdbCell2.h:107
Float_t eNorm
Definition: EdbCell2.h:111
TArrayF eXpeak
Definition: EdbCell2.h:112
int ProbPeaks(int npeak)
Definition: EdbCell2.cpp:420
void Init(const EdbH2 &h, int npeaks=10)
Definition: EdbCell2.cpp:372
TArrayF ePeak
Definition: EdbCell2.h:108
float EstimatePeakVolumeSafe(int ipeak)
Definition: EdbCell2.cpp:535
TArrayF eYpeak
Definition: EdbCell2.h:113
float EstimatePeakMeanPosition(int iv[2], int ir[2], float &x, float &y, int mean=0)
Definition: EdbCell2.cpp:482
~EdbPeak2()
Definition: EdbCell2.h:118
float FindGlobalPeak(float &x, float &y, float ratio=0.1)
Definition: EdbCell2.cpp:582
float Mean(int i=0) const
Definition: EdbCell2.h:142
float Xmean()
Definition: EdbCell2.cpp:550
void Print()
Definition: EdbCell2.cpp:392
int WipePeak(int iv[2], int ir[2])
Definition: EdbCell2.cpp:461
TArrayF eMean3
Definition: EdbCell2.h:109
void InitPeaks(int npeaks)
Definition: EdbCell2.cpp:380
int FindPeak(int iv[2])
Definition: EdbCell2.cpp:498
float Peak(int i=0) const
Definition: EdbCell2.h:140
TH2F * DrawH2N(const char *name="xyN", const char *title="EdbH2plot2D")
Definition: EdbCell2.cpp:353
float ProbPeak()
Definition: EdbCell2.cpp:411
EdbPeak2()
Definition: EdbCell2.h:116
float Smooth(Option_t *option="k5a")
Definition: EdbCell2.cpp:252
EdbPeak2(const EdbH2 &h)
Definition: EdbCell2.h:117
void Delete()
Definition: EdbCell2.cpp:365
float FindPeak9(float &x, float &y)
Definition: EdbCell2.cpp:473
int nx
Definition: emthickness.cpp:60
int ny
Definition: emthickness.cpp:62
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24
void r(int rid=2)
Definition: test.C:201