]>
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 | //------------------------------------------------------- | |
9 | // TPC Kr Cluster Class | |
10 | // | |
11 | // Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl | |
12 | //------------------------------------------------------- | |
13 | ||
14 | #include "AliTPCclusterKr.h" | |
15 | #include <vector> | |
16 | #include "TObject.h" | |
17 | #include "AliPadMax.h" | |
18 | #include "AliSimDigits.h" | |
19 | #include "AliTPCv4.h" | |
20 | #include "AliTPCParam.h" | |
21 | #include "AliTPCDigitsArray.h" | |
22 | #include "AliTPCvtpr.h" | |
23 | #include "AliTPCClustersRow.h" | |
24 | #include "TTree.h" | |
25 | ||
26 | //used in raw data finder | |
27 | #include "AliTPCROC.h" | |
28 | #include "AliTPCCalPad.h" | |
29 | #include "AliTPCAltroMapping.h" | |
30 | #include "AliTPCcalibDB.h" | |
31 | #include "AliTPCRawStream.h" | |
32 | #include "AliTPCRecoParam.h" | |
33 | #include "AliTPCReconstructor.h" | |
34 | #include "AliRawReader.h" | |
35 | #include "AliTPCCalROC.h" | |
36 | ||
37 | //_____________________________________________________________________________ | |
38 | class AliTPCclustererKr: public TObject{ | |
39 | public: | |
40 | AliTPCclustererKr(); | |
41 | AliTPCclustererKr(const AliTPCclustererKr ¶m);//copy constructor | |
42 | AliTPCclustererKr &operator = (const AliTPCclustererKr & param); | |
43 | ~AliTPCclustererKr(); | |
44 | ||
45 | //finders | |
b67657b5 | 46 | Int_t FinderIO();//for MC |
47 | Int_t FinderIO(AliRawReader* rawReader);//for data | |
48 | Int_t FindClusterKrIO();//main routine for finding clusters | |
49 | ||
50 | //other | |
51 | void GetXY(Short_t sec,Short_t row,Short_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad | |
9a1e27fe | 52 | |
53 | virtual void SetInput(TTree * tree); //set input tree with digits | |
54 | virtual void SetOutput(TTree * tree); //set output tree with clusters | |
55 | ||
56 | void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters | |
57 | void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits | |
58 | void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters | |
59 | virtual void SetOldRCUFormat(Bool_t rcuFormat = kFALSE) | |
60 | { fIsOldRCUFormat = rcuFormat; }; | |
61 | ||
62 | Bool_t fRawData; //flague =0 for MC =1 for real data | |
63 | AliTPCClustersRow * fRowCl; //! current cluster row (used in rootuple fill) | |
64 | ||
b67657b5 | 65 | //setters for cluster finder parameters |
66 | void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter | |
67 | void SetFirstBin(Short_t v){fFirstBin=v;}//set first considered timebin | |
68 | void SetLastBin(Short_t v){fLastBin=v;}//set last considered timebin | |
69 | void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value | |
70 | void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma | |
71 | ||
72 | void SetMinAdc(Short_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc | |
73 | void SetMinTimeBins(Short_t v){fMinTimeBins=v;}//set fMinTimeBins | |
74 | // void SetMaxPadRange(Short_t v){fMaxPadRange=v;}//set fMaxPadRange | |
75 | // void SetMaxRowRange(Short_t v){fMaxRowRange=v;}//set fMaxRowRange | |
76 | void SetMaxTimeRange(Short_t v){fMaxTimeRange=v;}//set fMaxTimeRange | |
77 | void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize | |
78 | ||
79 | void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm | |
80 | void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm | |
81 | ||
82 | //getters for cluster finder parameters | |
83 | Int_t GetZeroSup(){return fZeroSup;}//get zero suppresion parameter | |
84 | Short_t GetFirstBin(){return fFirstBin;}//get first considered timebin | |
85 | Short_t GetLastBin(){return fLastBin;}//get last considered timebin | |
86 | Float_t GetMaxNoiseAbs(){return fMaxNoiseAbs;}//get maximal noise value | |
87 | Float_t GetMaxNoiseSigma(){return fMaxNoiseSigma;}//get maximal noise sigma | |
88 | ||
89 | Short_t GetMinAdc(){return fMinAdc;}//get fMinAdc | |
90 | Short_t GetMinTimeBins(){return fMinTimeBins;}//get fMinTimeBins | |
91 | // Short_t GetMaxPadRange(){return fMaxPadRange;}//get fMaxPadRange | |
92 | // Short_t GetMaxRowRange(){return fMaxRowRange;}//get fMaxRowRange | |
93 | Short_t GetMaxTimeRange(){return fMaxTimeRange;}//get fMaxTimeRange | |
94 | Float_t GetValueToSize(){return fValueToSize;}//get fValueToSize | |
95 | ||
96 | Double_t GetMaxPadRangeCm(){return fMaxPadRangeCm;}//get fMaxPadRangeCm | |
97 | Double_t GetMaxRowRangeCm(){return fMaxRowRangeCm;}//get fMaxRowRangeCm | |
98 | ||
9a1e27fe | 99 | private: |
100 | TTree * fInput; //!input tree with digits - object not owner | |
101 | TTree * fOutput; //!output tree with clusters - object not owner | |
102 | AliTPCParam * fParam;//!TPC parameters | |
103 | AliTPCDigitsArray *fDigarr;//! pointer to current array if digits | |
104 | ||
105 | //only for raw data :) | |
106 | const AliTPCRecoParam * fRecoParam; //! reconstruction parameters | |
107 | Bool_t fIsOldRCUFormat; // assume old RCU raw data format | |
9a1e27fe | 108 | |
b67657b5 | 109 | //cluster finder parameters |
110 | Int_t fZeroSup;//zero suppresion parameter = 2 def. | |
111 | Short_t fFirstBin;//first considered time bin used by cluster finder = 60 def. | |
112 | Short_t fLastBin;//last considered time bin used by cluster finder = 950 def. | |
113 | Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def. | |
114 | Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def. | |
115 | ||
116 | Short_t fMinAdc;//minimal value of acd count in each timebin = 3 def. | |
117 | Short_t fMinTimeBins;//minimal value of time bins one after each other = 2 def. | |
118 | // Short_t fMaxPadRange;//maximal pad range from maximum = 4 def. | |
119 | // Short_t fMaxRowRange;//maximal row range from maximum = 3 def. | |
120 | Short_t fMaxTimeRange;//maximal time bin range from maximum = 7 def. | |
121 | Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def. | |
122 | ||
123 | Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def. | |
124 | Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def. | |
125 | ||
126 | ClassDef(AliTPCclustererKr,2) // Time Projection Chamber Kr clusters | |
9a1e27fe | 127 | }; |
128 | ||
129 | ||
130 | #endif | |
131 | ||
132 |