AliPhysics  fc9925d (fc9925d)
 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 //------------------------------------------------------------------------
14 //------------------------------------------------------------------------//
15 
16 //--- Root ---
17 class TList;
18 class TH1F;
19 class TH2I;
20 class TH2F;
21 class AliEMCALGeometry;
22 class TProfile2D;
23 
24 //--- AliRoot ---
25 class AliEMCALRecoUtils;
26 #include "AliEMCALGeoParams.h"
27 #include "AliAnalysisTaskSE.h"
28 
30 {
31 public:
32 
33  AliAnalysisTaskEMCALTriggerQA(); // default constructor
34 
35  AliAnalysisTaskEMCALTriggerQA(const char *name); // named constructor
36 
37  virtual ~AliAnalysisTaskEMCALTriggerQA() { ; } // destructor
38 
39  void ClusterAnalysis();
40 
41  void FillCellMaps();
42 
43  void FillTriggerPatchMaps(TString triggerclasses);
44 
45  void FillClusterHistograms(Int_t triggerNumber, Bool_t maxCluster,
46  Float_t e,Float_t eta,Float_t phi,
47  Float_t ietamax,Float_t iphimax, Int_t sm,
48  Float_t centrality, Float_t v0AC);
49 
51 
53 
55 
57 
58  void FillMapHistograms();
59 
60  void FillV0Histograms();
61 
62  void Init() ;
63 
64  void InitHistogramArrays() ;
65 
66  void InitCellPatchMaps();
67 
68  void LocalInit() { Init() ; }
69 
71 
72  void UserExec(Option_t *option);
73 
74  AliEMCALRecoUtils* GetRecoUtils() { if(!fRecoUtils) fRecoUtils = new AliEMCALRecoUtils ;
75  return fRecoUtils ; }
76 
77  void SetEtaPhiEnMin(Float_t en) { fEtaPhiEnMin = en ; }
78 
80 
81  // OADB and geometry settings
82 
83  void InitGeometry();
84 
85  void SetGeometryName(TString name) { fGeoName = name ; }
86 
88  { fBitEGA = ega ; fBitEJE = eje; }
89 
90  void AccessOADB() ;
91 
92  void SwitchOnEMCALOADB() { fAccessOADB = kTRUE ; }
93  void SwitchOffEMCALOADB() { fAccessOADB = kFALSE ; }
94 
95  void SwitchOnMCData() { fMCData = kTRUE ; }
96  void SwitchOffMCData() { fMCData = kFALSE ; }
97 
100 
103 
106 
109 
110  void SetSuperModulesRange(Int_t min, Int_t max) { fFirstSM = min ; if(max < 20) fLastSM = max ; else fLastSM = 19 ; }
111 
113 
114  void SetOADBFilePath(TString path) { fOADBFilePath = path ; }
115 
116  // Histogram setters
117 
126  { fNBinsClusterPhi = nbins; fMaxClusterPhi = max ; fMinClusterPhi = min ; }
127 
128 private:
129 
131 
132  AliEMCALRecoUtils *fRecoUtils;
133 
135  AliEMCALGeometry *fGeometry;
137 
141 
144 
146 
152 
159 
162 
163  // Event by event trigger recognition bit
175 
178 
179  TLorentzVector fMomentum ;
180 
181  // Histograms
182 
183  TH1F *fhNEvents;
198 
216 
221  TH2I *fhV0STU;
222 
225  TProfile2D *fhFORMeanAmp;
226  TProfile2D *fhL0MeanAmp;
227  TProfile2D *fhL1MeanAmp;
232 
234  enum triggerType{ kMBTrig = 0,
235  kL0Trig = 1, kL0TrigD = 2,
248 
249  TH1F *fhClusMBPure[3];
250  TH1F *fhClusMaxMBPure[3];
251 
252  static const int fgkTriggerCombi = 27;
253 
256 
259 
262 
263  TH1F *fhClusSM [fgkTriggerCombi][20];
266 
269 
272 
275 
278 
281 
284 
287 
288  // Histograms bins
289 
290  Int_t fNBinsSTUSignal ; // Number of bins for STU total signal histograms
291  Float_t fMaxSTUSignal ; // Maximum value for TRU total signal histograms
292  Int_t fNBinsTRUSignal ; // Number of bins for TRU total signal histograms
293  Float_t fMaxTRUSignal ; // Maximum value for TRU total signal histograms
294  Int_t fNBinsV0Signal ; // Number of bins for V0 total signal histograms
295  Float_t fMaxV0Signal ; // Maximum value for V0 total signal histograms
296  Int_t fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms
297  Float_t fMaxSTUFEERatio ; // Maximum value for STU/FEE ratios histograms
298  Int_t fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms
299  Float_t fMaxSTUTRURatio ; // Maximum value for STU/TRU ratios histograms
300  Int_t fNBinsClusterE ; // Number of bins for E cluster histograms
301  Float_t fMaxClusterE ; // Maximum value for E cluster histograms
302  Int_t fNBinsClusterPhi ; // Number of bins for Phi cluster histograms
303  Float_t fMaxClusterPhi ; // Maximum value for Phi cluster histograms
304  Float_t fMinClusterPhi ; // Maximum value for Phi cluster histograms
305  Int_t fNBinsClusterEta ; // Number of bins for Eta cluster histograms
306  Float_t fMaxClusterEta ; // Maximum value for Eta cluster histograms
307 
308  //static const int fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; // total number
309 
311  static const int fgkFALTRORows = 104; // 60 //AliEMCALGeoParams::fgkEMCALSTURows-4;
312 
314  static const int fgkFALTROCols = AliEMCALGeoParams::fgkEMCALSTUCols;
315 
316  // cell, patch maps
330 
333 
336 
338  ClassDef(AliAnalysisTaskEMCALTriggerQA, 18) ;
340 
341 };
342 
343 #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)