]>
Commit | Line | Data |
---|---|---|
d87c9c78 | 1 | #ifndef ALIANALYSISTASKCLQA_H |
2 | #define ALIANALYSISTASKCLQA_H | |
3 | ||
b224703f | 4 | // $Id $ |
d87c9c78 | 5 | |
6 | class TClonesArray; | |
7 | class TString; | |
b34ce23b | 8 | class TH1; |
d87c9c78 | 9 | class TH1F; |
10 | class TH2F; | |
11 | class TH3F; | |
96a87a98 | 12 | class TNtuple; |
13 | class TNtupleD; | |
14 | class TTree; | |
d87c9c78 | 15 | |
9239b066 | 16 | #include "AliAnalysisTaskEmcal.h" |
d87c9c78 | 17 | |
96a87a98 | 18 | class AliNtupCumInfo; |
36adefe1 | 19 | class AliNtupZdcInfo; |
96a87a98 | 20 | |
9239b066 | 21 | class AliAnalysisTaskCLQA : public AliAnalysisTaskEmcal { |
d87c9c78 | 22 | public: |
23 | AliAnalysisTaskCLQA(); | |
24 | AliAnalysisTaskCLQA(const char *name); | |
25 | virtual ~AliAnalysisTaskCLQA(); | |
26 | ||
b34ce23b | 27 | void SetCentCL1In(TH1 *h) { fCentCL1In = h; } |
28 | void SetCentV0AIn(TH1 *h) { fCentV0AIn = h; } | |
96a87a98 | 29 | void SetCumParams(Double_t Mmin, Double_t ptmin, Double_t ptmax, Double_t etamin, Double_t etamax); |
b34ce23b | 30 | void SetDoCumulants(Bool_t b) { fDoCumulants = b; } |
31 | void SetDoMuonTracking(Bool_t b) { fDoMuonTracking = b; } | |
32 | void SetDoTracking(Bool_t b) { fDoTracking = b; } | |
b224703f | 33 | void SetDo2013VertexCut(Bool_t b) { fDo2013VertexCut = b; } |
34 | ||
b34ce23b | 35 | void UserCreateOutputObjects(); |
d87c9c78 | 36 | |
37 | protected: | |
96a87a98 | 38 | Bool_t FillHistograms(); |
39 | Bool_t RetrieveEventObjects(); | |
40 | Bool_t Run(); | |
41 | void RunCumulants(Double_t Mmin, Double_t ptmin, Double_t ptmax, Double_t etamin, Double_t etamax); | |
d87c9c78 | 42 | |
b224703f | 43 | Bool_t fDo2013VertexCut; // if true then use 2013 pA vertex check (only if 2013 pPb run) |
b34ce23b | 44 | Bool_t fDoTracking; // if true run tracking analysis |
45 | Bool_t fDoMuonTracking; // if true run muon tracking analysis | |
96a87a98 | 46 | Bool_t fDoCumulants; // if true run cumulant analysis |
8b690ee5 | 47 | Bool_t fDoCumNtuple; // if true then save cumulant ntuple |
96a87a98 | 48 | Double_t fCumPtMin; // minimum pt for cumulants |
49 | Double_t fCumPtMax; // maximum pt for cumulants | |
50 | Double_t fCumEtaMin; // minimum eta for cumulants | |
51 | Double_t fCumEtaMax; // maximum eta for cumulants | |
52 | Double_t fCumMmin; // minimum number of tracks for cumulants | |
b224703f | 53 | Int_t fCumMbins; // number of bins for M |
b34ce23b | 54 | TH1 *fCentCL1In; // input for MC based CL1 centrality |
55 | TH1 *fCentV0AIn; // input for MC based V0A centrality | |
96a87a98 | 56 | TTree *fNtupCum; //!ntuple for cumulant analysis |
57 | AliNtupCumInfo *fNtupCumInfo; //!object holding cumulant results | |
36adefe1 | 58 | AliNtupZdcInfo *fNtupZdcInfo; //!object holding zdc info |
b34ce23b | 59 | TH1 *fHists[1000]; //!pointers to histograms |
d87c9c78 | 60 | |
61 | private: | |
62 | AliAnalysisTaskCLQA(const AliAnalysisTaskCLQA&); // not implemented | |
63 | AliAnalysisTaskCLQA &operator=(const AliAnalysisTaskCLQA&); // not implemented | |
64 | ||
b224703f | 65 | ClassDef(AliAnalysisTaskCLQA, 6) // Constantin's Task |
d87c9c78 | 66 | }; |
96a87a98 | 67 | |
68 | class AliNtupCumInfo { | |
69 | public: | |
36adefe1 | 70 | AliNtupCumInfo() : fTrig(0), fRun(0), fVz(0), fIsFEC(0), fIsVSel(0), fIsP(0), |
71 | fMall(0), fMall2(0), fPtMaxall(0), fMPtall(0), | |
72 | fMPt2all(0), fMPtall2(0), fTSall(0), | |
73 | fM(0), fQ2abs(0), fQ4abs(0), fQ42re(0), fCos2phi(0), fSin2phi(0), | |
74 | fPtMax(0), fMPt(0), fMPt2(0), fTS(0), fMV0M(0), | |
75 | fCl1(0), fV0M(0), fV0MEq(0), fV0A(0), fV0AEq(0), fZNA(0) {;} | |
96a87a98 | 76 | virtual ~AliNtupCumInfo() {;} |
77 | ||
78 | public: | |
79 | UInt_t fTrig; // trigger selection | |
80 | Int_t fRun; // run number | |
81 | Double_t fVz; // vertex z | |
82 | Bool_t fIsFEC; // is first event in chunk | |
83 | Bool_t fIsVSel; // is vertex selected | |
84 | Bool_t fIsP; // is SPD pileup | |
85 | Int_t fMall; // multiplicity (tracks in eta range) | |
45009c60 | 86 | Int_t fMall2; // multiplicity (tracks above 1 GeV/c in eta range) |
96a87a98 | 87 | Double32_t fPtMaxall; //[0,0,16] maximum pT |
88 | Double32_t fMPtall; //[0,0,16] mean pT | |
89 | Double32_t fMPt2all; //[0,0,16] mean pT2 | |
45009c60 | 90 | Double32_t fMPtall2; //[0,0,16] mean pT truncated above 1 GeV/c |
96a87a98 | 91 | Double32_t fTSall; //[0,0,16] transverse sphericity |
92 | Int_t fM; // multiplicity (tracks in pT range) | |
36adefe1 | 93 | Double32_t fQ2abs; // Q2 absolute |
94 | Double32_t fQ4abs; // Q4 absolute | |
95 | Double32_t fQ42re; // Re(Q2Q*Q*) | |
96 | Double32_t fCos2phi; // Cos(2phi) | |
97 | Double32_t fSin2phi; // Sin(2phi) | |
96a87a98 | 98 | Double32_t fPtMax; //[0,0,16] maximum pT |
99 | Double32_t fMPt; //[0,0,16] mean pT | |
100 | Double32_t fMPt2; //[0,0,16] mean pT2 | |
101 | Double32_t fTS; //[0,0,16] transverse sphericity | |
102 | Double32_t fMV0M; // V0M amplitude | |
103 | Double32_t fCl1; //[0,0,16] class CL1 | |
104 | Double32_t fV0M; //[0,0,16] class V0M | |
105 | Double32_t fV0MEq; //[0,0,16] class V0M Eq | |
106 | Double32_t fV0A; //[0,0,16] class V0A | |
107 | Double32_t fV0AEq; //[0,0,16] class V0A Eq | |
108 | Double32_t fZNA; //[0,0,16] class ZNA | |
36adefe1 | 109 | |
110 | ClassDef(AliNtupCumInfo,3) // Cumulant storage class | |
111 | }; | |
112 | ||
113 | class AliNtupZdcInfo { | |
114 | public: | |
115 | AliNtupZdcInfo() : fZna0(0), fZna1(0), fZna2(0), fZna3(0), fZna4(0) {;} | |
116 | virtual ~AliNtupZdcInfo() {;} | |
117 | ||
118 | public: | |
119 | Double32_t fZna0; // ZNA energy 0 | |
120 | Double32_t fZna1; // ZNA energy 1 | |
121 | Double32_t fZna2; // ZNA energy 2 | |
122 | Double32_t fZna3; // ZNA energy 3 | |
123 | Double32_t fZna4; // ZNA energy 4 | |
124 | ||
125 | ClassDef(AliNtupZdcInfo,1) // ZDC storage class | |
96a87a98 | 126 | }; |
d87c9c78 | 127 | #endif |