AliPhysics  4e47bdd (4e47bdd)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskEMCALTriggerQA.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKEMCALTRIGGERQA_H
2 #define ALIANALYSISTASKEMCALTRIGGERQA_H
3 
4 //------------------------------------------------------------------------
15 //------------------------------------------------------------------------//
16 
17 //--- Root ---
18 class TList;
19 class TH1F;
20 class TH2I;
21 class TH2F;
22 class AliEMCALGeometry;
23 class TProfile2D;
24 
25 //--- AliRoot ---
26 class AliEMCALRecoUtils;
27 #include "AliEMCALGeoParams.h"
28 #include "AliAnalysisTaskSE.h"
29 
31 {
32 public:
33 
34  AliAnalysisTaskEMCALTriggerQA(); // default constructor
35 
36  AliAnalysisTaskEMCALTriggerQA(const char *name); // named constructor
37 
38  virtual ~AliAnalysisTaskEMCALTriggerQA() { ; } // destructor
39 
40  void ClusterAnalysis();
41 
42  void FillCellMaps();
43 
44  void FillTriggerPatchMaps(TString triggerclasses);
45 
46  void FillClusterHistograms(Int_t triggerNumber, Bool_t maxCluster,
47  Float_t e,Float_t eta,Float_t phi,
48  Float_t ietamax,Float_t iphimax, Int_t sm,
49  Float_t centrality, Float_t v0AC);
50 
52 
54 
56 
58 
59  void FillMapHistograms();
60 
61  void FillV0Histograms();
62 
63  void Init() ;
64 
65  void InitHistogramArrays() ;
66 
67  void InitCellPatchMaps();
68 
69  void LocalInit() { Init() ; }
70 
72 
73  void UserExec(Option_t *option);
74 
75  AliEMCALRecoUtils* GetRecoUtils() { if(!fRecoUtils) fRecoUtils = new AliEMCALRecoUtils ;
76  return fRecoUtils ; }
77 
78  void SetEtaPhiEnMin(Float_t en) { fEtaPhiEnMin = en ; }
79 
81 
82  // OADB and geometry settings
83 
84  void InitGeometry();
85 
86  void SetGeometryName(TString name) { fGeoName = name ; }
87 
89  { fBitEGA = ega ; fBitEJE = eje; }
90 
91  void AccessOADB() ;
92 
93  void SwitchOnEMCALOADB() { fAccessOADB = kTRUE ; }
94  void SwitchOffEMCALOADB() { fAccessOADB = kFALSE ; }
95 
96  void SwitchOnMCData() { fMCData = kTRUE ; }
97  void SwitchOffMCData() { fMCData = kFALSE ; }
98 
101 
104 
107 
110 
111  void SetSuperModulesRange(Int_t min, Int_t max) { fFirstSM = min ; if(max < 20) fLastSM = max ; else fLastSM = 19 ; }
112 
114 
115  void SetOADBFilePath(TString path) { fOADBFilePath = path ; }
116 
117  // Histogram setters
118 
127  { fNBinsClusterPhi = nbins; fMaxClusterPhi = max ; fMinClusterPhi = min ; }
128 
129 private:
130 
132 
133  AliEMCALRecoUtils *fRecoUtils;
134 
136  AliEMCALGeometry *fGeometry;
138 
142 
145 
147 
153 
160 
163 
164  // Event by event trigger recognition bit
176 
179 
180  TLorentzVector fMomentum ;
181 
182  // Histograms
183 
184  TH1F *fhNEvents;
199 
217 
222  TH2I *fhV0STU;
223 
226  TProfile2D *fhFORMeanAmp;
227  TProfile2D *fhL0MeanAmp;
228  TProfile2D *fhL1MeanAmp;
233 
235  enum triggerType{ kMBTrig = 0,
236  kL0Trig = 1, kL0TrigD = 2,
249 
250  TH1F *fhClusMBPure[3];
251  TH1F *fhClusMaxMBPure[3];
252 
253  static const int fgkTriggerCombi = 27;
254 
257 
260 
263 
264  TH1F *fhClusSM [fgkTriggerCombi][20];
267 
270 
273 
276 
279 
282 
285 
288 
289  // Histograms bins
290 
291  Int_t fNBinsSTUSignal ; // Number of bins for STU total signal histograms
292  Float_t fMaxSTUSignal ; // Maximum value for TRU total signal histograms
293  Int_t fNBinsTRUSignal ; // Number of bins for TRU total signal histograms
294  Float_t fMaxTRUSignal ; // Maximum value for TRU total signal histograms
295  Int_t fNBinsV0Signal ; // Number of bins for V0 total signal histograms
296  Float_t fMaxV0Signal ; // Maximum value for V0 total signal histograms
297  Int_t fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms
298  Float_t fMaxSTUFEERatio ; // Maximum value for STU/FEE ratios histograms
299  Int_t fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms
300  Float_t fMaxSTUTRURatio ; // Maximum value for STU/TRU ratios histograms
301  Int_t fNBinsClusterE ; // Number of bins for E cluster histograms
302  Float_t fMaxClusterE ; // Maximum value for E cluster histograms
303  Int_t fNBinsClusterPhi ; // Number of bins for Phi cluster histograms
304  Float_t fMaxClusterPhi ; // Maximum value for Phi cluster histograms
305  Float_t fMinClusterPhi ; // Maximum value for Phi cluster histograms
306  Int_t fNBinsClusterEta ; // Number of bins for Eta cluster histograms
307  Float_t fMaxClusterEta ; // Maximum value for Eta cluster histograms
308 
309  //static const int fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; // total number
310 
312  static const int fgkFALTRORows = 104; // 60 //AliEMCALGeoParams::fgkEMCALSTURows-4;
313 
315  static const int fgkFALTROCols = AliEMCALGeoParams::fgkEMCALSTUCols;
316 
317  // cell, patch maps
331 
334 
337 
339  ClassDef(AliAnalysisTaskEMCALTriggerQA, 18) ;
341 
342 };
343 
344 #endif
Bool_t fEventSem
Bit for Semi Central events.
Bool_t fEventL1JD
Bit for L1 Jet 1 events, DCal.
TH2F * fhL0Amp
! FALTRO signal per Row and Column for FOR involves L0 patch
TH2F * fhL1Amp
! STU signal per Row and Column for FOR involves L0 patch
void FillTriggerPatchMaps(TString triggerclasses)
Fill L0, L1 patch arrays.
TH2F * fhClusCenSM[fgkTriggerCombi][20]
! Clusters Centrality vs E distribution for a trigger, per SM
TH2F * fhClusPhi[fgkTriggerCombi]
! Clusters Phi vs E distribution for a trigger
void UserCreateOutputObjects()
Init histograms and geometry.
TH2F * fhNPatchFake
! number of fake patchs per event vs. if all were fakes or not
TH2F * fhL1GPatchMax
! FOR of max. amplitude patch with L1 Gamma patch associated
static const int fgkFALTROCols
Total number of fake altro collumns in EMCAL, (ALTRO channels in one SM times 2 SM divided by 2 per F...
double Double_t
Definition: External.C:58
TH1F * fhClusMax[fgkTriggerCombi]
! Maximum E Cluster per event distribution for MB trigger
TH2F * fhClusV0[fgkTriggerCombi]
! Clusters V0 vs E distribution for a trigger
TH2F * fhNPatchNotFake
! number of non fake patchs per events vs. if all were fakes or not
Definition: External.C:236
AliAnalysisTaskEMCALTriggerQA & operator=(const AliAnalysisTaskEMCALTriggerQA &)
Assignment operator not implemented.
TH2F * fhClusPhiMax[fgkTriggerCombi]
! Maximum E Cluster vs Phi per event distribution for a trigger
void SetSTUTRURatioHistogramsRange(Int_t nbins, Float_t max)
void SetClusterPhiHistogramsRange(Int_t nbins, Float_t max, Float_t min)
TH2F * fhClusCenMax[fgkTriggerCombi]
! Maximum E Cluster vs Centrality per event distribution for a trigger
TH2F * fhL1JPatch
! FOR with L1 Jet patch associated
void FillV0Histograms()
Fill V0 histograms, only for ESDs.
TH2F * fhL1J2Patch
! FOR with L1 Jet patch associated
TProfile2D * fhFORMeanAmp
! Mean FastOR(FEE) signal per Row and Column
void AccessOADB()
Set the AODB bad channels at least once.
void FillL1JetPatchHistograms()
L1 jet trigger patches histograms.
void FillCorrelationHistograms()
FEE-TRU-STU correlation checks.
static const int fgkFALTRORows
Total number of fake altro rows in EMCAL, temporary, not considers DCal yet (ALTRO channels in one SM...
centrality
TH2F * fhClusEtaPhiHighCellMaxCluMax[fgkTriggerCombi]
! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger...
TH2F * fhClusEtaPhiHighCellMax[fgkTriggerCombi]
! Clusters maximum energy cell index eta vs phi distribution for a trigger, energy above fEtaPhiEnMin...
TList * list
TH2F * fhClusEtaPhiLowCellMax[fgkTriggerCombi]
! Clusters maximum energy cell index eta vs phi distribution for a trigger, energy below fEtaPhiEnMin...
void SetEventTriggerL1Bit(Int_t ega, Int_t eje)
TProfile2D * fhL0MeanAmp
! Mean FastOR(TRU) signal per Row and Column
TH2F * fhClusEta[fgkTriggerCombi]
! Clusters eta vs E distribution for a trigger
void FillEventCounterHistogram()
Fill a TH1 histogram, each bin corresponds to a even trigger type.
Bool_t fEventL1GD
Bit for L1 Gamma 1 events, DCal.
TH2F * fhClusEtaPhiHighCluMax[fgkTriggerCombi]
! Maximum E Cluster, Phi vs Eta per event distribution for a trigger, energy above fEtaPhiEnMin GeV ...
TH2F * fhL0AmpL1G
! FALTRO signal per Row and Column for FOR involves L0 patch, with L1G trigger event ...
TH2F * fhClusEtaPhiLowCellMaxCluMax[fgkTriggerCombi]
! Maximum E Cluster, maximum energy cell index Phi vs Eta per event distribution for MB trigger...
AliEMCALGeometry * fGeometry
Access to EMCAL geometry utils.
TH2F * fhL1JPatchMax
! FOR of max. amplitude patch with L1 Jet patch associated
TH1F * fhNEvents
! Number of selected events
AliEMCALRecoUtils * fRecoUtils
RecoUtils.
Double_t fMapTrigL1J2[fgkFALTRORows][fgkFALTROCols]
TH1F * fhL1GPatchAllFakeE
! Energy distrib of FOR forfake events, all patch energy
TH1F * fhL1GPatchNotFakeE
! Energy distrib of FOR for non fake events, all patch energy
TH2F * fhL1GAmp
! STU signal per Row and Column for FOR position of L1 Gamma patch (top-left)
TH2F * fhL0Patch
! FOR with L0 patch associated
TH1F * fhClusSM[fgkTriggerCombi][20]
! Clusters E distribution for a trigger, per SM
void SetClusterEHistogramsRange(Int_t nbins, Float_t max)
Double_t fMapTrigL0L1G[fgkFALTRORows][fgkFALTROCols]
TString fGeoName
Name of geometry used.
TH2F * fhL1JAmp
! STU signal per Row and Column for FOR position of L1 Jet patch (top-left)
TH2F * fhFORAmpL1G
! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Gamma trigger event...
Double_t fMapTrigL0[fgkFALTRORows][fgkFALTROCols]
TH1F * fhV0[fgkTriggerCombi]
! V0 distribution for a triggered event
Bool_t fAccessOADB
Get calibration from OADB for EMCAL.
TH2F * fhL1GPatchAllFakeMax
! FOR without any L1 Gamma patch associated with energy in the related cell, maximal energy patch : f...
void SetClusterEtaHistogramsRange(Int_t nbins, Float_t max)
TH1F * fhClusMBPure[3]
! Clusters E distribution for pure MB trigger
TH2F * fhL1G2Patch
! FOR with L1 Gamma patch associated
Float_t fTRUTotal
Sum of TRU amplitudes.
Double_t fMapTrigL1[fgkFALTRORows][fgkFALTROCols]
Double_t fMapTrigL1G[fgkFALTRORows][fgkFALTROCols]
TH2F * fhL0AmpL1J
! FALTRO signal per Row and Column for FOR involves L0 patch, with L1J trigger event ...
int Int_t
Definition: External.C:63
void Init()
Init analysis parameters not set before.
TH1F * fhClus[fgkTriggerCombi]
! Clusters E distribution for a trigger
TH2F * fhJPMaxVV0TT
! V0 signal vs maximum jet L1 patch
float Float_t
Definition: External.C:68
TH2F * fhTRUSTU
! Correlation TRU vs STU
TH1F * fhL1GPatchAllFakeMaxE
! Energy distrib FOR for fake events, patch of maximal energy
TString fCentEstimator
Centrality estimator string: V0M, TKL, FMD, ZEMvsZDC, ...
Bool_t fEventL1J2D
Bit for L1 JEt 2 events, DCal.
TH2F * fhClusEtaPhiLowCluMax[fgkTriggerCombi]
! Maximum E Cluster, Phi vs Eta per event distribution for MB trigger, energy below fEtaPhiEnMin GeV ...
TH2F * fhL1GPatchNotAllFakeMax
! FOR with at least one L1 Gamma patch associated with energy in the related cell, maximal energy patch : not fake events
TH2F * fhFORAmpL1J2
! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Jet2 trigger event ...
TH2F * fhL1GPatchAllFake
! FOR without any L1 Gamma patch associated with energy in the related cells: fake patch ...
TH1F * fhClusMaxMBPure[3]
! Maximum E Cluster per event distribution for pure MB trigger
Bool_t fUseAliCentrality
Use the centrality estimator from AliCentrality or AliMultSelection.
TH2F * fhClusEtaMax[fgkTriggerCombi]
! Maximum E Cluster vs Eta per event distribution for a trigger
Bool_t fEventL1J
Bit for L1 Jet 1 events.
TH2F * fhL1J2Amp
! STU signal per Row and Column for FOR position of L1 Jet2 patch (top-left)
TH2F * fhFEESTU
! Correlation FEE vs STU
Int_t fFirstSM
Fill SM histograms for SM >= fFirstSM.
TH2F * fhL1J2PatchMax
! FOR of max. amplitude patch with L1 Jet patch associated
void FillL1GammaPatchHistograms()
L1 Gamma trigger patches histograms.
TH2F * fhClusEtaPhiHigh[fgkTriggerCombi]
! Clusters eta vs phi distribution for a trigger, energy above fEtaPhiEnMin GeV
void FillClusterHistograms(Int_t triggerNumber, Bool_t maxCluster, Float_t e, Float_t eta, Float_t phi, Float_t ietamax, Float_t iphimax, Int_t sm, Float_t centrality, Float_t v0AC)
Bool_t fEventL1J2
Bit for L1 JEt 2 events.
TH2F * fhClusV0SM[fgkTriggerCombi][20]
! Clusters V0 vs E distribution for a trigger, per SM
Double_t fMapCellL1G[fgkFALTRORows][fgkFALTROCols]
static const int fgkTriggerCombi
Total number of trigger combinations defined above.
TH2F * fhClusCen[fgkTriggerCombi]
! Clusters Centrality vs E distribution for a trigger
Double_t fMapTrigL1G2[fgkFALTRORows][fgkFALTROCols]
void FillMapHistograms()
Matrix with signal per channel.
TH2F * fhL1G2PatchMax
! FOR of max. amplitude patch with L1 Gamma patch associated
TH1F * fhCentrality[fgkTriggerCombi]
! Centrality distribution for a triggered event
Bool_t fFillV0SigHisto
V0 signal creation and fill.
TH1F * fhL1GPatchNotAllFakeE
! Energy distrib of FOR for non fake events, all patch energy
TH2F * fhFORAmp
! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column
void InitHistogramArrays()
Histograms array initialization called in constructor.
Bool_t fEventL1G2D
Bit for L1 Gamma 2 events, DCal.
TProfile2D * fhL1MeanAmp
! Mean FastOR(STU) signal per Row and Column
Bool_t fFillClusAcceptHisto
Fill eta/phi distributions.
TH2I * fhV0STU
! Total signal STU vs V0C+V0S
Bool_t fEventL0D
Bit for L0 events, DCal.
TString fOADBFilePath
Default path $ALICE_PHYSICS/OADB/EMCAL, if needed change.
Bool_t fFillCenHisto
Centrality histograms creation and fill.
TLorentzVector fMomentum
Cluster kinematics, temporal, avoid recreation per event.
void SetV0TotalSignalHistogramsRange(Int_t nbins, Float_t max)
TH2F * fhL1GPatchNotFake
! FOR with L1 Gamma patch associated but no energy in the related cells
Int_t fLastSM
Fill SM histograms for SM <= fLastSM.
void SetTRUTotalSignalHistogramsRange(Int_t nbins, Float_t max)
Bool_t fEventL1G2
Bit for L1 Gamma 2 events.
TH2F * fhL1GPatchFake
! FOR with L1 Gamma patch associated
Double_t fMapCellL1J2[fgkFALTRORows][fgkFALTROCols]
Double_t fMapCellL1G2[fgkFALTRORows][fgkFALTROCols]
const char Option_t
Definition: External.C:48
void FillCellMaps()
Cells analysis. Fill FEE energy per channel array.
TH2F * fhClusEtaPhiLow[fgkTriggerCombi]
! Clusters eta vs phi distribution for a trigger, energy below fEtaPhiEnMin GeV
Float_t fV0Trigger
V0 signal from trigger.
TH2F * fhL1GPatchNotAllFake
! FOR with at least 1 L1 Gamma patch associated that has energy in the related celles : not a fake ev...
TH1F * fhL1GPatchNotAllFakeMaxE
! Energy distrib of FOR for non fake events, patch of maximal energy
const Int_t nbins
TH2F * fhGPMaxVV0TT
! V0 signal vs maximum gamma L1 patch
bool Bool_t
Definition: External.C:53
Float_t fEtaPhiEnMin
Min energy for Eta/Phi histograms.
Fill histograms with basic QA information for EMCAL offline trigger.
Bool_t fEventCen
Bit for Central events.
TH2F * fhClusV0Max[fgkTriggerCombi]
! Maximum E Cluster vs Centrality per event distribution for a trigger
TH2F * fhFORAmpL1J
! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Jet trigger event ...
void SetSuperModulesRange(Int_t min, Int_t max)
Double_t fMapCell[fgkFALTRORows][fgkFALTROCols]
TH2F * fhFORAmpL1G2
! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column, with L1 Gamma2 trigger even...
TH2F * fhL1FOREnergy
! STU signal per Row and Column for FOR position vs FOR energy
Double_t fMapTrigL0L1J[fgkFALTRORows][fgkFALTROCols]
Bool_t fOADBSet
AODB parameters already set.
TH2F * fhL1G2Amp
! STU signal per Row and Column for FOR position of L1 Gamma2 patch (top-left)
void SetTriggerEventBit(TString list)
Check what trigger is the event, set the corresponding bit.
Double_t fMapCellL1J[fgkFALTRORows][fgkFALTROCols]
void SetSTUTotalSignalHistogramsRange(Int_t nbins, Float_t max)
TH1F * fhL1GPatchFakeE
! Energy distrib of FOR for fake events, all patch energy
Double_t fMapTrigL1J[fgkFALTRORows][fgkFALTROCols]
Bool_t fEventL1G
Bit for L1 Gamma 1 events.
TH2F * fhL1GPatch
! FOR with L1 Gamma patch associated
void SetSTUFEERatioHistogramsRange(Int_t nbins, Float_t max)