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