making task compatible with AOD analysis and cosmetics
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskEMCALPi0V2ShSh.h
1 #ifndef AliAnalysisTaskEMCALPi0V2ShSh_h
2 #define AliAnalysisTaskEMCALPi0V2ShSh_h
3
4 // $Id: AliAnalysisTaskEMCALPi0V2ShSh.h$
5
6 class TH1F;
7 class TH1D;
8 class TH2F;
9 class THnSparse;
10 class TList;
11 class TObjArray;
12 class AliOADBContainer;
13 class AliEMCALGeometry;
14 class AliESDEvent;
15 class AliESDtrack;
16 class AliESDCaloCells;
17 class AliAODEvent;
18 class AliAODCaloCells;
19 class AliVCluster;
20 class AliCentrality;
21
22 #include "AliAnalysisTaskSE.h"
23
24
25 class AliAnalysisTaskEMCALPi0V2ShSh : public AliAnalysisTaskSE {
26  public:
27   AliAnalysisTaskEMCALPi0V2ShSh();
28   AliAnalysisTaskEMCALPi0V2ShSh(const char *name);
29   virtual ~AliAnalysisTaskEMCALPi0V2ShSh() {}
30
31   void                   UserCreateOutputObjects();
32   void                   UserExec(Option_t *option);
33   void                   VZEROEventPlane();
34   void                   FillClusterHists();
35   void                   FillTrackHists();
36   void                   Terminate(Option_t *);
37
38  protected:
39   AliEventplane         *fEventPlane;
40   Double_t               fCentralityV0M;
41   TObjArray             *fESDClusters;           //!pointer to EMCal clusters
42   TObjArray             *fAODClusters;           //!pointer to EMCal clusters
43   TRefArray             *fCaloClusters;          //!pointer to EMCal clusters
44   AliESDCaloCells       *fESDCells;              //!pointer to EMCal cells, esd
45   AliAODCaloCells       *fAODCells;              //!pointer to EMCal cells, aod  
46   AliEMCALGeometry      *fGeom;                  // geometry utils
47   TString                fGeoName;               // geometry name (def = EMCAL_FIRSTYEARV1)
48   AliOADBContainer      *fOADBContainer;         //!OADB container used to load misalignment matrices
49   
50   
51  private:
52   AliESDEvent *fESD;                 //! ESD object
53   AliAODEvent *fAOD;                 //! AOD object
54   TList       *fOutputList;          //! General Output list
55   TGeoHMatrix *fGeomMatrix[12];      //! Geometry misalignment matrices for EMCal
56
57   Double_t    fEPTPC;
58   Double_t    fEPTPCResolution;
59   Double_t    fEPV0;
60   Double_t    fEPV0A;
61   Double_t    fEPV0C;
62   Double_t    fEPV0Ar;
63   Double_t    fEPV0Cr;
64   Double_t    fEPV0r;
65   Double_t    fEPV0A4r;
66   Double_t    fEPV0A5r;
67   Double_t    fEPV0A6r;
68   Double_t    fEPV0A7r;
69   Double_t    fEPV0C0r;
70   Double_t    fEPV0C1r;
71   Double_t    fEPV0C2r;
72   Double_t    fEPV0C3r;
73
74   //histograms
75   TH1F        *fHistAllcentV0;
76   TH1F        *fHistAllcentV0r;
77   TH1F        *fHistAllcentV0A;
78   TH1F        *fHistAllcentV0C;
79   TH1F        *fHistAllcentTPC;
80
81   TH2F        *fHistEPTPC;
82   TH2F        *fHistEPTPCResolution;
83
84   TH2F        *fHistEPV0;
85   TH2F        *fHistEPV0A;
86   TH2F        *fHistEPV0C;
87   TH2F        *fHistEPV0Ar;
88   TH2F        *fHistEPV0Cr;
89   TH2F        *fHistEPV0r;
90   TH2F        *fHistEPV0A4r;
91   TH2F        *fHistEPV0A7r;
92   TH2F        *fHistEPV0C0r;
93   TH2F        *fHistEPV0C3r;
94
95   TH2F        *fHistdifV0A_V0C0r;
96   TH2F        *fHistdifV0A_V0C3r;
97   TH2F        *fHistdifV0C0r_V0C3r;
98   TH2F        *fHistdifV0C_V0A4r;
99   TH2F        *fHistdifV0C_V0A7r;
100   TH2F        *fHistdifV0A4r_V0A7r;
101   TH2F        *fHistdifV0Ar_V0Cr;       
102
103   TH1F        *fHistClusterEta;
104   TH1F        *fHistClusterPhi;
105   TH1F        *fHistClusterE;
106   TH1F        *fHistClusterEt;
107   TH1F        *fHistClusterN;
108   TH1F        *fHistClusterM02;
109   TH2F        *fHistClusterEN;
110   TH2F        *fHistClusterEM02;
111   TH2F        *fHistClusterPhiEta;
112   TH2F        *fHistClusterEtN;
113   TH2F        *fHistClusterEtM02;
114   TH1D        *fHistClusterdphiV0;
115
116   TH1F        *fHistTrackPt;
117   TH1F        *fHistTrackEta;
118   TH1F        *fHistTrackPhi;
119   TH2F        *fHistTrackPhiEta;
120
121   THnSparse   *fClusterPbV0;
122   THnSparse   *fClusterPbV0A;
123   THnSparse   *fClusterPbV0C;
124   THnSparse   *fClusterPbTPC;
125  
126
127   AliAnalysisTaskEMCALPi0V2ShSh(const AliAnalysisTaskEMCALPi0V2ShSh&); // not implemented
128   AliAnalysisTaskEMCALPi0V2ShSh& operator=(const AliAnalysisTaskEMCALPi0V2ShSh&); // not implemented
129   
130   ClassDef(AliAnalysisTaskEMCALPi0V2ShSh, 1);
131 };
132 #endif