1 #ifndef ALIANALYSISTASKSATR_H
2 #define ALIANALYSISTASKSATR_H
11 class AliCaloCalibPedestal;
12 class AliAnalysisTaskEMCALClusterizeFast;
14 const Float_t L0Calib = .065;
15 const Int_t L0Ampbins = 100;
16 const Float_t L0Amplow = 0;
17 const Float_t L0Ampup = 100;
18 const Int_t L0Timebins = 20;
19 const Float_t L0Timelow = 0;
20 const Float_t L0Timeup = 20;
21 const Int_t Ebins = 100;
22 const Float_t Elow = 0;
23 const Float_t Eup = 25;
24 const Int_t Ptbins = 200;
25 const Float_t Ptlow = 0;
26 const Float_t Ptup = 100;
27 const Int_t TOFbins = 100;
28 const Float_t TOFlow = 0;
29 const Float_t TOFup = 1e-6;
30 const Float_t L1Amplow = 0;
31 const Float_t L1Ampup = 400;
32 const Int_t L1Ampbins = 400;
33 const Int_t Indexesbins = 1440;
34 const Int_t Indexeslow = 0;
35 const Int_t Indexesup = 2880;
36 const Int_t nPhibins = 60;
37 const Int_t nPhilow = 0;
38 const Int_t nPhiup = 60;
39 const Int_t nEtabins = 48;
40 const Int_t nEtalow = 0;
41 const Int_t nEtaup = 48;
42 const Int_t RowTrgbins = 60;
43 const Int_t RowTrglow = 0;
44 const Int_t RowTrgup = 60;
45 const Int_t ColTrgbins = 48;
46 const Int_t ColTrglow = 0;
47 const Int_t ColTrgup = 48;
49 #include <AliAnalysisTaskSE.h>
51 class AliAnalysisTaskSATR : public AliAnalysisTaskSE {
53 AliAnalysisTaskSATR();
54 AliAnalysisTaskSATR(const char *name);
55 virtual ~AliAnalysisTaskSATR();
57 virtual void UserCreateOutputObjects();
58 virtual void UserExec(Option_t *option);
59 virtual void Terminate(Option_t *);
62 Bool_t GetCheckDeadClusters() const { return fCheckDeadClusters; }
63 AliCaloCalibPedestal* GetPedestal() const { return fPedestal; }
64 Bool_t GetTimeCutOn() const { return fTimeCutOn; }
66 void SetCheckDeadClusters(Bool_t c) { fCheckDeadClusters = c; }
67 void SetPedestal(AliCaloCalibPedestal *pds) { fPedestal = pds; }
68 void SetCaloClustersName(TString name) { fCaloClustersName = name; }
69 void SetTriggerClustersName(TString name) { fTriggerClustersName = name; }
70 void SetTimeCutOn(Bool_t yes) { fTimeCutOn = yes; }
71 void SetCutL0Amp(Float_t min = -1, Float_t max = 1000) { fMinCutL0Amp = min; fMaxCutL0Amp = max; }
72 void SetCutClusEnergy(Float_t min = -1, Float_t max = 100) { fMinCutClusEnergy = min; fMaxCutClusEnergy = max; }
73 void SetMinDistanceFromBadTower(Float_t d) { fMinDistanceFromBadTower = d; }
74 void SetClusterizer(AliAnalysisTaskEMCALClusterizeFast *c) { fClusterizer = c; }
75 void SetTriggerClusterizer(AliAnalysisTaskEMCALClusterizeFast *c) { fTriggerClusterizer = c; }
76 void SetLoadPed(Bool_t yes) { fLoadPed = yes; }
77 void SetOCDBPath(const TString &path) { fOCDBpath = path; }
78 void SetL0TimeCut(Int_t min, Int_t max) { fMinL0Time = min; fMaxL0Time = max; }
79 void SetClusTimeCut(Float_t min, Float_t max) { fMinClusTime = min; fMaxClusTime = max; }
82 AliVCluster* GetClusterFromId(TClonesArray *caloClusters, Int_t id);
84 TList *fOutput; // Output list
85 TH1F *fHistEclus; // Energy spectrum of clusters
87 TH2I *fHistEtavsPhiMaxClus;
88 TH2F *fHistEtavsEmaxClus;
89 TH2F *fHistPhivsEmaxClus;
90 TH2F *fHistTOFvsEclus;
91 TH2F *fHistTOFvsEclusC;
92 TH2F *fHistNcellsvsEclus;
95 TH1F *fHistAmpMaxTClus;
96 TH2I *fHistEtavsPhiMaxTClus;
98 TH2F *fHistEmaxClusvsAmpMaxTClus;
99 TH2F *fHistEmaxClusvsAmpMatchedTClus;
100 TH1F *fHistEmaxClusNotMatchingTClus;
101 TH2I *fHistEtavsPhiMaxClusNotMatchingTClus;
102 TH2F *fHistEmatchedClusvsAmpMaxTClus;
103 TH1F *fHistAmpMaxTClusNotMatchingClus;
104 TH2I *fHistEtavsPhiMaxTClusNotMatchingClus;
105 TH2I *fHistIdxMaxClusvsIdxMaxTClus;
106 TH2I *fHistPhiMaxClusvsPhiMaxTClus;
107 TH2I *fHistEtaMaxClusvsEtaMaxTClus;
108 TH2F *fHistTOFmaxClusvsTimeMaxTClus;
109 TH2F *fHistEmatchedClusvsAmpMatchedTClus;
110 TH1F *fHistEmatchedClus;
111 TH1F *fHistEmaxMatchedClus;
113 TH1F *fHistAmpL1TimeSum;
114 TH1F *fHistAmpMaxL1TimeSum;
115 TH2F *fHistAmpMaxL1TimeSumVScent;
117 TH2F *fHistAmpFastORvsAmpL1TimeSum;
119 TH1F *fHistAmpFastOR;
120 TH1F *fHistAmpMaxFastOR;
121 TH1F *fHistTimeFastOR;
122 TH2I *fHistEtavsPhiFastOR;
123 TH2I *fHistEtavsPhiMaxFastOR;
124 TH1F *fHistTimeDispFastOR;
125 TH2F *fHistTimevsL0TimeFastOR;
126 TH1I *fHistNtimesFastOR;
130 TH2F *fHistTOFvsEcells;
131 TH2F *fHistTOFvsEcellsC;
133 TH2F *fHistEmaxCellvsAmpFastOR;
135 TString fCaloClustersName;
136 TString fTriggerClustersName;
137 Float_t fMinCutL0Amp;
138 Float_t fMaxCutL0Amp;
139 Float_t fMinCutClusEnergy;
140 Float_t fMaxCutClusEnergy;
144 Float_t fMinClusTime;
145 Float_t fMaxClusTime;
146 Bool_t fCheckDeadClusters;
147 AliCaloCalibPedestal *fPedestal;
149 TString fOCDBpath; // path with OCDB location
150 Float_t fMinDistanceFromBadTower;
151 AliAnalysisTaskEMCALClusterizeFast *fClusterizer;
152 AliAnalysisTaskEMCALClusterizeFast *fTriggerClusterizer;
157 AliAnalysisTaskSATR (const AliAnalysisTaskSATR&); // not implemented
158 AliAnalysisTaskSATR operator=(const AliAnalysisTaskSATR&); // not implemented
160 ClassDef(AliAnalysisTaskSATR, 1);