]>
Commit | Line | Data |
---|---|---|
f6b58a9e | 1 | #ifndef ALITPCCALIBKR_H\r |
2 | #define ALITPCCALIBKR_H\r | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r | |
4 | * See cxx source for full Copyright notice */\r | |
5 | \r | |
6 | #include <TObject.h>\r | |
7 | #include <TObjArray.h>\r | |
8 | #include <TChain.h>\r | |
9 | #include <TTree.h>\r | |
10 | #include <TClonesArray.h>\r | |
11 | \r | |
12 | #include "AliTPCclusterKr.h"\r | |
13 | \r | |
14 | class TH3F;\r | |
15 | class TH1D;\r | |
16 | \r | |
17 | class AliTPCCalibKr : public TObject {\r | |
18 | \r | |
19 | public:\r | |
20 | AliTPCCalibKr();\r | |
21 | AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor\r | |
22 | virtual ~AliTPCCalibKr();\r | |
23 | \r | |
24 | AliTPCCalibKr& operator=(const AliTPCCalibKr&); \r | |
25 | \r | |
26 | //\r | |
27 | void Init();\r | |
28 | Bool_t Process(AliTPCclusterKr *cluster);\r | |
29 | Bool_t Accept(AliTPCclusterKr *cluster);\r | |
30 | Bool_t Update(AliTPCclusterKr *cluster);\r | |
31 | TH3F* CreateHisto(Int_t chamber);\r | |
32 | \r | |
33 | const TObjArray* GetHistoKrArray () {return &fHistoKrArray;} // get calibration object\r | |
34 | TH3F* GetHistoKr(Int_t sector) const; // get refernce histogram\r | |
35 | \r | |
36 | Bool_t IsCSide(Int_t chamber);\r | |
37 | Bool_t IsIROC(Int_t chamber);\r | |
38 | \r | |
39 | void Analyse();\r | |
40 | static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0);\r | |
41 | \r | |
42 | void SetASide(Bool_t bA = kTRUE) {fASide = bA;} // fill histo only A TPC side\r | |
43 | void SetBSide(Bool_t bC = kTRUE) {fCSide = bC;} // fill histo only C TPC side\r | |
44 | \r | |
45 | //Merge output objects (needed by PROOF)\r | |
46 | virtual Long64_t Merge(TCollection* list);\r | |
47 | \r | |
48 | // Setters\r | |
49 | void SetADCOverClustSizeRange(Float_t min=0.0,Float_t max=1.0e9) {fADCOverClustSizeMin = min ; fADCOverClustSizeMax = max; }\r | |
50 | void SetMaxADCOverClustADCRange(Float_t min=0.0,Float_t max=1.0e9) {fMaxADCOverClustADCMin = min ; fMaxADCOverClustADCMax = max; }\r | |
51 | void SetTimeRange(Float_t min=0.0, Float_t max=1.0e9) {fTimeMin = min ; fTimeMax = max; }\r | |
52 | void SetClustSizeRange(Float_t min=0.0, Float_t max=1.0e9) {fClustSizeMin = min ; fClustSizeMax = max; }\r | |
53 | \r | |
54 | void SetTimebinRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fTimebinRmsIrocMin = iroc ; fTimebinRmsOrocMin = oroc; }\r | |
55 | void SetPadRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fPadRmsIrocMin = iroc ; fPadRmsOrocMin = oroc; }\r | |
56 | void SetRowRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fRowRmsIrocMin = iroc ; fRowRmsOrocMin = oroc; }\r | |
57 | void SetClusterPadSize1DMax(Short_t iroc=200,Short_t oroc=200) {fClusterPadSize1DIrocMax = iroc ; fClusterPadSize1DOrocMax = oroc; }\r | |
58 | void SetCurveCoefficient(Float_t iroc=1.0e9,Float_t oroc=1.0e9) {fCurveCoefficientIroc = iroc ; fCurveCoefficientOroc = oroc; }\r | |
59 | \r | |
9aaef63e | 60 | void SetIrocHistogram(Int_t nbins=200,Float_t min=100,Float_t max=6000) {fIrocHistogramNbins = nbins ; fIrocHistogramMin = min ; fIrocHistogramMax = max; }\r |
61 | void SetOrocHistogram(Int_t nbins=200,Float_t min=100,Float_t max=5500) {fOrocHistogramNbins = nbins ; fOrocHistogramMin = min ; fOrocHistogramMax = max; }\r | |
62 | \r | |
63 | void SetRadius(UInt_t row=0, UInt_t pad=0) {fRowRadius = row ; fPadRadius = pad; }\r | |
64 | void SetStep(UInt_t row=1, UInt_t pad=1) {fRowStep = (row>=1?row:1) ; fPadStep = (pad>=1?pad:1) ; }\r | |
65 | \r | |
f6b58a9e | 66 | private:\r |
67 | \r | |
68 | Bool_t fASide; //! Only A side\r | |
69 | Bool_t fCSide; //! Only C side \r | |
70 | TObjArray fHistoKrArray; // Calibration histograms for Kr distribution\r | |
71 | \r | |
72 | Float_t fADCOverClustSizeMin; // min ADCcluster over Cluster size ratio\r | |
73 | Float_t fADCOverClustSizeMax; // max ADCcluster over Cluster size ratio\r | |
74 | Float_t fMaxADCOverClustADCMin; // min MaxADC over ADCcluster ratio \r | |
75 | Float_t fMaxADCOverClustADCMax; // max MaxADC over ADCcluster ratio\r | |
76 | Float_t fTimeMin; // min time bin for MaxADC\r | |
77 | Float_t fTimeMax; // max time bin for MaxADC\r | |
78 | Float_t fClustSizeMin; // min cluster size\r | |
79 | Float_t fClustSizeMax; // max cluster size\r | |
80 | \r | |
81 | Float_t fTimebinRmsIrocMin; // min Timebin RMS for IROCs\r | |
82 | Float_t fPadRmsIrocMin; // min Pad RMS for IROCs\r | |
83 | Float_t fRowRmsIrocMin; // min Row RMS for IROCs\r | |
84 | Short_t fClusterPadSize1DIrocMax; // max size of cluster in pad dir. for IROCs \r | |
85 | Float_t fCurveCoefficientIroc; // A coefficient in curve function for IROCs\r | |
86 | \r | |
87 | Float_t fTimebinRmsOrocMin; // min Timebin RMS for OROCs\r | |
88 | Float_t fPadRmsOrocMin; // min Pad RMS for OROCs\r | |
89 | Float_t fRowRmsOrocMin; // min Row RMS for OROCs\r | |
90 | Short_t fClusterPadSize1DOrocMax; // max size of cluster in pad dir. for OROCs \r | |
91 | Float_t fCurveCoefficientOroc; // A coefficient in curve function for OROCs\r | |
92 | \r | |
9aaef63e | 93 | Float_t fIrocHistogramMin; // minimal range of histogram for IROCs\r |
94 | Float_t fIrocHistogramMax; // maximal range of histogram for IROCs\r | |
95 | Int_t fIrocHistogramNbins; // number of bins in IROC histogram\r | |
96 | Float_t fOrocHistogramMin; // minimal range of histogram for OROCs\r | |
97 | Float_t fOrocHistogramMax; // maximal range of histogram for OROCs\r | |
98 | Int_t fOrocHistogramNbins; // number of bins in OROC histogram\r | |
99 | \r | |
100 | UInt_t fRowRadius; // window size around pad +/-; set to 0 for pad-by-pad calib\r | |
101 | UInt_t fPadRadius; // window size around pad +/-; set to 0 for pad-by-pad calib\r | |
102 | UInt_t fRowStep; // step size; set to 1 for finest granularity\r | |
103 | UInt_t fPadStep; // step size; set to 1 for finest granularity\r | |
104 | \r | |
105 | \r | |
f6b58a9e | 106 | \r |
107 | public:\r | |
9aaef63e | 108 | ClassDef(AliTPCCalibKr, 4) // Implementation of the TPC krypton calibration\r |
f6b58a9e | 109 | };\r |
110 | \r | |
111 | #endif\r | |
112 | \r |