1 #ifndef AliAnaVZEROPbPb_cxx
2 #define AliAnaVZEROPbPb_cxx
8 #include "AliAnalysisTaskSE.h"
10 class AliAnaVZEROPbPb : public AliAnalysisTaskSE {
14 AliAnaVZEROPbPb(const char *name);
15 virtual ~AliAnaVZEROPbPb() {}
17 virtual void UserCreateOutputObjects();
18 virtual void UserExec(Option_t *option);
19 virtual void Terminate(Option_t *);
23 void SetClassesNames(const Char_t * names);
24 void SetOnlineChargeRange(Int_t nbins, Float_t maxA, Float_t macC);
25 void SetTotalMultiplicityRange(Int_t nbins, Float_t max);
26 void SetMultiplicityRange(Int_t nbins, Float_t maxA, Float_t maxC);
27 void SetSumEquaMultRange(Int_t nbins, Float_t maxA, Float_t maxC);
28 void SetEquaMultRange(Int_t nbins, Float_t max);
30 void CreateQAHistos();
31 void CreateHistosPerL2Trigger();
34 void FillPerL2TriggerHistos();
36 TH1F* CreateHisto1D(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax,
37 const char* xLabel = NULL, const char* yLabel = NULL);
38 TH2F* CreateHisto2D(const char* name, const char* title, Int_t nBinsX, Double_t xMin, Double_t xMax,
39 Int_t nBinsY, Double_t yMin, Double_t yMax,
40 const char* xLabel = NULL, const char* yLabel = NULL);
43 AliESDEvent *fESD; //! ESD object
45 TList *fOutputList; //! Output list
47 TObjArray *fClassesNames;
51 TH1F *fhAdcNoTime[2]; // ADC spectra (no time measurement)
52 TH1F *fhAdcWithTime[2]; // ADC spectra (with time measurement)
54 TH2F *fhAdcPMTNoTime; // ADC spectra per PMT (no time measurement)
55 TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement)
57 TH1F *fhTime[2]; // Time spectra per side
59 TH1F *fhWidth[2]; // Signal width per side
61 TH2F *fhTimePMT; // Time spectra per PMT
62 TH2F *fhWidthPMT; // Signal width per PMT
64 TH2F *fhAdcWidth[2]; // ADC vs Signal width per side
66 TH2F *fhTimeCorr; // Corrected mean time V0C vs V0A
68 TH2F *fhAdcTime[2]; // ADC vs Time per side
70 TH2F *fhPmtMult; // Number of fired PMTs in V0C vs V0A
71 TH1F *fhV0ampl; // ADC spectra for both rings
73 TH2F *fhEvents; // Event statistics histogram
75 TH2F *fhVtxXYBB; // XY vertex for beam-beam events
76 TH1F *fhVtxZBB; // Z vertex for beam-beam events
77 TH2F *fhVtxXYBGA; // XY vertex for beam-gas (A side) events
78 TH1F *fhVtxZBGA; // Z vertex for beam-gas (A side) events
79 TH2F *fhVtxXYBGC; // XY vertex for beam-gas (C side) events
80 TH1F *fhVtxZBGC; // Z vertex for beam-gas (C side) events
82 TH1F *fhL2Triggers; //! Triggers counting histo
83 TH2F **fhOnlineCharge; //! Online Charge (send to EMCAL) histo
84 TH2F **fhRecoMult; //! Reconstructed Multiplicity V0A % V0C
85 TH2F **fhRecoMultPMT; //! Reconstructed Multiplicity per PMT
86 TH2F **fhV0vsSPDCentrality; //! Centrality V0 % SPD
87 TH1F **fhTriggerBits; //! 16 trigger bits
88 TH1F **fhTotRecoMult; //! Total Reconstructed Multiplicity V0A + V0C
89 TH1F **fhCentrality; //! Centrality V0
90 TH2F **fhEqualizedMult; //! Equalized Multiplicity per channel
91 TH2F **fhEqualizedMultSum; //! Equalized Multiplicity V0A % V0C
93 Int_t fNBinTotMult; //! number of bin of histo fhTotRecoMult
94 Float_t fTotMultMax; //! max of histo fhTotRecoMult
96 Int_t fNBinMult; //! number of bin of histo fhRecoMult
97 Float_t fV0AMultMax; //! max VZERO-A of histo fhRecoMult
98 Float_t fV0CMultMax; //! max VZERO-C of histo fhRecoMult
100 Int_t fNBinOnlineCharge; //! number of bin of histo fhOnlineCharge
101 Float_t fV0AOnlineChargeMax; //! max VZERO-A of histo fhOnlineCharge
102 Float_t fV0COnlineChargeMax; //! max VZERO-C of histo fhOnlineCharge
104 Int_t fNBinEquaMult; //! number of bin of histo fhEqualizedMult
105 Float_t fEquaMultMax; //! max of histo fhEqualizedMult
107 Int_t fNBinSumsEqMult; //! number of bin of histo fhEqualizedMultSum
108 Float_t fV0AEqMultMax; //! max VZERO-A of histo fhEqualizedMultSum
109 Float_t fV0CEqMultMax; //! max VZERO-C of histo fhEqualizedMultSum
111 AliAnaVZEROPbPb(const AliAnaVZEROPbPb&); // not implemented
112 AliAnaVZEROPbPb& operator=(const AliAnaVZEROPbPb&); // not implemented
114 ClassDef(AliAnaVZEROPbPb, 2);