]>
Commit | Line | Data |
---|---|---|
bce9493b | 1 | #ifndef ALIANALYSISTASKEMCALTRIGGERQA_H |
2 | #define ALIANALYSISTASKEMCALTRIGGERQA_H | |
3 | ||
cd231d42 | 4 | // $Id$ |
bce9493b | 5 | |
6 | //--- Root --- | |
7 | class TList; | |
ec77a234 | 8 | class TH1F; |
9 | class TH2I; | |
bce9493b | 10 | class TH2F; |
11 | class AliEMCALGeometry; | |
0d896539 | 12 | class TProfile2D; |
bce9493b | 13 | |
14 | //--- AliRoot --- | |
6bfd1538 | 15 | class AliEMCALRecoUtils; |
bce9493b | 16 | #include "AliEMCALGeoParams.h" |
17 | #include "AliAnalysisTaskSE.h" | |
18 | ||
19 | class AliAnalysisTaskEMCALTriggerQA : public AliAnalysisTaskSE | |
20 | { | |
21 | public: | |
22 | AliAnalysisTaskEMCALTriggerQA(); // default constructor | |
23 | ||
24 | AliAnalysisTaskEMCALTriggerQA(const char *name); // named constructor | |
25 | ||
a40222c8 | 26 | virtual ~AliAnalysisTaskEMCALTriggerQA() { ; } // destructor |
bce9493b | 27 | |
31a3f95a | 28 | void FillClusterHistograms(const Int_t triggerNumber, const Bool_t maxCluster, |
29 | const Float_t e,const Float_t eta,const Float_t phi, | |
8d976bce | 30 | const Float_t ietamax,const Float_t iphimax, |
31a3f95a | 31 | const Float_t centrality, const Float_t v0AC); |
bce9493b | 32 | |
31a3f95a | 33 | void Init() ; |
34 | ||
35 | void InitHistogramArrays() ; | |
36 | ||
2b4e1cc5 | 37 | void LocalInit() { Init() ; } |
38 | ||
39 | void UserCreateOutputObjects(); | |
40 | ||
41 | void UserExec(Option_t *option); | |
42 | ||
43 | AliEMCALRecoUtils* GetRecoUtils() { if(!fRecoUtils) fRecoUtils = new AliEMCALRecoUtils ; | |
5685a6bb | 44 | return fRecoUtils ; } |
2b4e1cc5 | 45 | |
31a3f95a | 46 | void SetEtaPhiEnMin(Float_t en) { fEtaPhiEnMin = en ; } |
47 | ||
2b4e1cc5 | 48 | // OADB and geometry settings |
49 | ||
50 | void InitGeometry(); | |
bce9493b | 51 | |
2b4e1cc5 | 52 | void SetGeometryName(TString name) { fGeoName = name ; } |
bce9493b | 53 | |
2b4e1cc5 | 54 | void AccessOADB() ; |
55 | ||
56 | void SwitchOnEMCALOADB() { fAccessOADB = kTRUE ; } | |
57 | void SwitchOffEMCALOADB() { fAccessOADB = kFALSE ; } | |
58 | ||
59 | void SetOADBFilePath(TString path) { fOADBFilePath = path ; } | |
6bfd1538 | 60 | |
85196c29 | 61 | //Histogram setters |
31a3f95a | 62 | |
85196c29 | 63 | void SetTRUTotalSignalHistogramsRange(Int_t nbins, Float_t max) { fNBinsTRUSignal = nbins; fMaxTRUSignal = max ; } |
64 | void SetSTUTotalSignalHistogramsRange(Int_t nbins, Float_t max) { fNBinsSTUSignal = nbins; fMaxSTUSignal = max ; } | |
65 | void SetV0TotalSignalHistogramsRange (Int_t nbins, Float_t max) { fNBinsV0Signal = nbins; fMaxV0Signal = max ; } | |
66 | void SetSTUFEERatioHistogramsRange (Int_t nbins, Float_t max) { fNBinsSTUFEERatio = nbins; fMaxSTUFEERatio = max ; } | |
67 | void SetSTUTRURatioHistogramsRange (Int_t nbins, Float_t max) { fNBinsSTUTRURatio = nbins; fMaxSTUFEERatio = max ; } | |
8a50a36c | 68 | void SetClusterEHistogramsRange (Int_t nbins, Float_t max) { fNBinsClusterE = nbins; fMaxClusterE = max ; } |
31a3f95a | 69 | |
bce9493b | 70 | private: |
0d896539 | 71 | TList *fOutputList; //! Output list |
72 | ||
ec77a234 | 73 | AliEMCALRecoUtils *fRecoUtils; // RecoUtils |
74 | ||
2b4e1cc5 | 75 | Bool_t fGeoSet ; // Geometry already set |
0d896539 | 76 | AliEMCALGeometry *fGeometry; // Access to EMCAL geometry utils |
77 | TString fGeoName; // Name of geometry used | |
78 | ||
2b4e1cc5 | 79 | Bool_t fOADBSet ; // AODB parameters already set |
80 | Bool_t fAccessOADB ; // Get calibration from OADB for EMCAL | |
81 | TString fOADBFilePath ; // Default path $ALICE_ROOT/OADB/EMCAL, if needed change | |
82 | ||
31a3f95a | 83 | Int_t fBitEGA; // fBitEGA |
84 | Int_t fBitEJE; // fBitEJE | |
85 | ||
86 | Float_t fEtaPhiEnMin; // Min energy for Eta/Phi histograms | |
87 | ||
0d896539 | 88 | TH1F *fhNEvents; //! Number of selected events |
89 | TH2F *fhFORAmp; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column | |
90 | TH2F *fhFORAmpL1G; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Gamma trigger event | |
91 | TH2F *fhFORAmpL1J; //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Jet trigger event | |
92 | TH2F *fhL0Amp; //! FALTRO signal per Row and Column for FOR involves L0 patch | |
93 | TH2F *fhL0AmpL1G; //! FALTRO signal per Row and Column for FOR involves L0 patch, with L1G trigger event | |
94 | TH2F *fhL0AmpL1J; //! FALTRO signal per Row and Column for FOR involves L0 patch, with L1J trigger event | |
95 | TH2F *fhL1Amp; //! STU signal per Row and Column for FOR involves L0 patch | |
96 | TH2F *fhL1GAmp; //! STU signal per Row and Column for FOR position of L1 Gamma patch (top-left) | |
97 | TH2F *fhL1JAmp; //! STU signal per Row and Column for FOR position of L1 Jet patch (top-left) | |
98 | TH2F *fhL0Patch; //! FOR with L0 patch associated | |
99 | TH2F *fhL1GPatch; //! FOR with L1 Gamma patch associated | |
100 | TH2F *fhL1JPatch; //! FOR with L1 Jet patch associated | |
101 | TH2F *fhFEESTU; //! Correlation FEE vs STU | |
102 | TH2F *fhTRUSTU; //! Correlation TRU vs STU | |
103 | TH2I *fhV0STU; //! Total signal STU vs V0C+V0S | |
ec77a234 | 104 | |
105 | TH2F *fhGPMaxVV0TT; //! V0 signal vs maximum gamma L1 patch | |
106 | TH2F *fhJPMaxVV0TT; //! V0 signal vs maximum jet L1 patch | |
107 | TProfile2D *fhFORMeanAmp; //! Mean FastOR(FEE) signal per Row and Column | |
108 | TProfile2D *fhL0MeanAmp; //! Mean FastOR(TRU) signal per Row and Column | |
109 | TProfile2D *fhL1MeanAmp; //! Mean FastOR(STU) signal per Row and Column | |
31a3f95a | 110 | TH1F *fhV0[8]; //! V0 distribution for a triggered event |
ec77a234 | 111 | TH2F *fhL1GPatchMax; //! FOR of max. amplitude patch with L1 Gamma patch associated |
112 | TH2F *fhL1JPatchMax; //! FOR of max. amplitude patch with L1 Jet patch associated | |
113 | ||
114 | // Cluster vs trigger histograms | |
31a3f95a | 115 | enum triggerType{kMBTrig = 0, kL0Trig = 1, kL1GammaTrig = 2, kL1JetTrig = 3, kL1GammaOnlyTrig = 4, kL1JetOnlyTrig = 5, kCentralTrig = 6, kSemiCentralTrig = 7 }; |
ec77a234 | 116 | |
31a3f95a | 117 | TH1F *fhClusMBPure[3]; //! Clusters E distribution for pure MB trigger |
118 | TH1F *fhClusMaxMBPure[3]; //! Maximum E Cluster per event distribution for pure MB trigger | |
ec77a234 | 119 | |
31a3f95a | 120 | TH1F *fhClus[8]; //! Clusters E distribution for a trigger |
121 | TH1F *fhClusMax[8]; //! Maximum E Cluster per event distribution for MB trigger | |
122 | ||
123 | TH2F *fhClusCen[8]; //! Clusters Centrality vs E distribution for a trigger | |
124 | TH2F *fhClusCenMax[8]; //! Maximum E Cluster vs Centrality per event distribution for a trigger | |
ec77a234 | 125 | |
31a3f95a | 126 | TH2F *fhClusV0[8]; //! Clusters V0 vs E distribution for a trigger |
127 | TH2F *fhClusV0Max[8]; //! Maximum E Cluster vs Centrality per event distribution for a trigger | |
ec77a234 | 128 | |
31a3f95a | 129 | TH2F *fhClusEta[8]; //! Clusters eta vs E distribution for a trigger |
130 | TH2F *fhClusEtaMax[8]; //! Maximum E Cluster vs Eta per event distribution for a trigger | |
131 | ||
132 | TH2F *fhClusPhi[8]; //! Clusters Phi vs E distribution for a trigger | |
133 | TH2F *fhClusPhiMax[8]; //! Maximum E Cluster vs Phi per event distribution for a trigger | |
134 | ||
135 | TH2F *fhClusEtaPhiHigh[8]; //! Clusters eta vs phi distribution for a trigger, energy above 10 GeV | |
136 | TH2F *fhClusEtaPhiHighCluMax[8]; //! Maximum E Cluster, Phi vs Eta per event distribution for a trigger, energy above 10 GeV | |
137 | ||
138 | TH2F *fhClusEtaPhiHighCellMax[8]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy above 10 GeV | |
139 | TH2F *fhClusEtaPhiHighCellMaxCluMax[8]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy above 10 GeV | |
140 | ||
141 | TH2F *fhClusEtaPhiLow[8]; //! Clusters eta vs phi distribution for MB trigger, energy below 10 GeV | |
142 | TH2F *fhClusEtaPhiLowCluMax[8]; //! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy below 10 GeV | |
143 | ||
144 | TH2F *fhClusEtaPhiLowCellMax[8]; //! Clusters maximum energy cell index eta vs phi distribution for MB trigger, energy below 10 GeV | |
145 | TH2F *fhClusEtaPhiLowCellMaxCluMax[8]; //! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger, energy below 10 GeV | |
ec77a234 | 146 | |
ec77a234 | 147 | // Histograms bins |
148 | ||
149 | Int_t fNBinsSTUSignal ; // Number of bins for STU total signal histograms | |
150 | Float_t fMaxSTUSignal ; // Maximum value for TRU total signal histograms | |
151 | Int_t fNBinsTRUSignal ; // Number of bins for TRU total signal histograms | |
152 | Float_t fMaxTRUSignal ; // Maximum value for TRU total signal histograms | |
153 | Int_t fNBinsV0Signal ; // Number of bins for V0 total signal histograms | |
154 | Float_t fMaxV0Signal ; // Maximum value for V0 total signal histograms | |
155 | Int_t fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms | |
156 | Float_t fMaxSTUFEERatio ; // Maximum value for STU/FEE ratios histograms | |
157 | Int_t fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms | |
158 | Float_t fMaxSTUTRURatio ; // Maximum value for STU/TRU ratios histograms | |
159 | Int_t fNBinsClusterE ; // Number of bins for E cluster histograms | |
160 | Float_t fMaxClusterE ; // Maximum value for E cluster histograms | |
161 | ||
bce9493b | 162 | //Constants needed by the class: EMCAL |
00ff0079 | 163 | static const int fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; // total number |
164 | // of fake altro rows in EMCAL | |
85196c29 | 165 | // (ALTRO channels in one SM times 5 SM divided by 2 per FALTRO) |
bce9493b | 166 | |
00ff0079 | 167 | static const int fgkFALTROCols = AliEMCALGeoParams::fgkEMCALCols; // total number of fake altro columns in EMCAL |
85196c29 | 168 | // (ALTRO channels in one SM times 2 SM divided by 2 per FALTRO) |
bce9493b | 169 | |
170 | ||
2b4e1cc5 | 171 | AliAnalysisTaskEMCALTriggerQA (const AliAnalysisTaskEMCALTriggerQA&); // not implemented |
bce9493b | 172 | |
2b4e1cc5 | 173 | AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); // not implemented |
bce9493b | 174 | |
31a3f95a | 175 | ClassDef(AliAnalysisTaskEMCALTriggerQA, 11); |
bce9493b | 176 | }; |
177 | ||
178 | #endif |