]>
Commit | Line | Data |
---|---|---|
a148e064 | 1 | #ifndef AliAnaVZEROPbPb_cxx |
2 | #define AliAnaVZEROPbPb_cxx | |
3 | ||
4 | class TH1F; | |
5 | class TH2F; | |
6 | class AliESDEvent; | |
7 | ||
8 | #include "AliAnalysisTaskSE.h" | |
9 | ||
10 | class AliAnaVZEROPbPb : public AliAnalysisTaskSE { | |
11 | ||
12 | public: | |
13 | AliAnaVZEROPbPb(); | |
14 | AliAnaVZEROPbPb(const char *name); | |
15 | virtual ~AliAnaVZEROPbPb() {} | |
16 | ||
17 | virtual void UserCreateOutputObjects(); | |
18 | virtual void UserExec(Option_t *option); | |
19 | virtual void Terminate(Option_t *); | |
20 | ||
21 | virtual void Init(); | |
22 | ||
a148e064 | 23 | void SetClassesNames(const Char_t * names); |
aea8bf4d | 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); | |
a6d6c8ca | 29 | void SetZVertexCut(Float_t cut){fZvtxCut = cut;}; |
a148e064 | 30 | |
31 | void CreateQAHistos(); | |
32 | void CreateHistosPerL2Trigger(); | |
33 | ||
34 | void FillQAHistos(); | |
35 | void FillPerL2TriggerHistos(); | |
36 | ||
37 | TH1F* CreateHisto1D(const char* name, const char* title, Int_t nBins, Double_t xMin, Double_t xMax, | |
38 | const char* xLabel = NULL, const char* yLabel = NULL); | |
39 | TH2F* CreateHisto2D(const char* name, const char* title, Int_t nBinsX, Double_t xMin, Double_t xMax, | |
40 | Int_t nBinsY, Double_t yMin, Double_t yMax, | |
41 | const char* xLabel = NULL, const char* yLabel = NULL); | |
7b0ae030 | 42 | |
a148e064 | 43 | private: |
44 | AliESDEvent *fESD; //! ESD object | |
45 | AliESDVZERO* fEsdV0; | |
46 | TList *fOutputList; //! Output list | |
aea8bf4d | 47 | Int_t fNClasses; |
a148e064 | 48 | TObjArray *fClassesNames; |
49 | ||
50 | TH2F *fNFlags; //! | |
51 | ||
52 | TH1F *fhAdcNoTime[2]; // ADC spectra (no time measurement) | |
53 | TH1F *fhAdcWithTime[2]; // ADC spectra (with time measurement) | |
54 | ||
55 | TH2F *fhAdcPMTNoTime; // ADC spectra per PMT (no time measurement) | |
56 | TH2F *fhAdcPMTWithTime; // ADC spectra per PMT (with time measurement) | |
57 | ||
58 | TH1F *fhTime[2]; // Time spectra per side | |
59 | ||
60 | TH1F *fhWidth[2]; // Signal width per side | |
61 | ||
62 | TH2F *fhTimePMT; // Time spectra per PMT | |
63 | TH2F *fhWidthPMT; // Signal width per PMT | |
64 | ||
65 | TH2F *fhAdcWidth[2]; // ADC vs Signal width per side | |
66 | ||
67 | TH2F *fhTimeCorr; // Corrected mean time V0C vs V0A | |
68 | ||
69 | TH2F *fhAdcTime[2]; // ADC vs Time per side | |
70 | ||
71 | TH2F *fhPmtMult; // Number of fired PMTs in V0C vs V0A | |
72 | TH1F *fhV0ampl; // ADC spectra for both rings | |
73 | ||
74 | TH2F *fhEvents; // Event statistics histogram | |
75 | ||
76 | TH2F *fhVtxXYBB; // XY vertex for beam-beam events | |
77 | TH1F *fhVtxZBB; // Z vertex for beam-beam events | |
78 | TH2F *fhVtxXYBGA; // XY vertex for beam-gas (A side) events | |
79 | TH1F *fhVtxZBGA; // Z vertex for beam-gas (A side) events | |
80 | TH2F *fhVtxXYBGC; // XY vertex for beam-gas (C side) events | |
81 | TH1F *fhVtxZBGC; // Z vertex for beam-gas (C side) events | |
82 | ||
aea8bf4d | 83 | TH1F *fhL2Triggers; //! Triggers counting histo |
84 | TH2F **fhOnlineCharge; //! Online Charge (send to EMCAL) histo | |
85 | TH2F **fhRecoMult; //! Reconstructed Multiplicity V0A % V0C | |
1c8bbd7f | 86 | TH2F **fhRecoMultPMT; //! Reconstructed Multiplicity per PMT |
aea8bf4d | 87 | TH2F **fhV0vsSPDCentrality; //! Centrality V0 % SPD |
88 | TH1F **fhTriggerBits; //! 16 trigger bits | |
89 | TH1F **fhTotRecoMult; //! Total Reconstructed Multiplicity V0A + V0C | |
90 | TH1F **fhCentrality; //! Centrality V0 | |
91 | TH2F **fhEqualizedMult; //! Equalized Multiplicity per channel | |
92 | TH2F **fhEqualizedMultSum; //! Equalized Multiplicity V0A % V0C | |
93 | ||
c5c72a22 | 94 | Int_t fNBinTotMult; // number of bin of histo fhTotRecoMult |
95 | Float_t fTotMultMax; // max of histo fhTotRecoMult | |
aea8bf4d | 96 | |
c5c72a22 | 97 | Int_t fNBinMult; // number of bin of histo fhRecoMult |
98 | Float_t fV0AMultMax; // max VZERO-A of histo fhRecoMult | |
99 | Float_t fV0CMultMax; // max VZERO-C of histo fhRecoMult | |
aea8bf4d | 100 | |
c5c72a22 | 101 | Int_t fNBinOnlineCharge; // number of bin of histo fhOnlineCharge |
102 | Float_t fV0AOnlineChargeMax; // max VZERO-A of histo fhOnlineCharge | |
103 | Float_t fV0COnlineChargeMax; // max VZERO-C of histo fhOnlineCharge | |
aea8bf4d | 104 | |
c5c72a22 | 105 | Int_t fNBinEquaMult; // number of bin of histo fhEqualizedMult |
106 | Float_t fEquaMultMax; // max of histo fhEqualizedMult | |
aea8bf4d | 107 | |
c5c72a22 | 108 | Int_t fNBinSumsEqMult; // number of bin of histo fhEqualizedMultSum |
109 | Float_t fV0AEqMultMax; // max VZERO-A of histo fhEqualizedMultSum | |
110 | Float_t fV0CEqMultMax; // max VZERO-C of histo fhEqualizedMultSum | |
a148e064 | 111 | |
a6d6c8ca | 112 | Float_t fZvtxCut; // Z vertex cut |
113 | ||
a148e064 | 114 | AliAnaVZEROPbPb(const AliAnaVZEROPbPb&); // not implemented |
115 | AliAnaVZEROPbPb& operator=(const AliAnaVZEROPbPb&); // not implemented | |
116 | ||
a6d6c8ca | 117 | ClassDef(AliAnaVZEROPbPb, 3); |
a148e064 | 118 | }; |
119 | ||
120 | #endif |