]>
Commit | Line | Data |
---|---|---|
9a1e27fe | 1 | #ifndef ALITPCCLUSTERERKR_H |
2 | #define ALITPCCLUSTERERKR_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTPCclusterKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */ | |
7 | ||
8 | //------------------------------------------------------- | |
422897da | 9 | // TPC Kr Clusterer Class |
9a1e27fe | 10 | // |
11 | // Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl | |
12 | //------------------------------------------------------- | |
13 | ||
9a1e27fe | 14 | #include "TObject.h" |
422897da | 15 | |
16 | class AliTPCclusterKr; | |
17 | class AliPadMax; | |
18 | class AliSimDigits; | |
19 | class AliTPCv4; | |
20 | class AliTPCParam; | |
21 | class AliTPCDigitsArray; | |
22 | class AliTPCvtpr; | |
23 | class AliTPCClustersRow; | |
24 | class TTree; | |
25 | class TH1F; | |
26 | class TH2F; | |
9a1e27fe | 27 | |
87ef42d4 | 28 | class AliTPCTransform; |
29 | ||
9a1e27fe | 30 | //used in raw data finder |
422897da | 31 | class AliTPCROC; |
32 | class AliTPCCalPad; | |
33 | class AliTPCAltroMapping; | |
34 | class AliTPCcalibDB; | |
35 | class AliTPCRawStream; | |
36 | class AliTPCRecoParam; | |
37 | class AliTPCReconstructor; | |
38 | class AliRawReader; | |
39 | class AliTPCCalROC; | |
26a97212 | 40 | class TTreeSRedirector; |
9a1e27fe | 41 | //_____________________________________________________________________________ |
42 | class AliTPCclustererKr: public TObject{ | |
43 | public: | |
44 | AliTPCclustererKr(); | |
45 | AliTPCclustererKr(const AliTPCclustererKr ¶m);//copy constructor | |
46 | AliTPCclustererKr &operator = (const AliTPCclustererKr & param); | |
422897da | 47 | virtual ~AliTPCclustererKr(); |
9a1e27fe | 48 | |
49 | //finders | |
422897da | 50 | virtual Int_t FinderIO();//for MC |
51 | virtual Int_t FinderIO(AliRawReader* rawReader);//for data | |
52 | virtual Int_t FindClusterKrIO();//main routine for finding clusters | |
b67657b5 | 53 | |
54 | //other | |
557ab431 | 55 | void GetXY(Int_t sec,Int_t row,Int_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad |
9a1e27fe | 56 | |
57 | virtual void SetInput(TTree * tree); //set input tree with digits | |
58 | virtual void SetOutput(TTree * tree); //set output tree with clusters | |
422897da | 59 | virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters |
60 | virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits | |
61 | virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters | |
9a1e27fe | 62 | |
422897da | 63 | |
9a1e27fe | 64 | |
b67657b5 | 65 | //setters for cluster finder parameters |
422897da | 66 | virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter |
557ab431 | 67 | virtual void SetFirstBin(Int_t v){fFirstBin=v;}//set first considered timebin |
68 | virtual void SetLastBin(Int_t v){fLastBin=v;}//set last considered timebin | |
422897da | 69 | virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value |
70 | virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma | |
71 | ||
557ab431 | 72 | virtual void SetMinAdc(Int_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc |
73 | virtual void SetMinTimeBins(Int_t v){fMinTimeBins=v;}//set fMinTimeBins | |
74 | // virtual void SetMaxPadRange(Int_t v){fMaxPadRange=v;}//set fMaxPadRange | |
75 | // virtual void SetMaxRowRange(Int_t v){fMaxRowRange=v;}//set fMaxRowRange | |
76 | virtual void SetMaxTimeRange(Int_t v){fMaxTimeRange=v;}//set fMaxTimeRange | |
422897da | 77 | virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize |
78 | ||
79 | virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm | |
80 | virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm | |
81 | ||
82 | virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;} | |
83 | //debug = 0 to 71 -sector number to print | |
84 | // = 72 - all sectors | |
85 | // = 73 - inners | |
86 | // = 74 - outers | |
87 | ||
88 | virtual void SetHistoRow(TH1F *histo) {fHistoRow =histo;} | |
89 | virtual void SetHistoPad(TH1F *histo) {fHistoPad =histo;} | |
90 | virtual void SetHistoTime(TH1F *histo) {fHistoTime =histo;} | |
91 | virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;} | |
b67657b5 | 92 | |
93 | //getters for cluster finder parameters | |
422897da | 94 | Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter |
557ab431 | 95 | Int_t GetFirstBin() const {return fFirstBin;}//get first considered timebin |
96 | Int_t GetLastBin() const {return fLastBin;}//get last considered timebin | |
422897da | 97 | Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value |
98 | Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma | |
99 | ||
557ab431 | 100 | Int_t GetMinAdc() const {return fMinAdc;}//get fMinAdc |
101 | Int_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins | |
102 | // Int_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange | |
103 | // Int_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange | |
104 | Int_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange | |
422897da | 105 | Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize |
106 | ||
107 | Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm | |
108 | Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm | |
109 | ||
110 | Int_t GetDebugLevel() const {return fDebugLevel;} | |
111 | TH1F * GetHistoRow(){return fHistoRow;} | |
112 | TH1F * GetHistoPad(){return fHistoPad;} | |
113 | TH1F * GetHistoTime(){return fHistoTime;} | |
114 | TH2F * GetHistoRowPad(){return fHistoRowPad;} | |
115 | ||
9a1e27fe | 116 | private: |
557ab431 | 117 | void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter); |
422897da | 118 | Bool_t fRawData; //flag =0 for MC =1 for real data |
422897da | 119 | |
9a1e27fe | 120 | TTree * fInput; //!input tree with digits - object not owner |
26a97212 | 121 | TTreeSRedirector * fOutput; //!output tree with clusters - object not owner |
122 | ||
9a1e27fe | 123 | AliTPCParam * fParam;//!TPC parameters |
124 | AliTPCDigitsArray *fDigarr;//! pointer to current array if digits | |
125 | ||
126 | //only for raw data :) | |
127 | const AliTPCRecoParam * fRecoParam; //! reconstruction parameters | |
9a1e27fe | 128 | |
b67657b5 | 129 | //cluster finder parameters |
130 | Int_t fZeroSup;//zero suppresion parameter = 2 def. | |
557ab431 | 131 | Int_t fFirstBin;//first considered time bin used by cluster finder = 60 def. |
132 | Int_t fLastBin;//last considered time bin used by cluster finder = 950 def. | |
b67657b5 | 133 | Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def. |
134 | Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def. | |
135 | ||
557ab431 | 136 | Int_t fMinAdc;//minimal value of acd count in each timebin = 3 def. |
137 | Int_t fMinTimeBins;//minimal value of time bins one after each other = 2 def. | |
138 | // Int_t fMaxPadRange;//maximal pad range from maximum = 4 def. | |
139 | // Int_t fMaxRowRange;//maximal row range from maximum = 3 def. | |
140 | Int_t fMaxTimeRange;//maximal time bin range from maximum = 7 def. | |
b67657b5 | 141 | Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def. |
142 | ||
143 | Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def. | |
144 | Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def. | |
145 | ||
422897da | 146 | Int_t fDebugLevel;//! debug level variable |
147 | TH1F *fHistoRow;//!debug histo for rows | |
148 | TH1F *fHistoPad;//!debug histo for pads | |
149 | TH1F *fHistoTime;//!debug histo for timebins | |
150 | TH2F *fHistoRowPad;//!debug histo for rows and pads | |
151 | ||
87ef42d4 | 152 | ClassDef(AliTPCclustererKr,6) // Time Projection Chamber Kr clusters |
9a1e27fe | 153 | }; |
154 | ||
155 | ||
156 | #endif | |
157 | ||
158 |