]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskCLQA.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskCLQA.h
1 #ifndef ALIANALYSISTASKCLQA_H
2 #define ALIANALYSISTASKCLQA_H
3
4 // $Id $
5
6 class TClonesArray;
7 class TString;
8 class TH1;
9 class TH1F;
10 class TH2F;
11 class TH3F;
12 class TNtuple;
13 class TNtupleD;
14 class TTree;
15
16 #include "AliAnalysisTaskEmcal.h"
17
18 class AliNtupCumInfo;
19 class AliNtupZdcInfo;
20
21 class AliAnalysisTaskCLQA : public AliAnalysisTaskEmcal {
22  public:
23   AliAnalysisTaskCLQA();
24   AliAnalysisTaskCLQA(const char *name);
25   virtual ~AliAnalysisTaskCLQA();
26
27   void                        SetCentCL1In(TH1 *h)              { fCentCL1In       = h; }
28   void                        SetCentV0AIn(TH1 *h)              { fCentV0AIn       = h; }
29   void                        SetCumParams(Double_t Mmin, Double_t ptmin, Double_t ptmax, Double_t etamin, Double_t etamax);
30   void                        SetDoCumulants(Bool_t b)          { fDoCumulants     = b; }
31   void                        SetDoMuonTracking(Bool_t b)       { fDoMuonTracking  = b; }
32   void                        SetDoTracking(Bool_t b)           { fDoTracking      = b; }
33   void                        SetDo2013VertexCut(Bool_t b)      { fDo2013VertexCut = b; }
34
35   void                        UserCreateOutputObjects();
36
37  protected:
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);
42
43   Bool_t                      fDo2013VertexCut;  // if true then use 2013 pA vertex check (only if 2013 pPb run)
44   Bool_t                      fDoTracking;       // if true run tracking analysis
45   Bool_t                      fDoMuonTracking;   // if true run muon tracking analysis
46   Bool_t                      fDoCumulants;      // if true run cumulant analysis
47   Bool_t                      fDoCumNtuple;      // if true then save cumulant ntuple
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 
53   Int_t                       fCumMbins;         // number of bins for M
54   TH1                        *fCentCL1In;        // input for MC based CL1 centrality
55   TH1                        *fCentV0AIn;        // input for MC based V0A centrality
56   TTree                      *fNtupCum;          //!ntuple for cumulant analysis
57   AliNtupCumInfo             *fNtupCumInfo;      //!object holding cumulant results
58   AliNtupZdcInfo             *fNtupZdcInfo;      //!object holding zdc info
59   TH1                        *fHists[1000];      //!pointers to histograms
60
61  private:
62   AliAnalysisTaskCLQA(const AliAnalysisTaskCLQA&);            // not implemented
63   AliAnalysisTaskCLQA &operator=(const AliAnalysisTaskCLQA&); // not implemented
64
65   ClassDef(AliAnalysisTaskCLQA, 6) // Constantin's Task
66 };
67
68 class AliNtupCumInfo {
69  public:
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) {;}
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)
86   Int_t         fMall2;        // multiplicity (tracks above 1 GeV/c in eta range)
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
90   Double32_t    fMPtall2;      //[0,0,16] mean pT truncated above 1 GeV/c
91   Double32_t    fTSall;        //[0,0,16] transverse sphericity
92   Int_t         fM;            // multiplicity (tracks in pT range)
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)
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
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
126 };
127 #endif