]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCCalibKr.h
Update variable description file
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibKr.h
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
60 private:\r
61 \r
62   Bool_t fASide;              //! Only A side\r
63   Bool_t fCSide;              //! Only C side \r
64   TObjArray fHistoKrArray;    //  Calibration histograms for Kr distribution\r
65 \r
66   Float_t fADCOverClustSizeMin; // min ADCcluster over Cluster size ratio\r
67   Float_t fADCOverClustSizeMax; // max ADCcluster over Cluster size ratio\r
68   Float_t fMaxADCOverClustADCMin; // min MaxADC over ADCcluster ratio \r
69   Float_t fMaxADCOverClustADCMax; // max MaxADC over ADCcluster ratio\r
70   Float_t fTimeMin; // min time bin for MaxADC\r
71   Float_t fTimeMax; // max time bin for MaxADC\r
72   Float_t fClustSizeMin; // min cluster size\r
73   Float_t fClustSizeMax; // max cluster size\r
74 \r
75   Float_t fTimebinRmsIrocMin; // min Timebin RMS for IROCs\r
76   Float_t fPadRmsIrocMin; // min Pad RMS for IROCs\r
77   Float_t fRowRmsIrocMin; // min Row RMS for IROCs\r
78   Short_t fClusterPadSize1DIrocMax; // max size of cluster in pad dir. for IROCs \r
79   Float_t fCurveCoefficientIroc; // A coefficient in curve function for IROCs\r
80 \r
81   Float_t fTimebinRmsOrocMin; // min Timebin RMS for OROCs\r
82   Float_t fPadRmsOrocMin; // min Pad RMS for OROCs\r
83   Float_t fRowRmsOrocMin; // min Row RMS for OROCs\r
84   Short_t fClusterPadSize1DOrocMax; // max size of cluster in pad dir. for OROCs \r
85   Float_t fCurveCoefficientOroc; // A coefficient in curve function for OROCs\r
86 \r
87 \r
88 public:\r
89   ClassDef(AliTPCCalibKr, 2)  // Implementation of the TPC krypton calibration\r
90 };\r
91 \r
92 #endif\r
93 \r