]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/AliAnalysisTaskPi0V2.h
including setter to enable debugging printouts
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskPi0V2.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 /* $Id: AliAnalysisTaskPi0V2.h 45956 2010-12-10 12:55:37Z agheata $ */
5 /* AliAnalysisTaskPi0V2.h
6  *
7  * Template task producing a P_t spectrum and pseudorapidity distribution.
8  * Includes explanations of physics and primary track selections
9  *
10  * Based on tutorial example from offline pages
11  * Edited by Arvinder Palaha
12  */
13 #ifndef ALIANALYSISTASKPI0V2_H
14 #define ALIANALYSISTASKPI0V2_H
15
16 class TH1F;
17 class TH2F;
18 class TH3F;
19 class TList;
20 class AliESDCaloCluster;
21 class AliESDtrackCuts;
22 class AliESDEvent;
23 class THnSparse;
24
25 #ifndef ALIANALYSISTASKSE_H
26 #include "AliAnalysisTaskSE.h"
27 #endif
28
29 class AliAnalysisTaskPi0V2 : public AliAnalysisTaskSE {
30  public:
31     AliAnalysisTaskPi0V2();
32     AliAnalysisTaskPi0V2(const char *name);
33     virtual ~AliAnalysisTaskPi0V2();
34     
35     virtual void     UserCreateOutputObjects();
36     virtual void     UserExec(Option_t *option);
37     virtual void     Terminate(Option_t *);
38     Double_t            GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax) const;
39     Double_t            GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const;
40     Bool_t              IsWithinFiducialVolume(Short_t id) const;
41     Bool_t              IsGoodCluster(const AliESDCaloCluster *c) const;
42     Bool_t              IsGoodPion(const TLorentzVector& p1, const TLorentzVector& p2) const;
43     void                FillPion(const TLorentzVector& p1, const TLorentzVector& p2, Double_t EPV0r, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC);
44     void                GetMom(TLorentzVector& p, const AliESDCaloCluster *c, Double_t *vertex);                
45     void                SetEventMethod(Double_t e )     { fEvtSelect  =e ;}
46     void                SetVtxCut(Double_t v )          { fVtxCut     =v ;}
47     void                SetClusNcell(Double_t c )       { fNcellCut   =c ;}
48     void                SetClusE(Double_t e )           { fECut       =e ;}
49     void                SetClusEta(Double_t e )         { fEtaCut     =e ;}
50     void                SetClusM02(Double_t m )         { fM02Cut     =m ;}
51     void                SetPi0Asy(Double_t a )          { fPi0AsyCut  =a ;}
52
53     
54  private:
55     TList                       *fOutput;        //! Output list
56     AliESDEvent                 *fESD;          //!ESD object
57     AliESDtrackCuts             *fTrackCuts;    //! ESD track cuts
58     Double_t                    fEvtSelect;     // 1 = MB+Semi+Central, 2 = MB+Semi, 3 = MB;
59     Double_t                    fVtxCut;        // vertex cut
60     Double_t                    fNcellCut;      // N cells Cut
61     Double_t                    fECut;          // Cluster E cut
62     Double_t                    fEtaCut;        // Cluster Eta Cut
63     Double_t                    fM02Cut;        // Cluster long axis cut
64     Bool_t                      fPi0AsyCut;     // pion Asymetry cut 0=off 1=on
65     Double_t                    fCentrality;    //! Centrality
66     Double_t                    fEPTPC;         //! Evt plane TPC
67     Double_t                    fEPTPCreso;     //! resolution of TPC method
68     Double_t                    fEPV0;          //! EP V0
69     Double_t                    fEPV0A;         //! EP V0A
70     Double_t                    fEPV0C;         //! EP V0C
71     Double_t                    fEPV0Ar;        //! EP V0A reduced
72     Double_t                    fEPV0Cr;        //! EP V0C reduced
73     Double_t                    fEPV0r;         //! EP V0 reduced
74     Double_t                    fEPV0AR4;       //! EP V0A ring4 only
75     Double_t                    fEPV0AR5;       //! EP V0A ring5 only
76     Double_t                    fEPV0AR6;       //! EP V0A ring6 only
77     Double_t                    fEPV0AR7;       //! EP V0A ring7 only
78     Double_t                    fEPV0CR0;       //! EP V0C ring0 only   
79     Double_t                    fEPV0CR1;       //! EP V0C ring1 only   
80     Double_t                    fEPV0CR2;       //! EP V0C ring2 only   
81     Double_t                    fEPV0CR3;       //! EP V0C ring3 only   
82
83     TH1F                        *hEvtCount;     //!
84     TH1F                        *hAllcentV0;    //!
85     TH1F                        *hAllcentV0r;   //!
86     TH1F                        *hAllcentV0A;   //!
87     TH1F                        *hAllcentV0C;   //!
88     TH1F                        *hAllcentTPC;   //!
89     TH2F                        *hEPTPC;        //! 2-D histo EPTPC  vs cent
90     TH2F                        *hresoTPC;      //! 2-D histo TPC resolution vs cent
91     TH2F                        *hEPV0;         //! 2-D histo EPV0   vs cent
92     TH2F                        *hEPV0A;        //! 2-D histo EPV0A  vs cent
93     TH2F                        *hEPV0C;        //! 2-D histo EPV0C  vs cent
94     TH2F                        *hEPV0Ar;       //! 2-D histo EPV0Ar vs cent
95     TH2F                        *hEPV0Cr;       //! 2-D histo EPV0Cr vs cent
96     TH2F                        *hEPV0r;        //! 2-D histo EPV0r  vs cent
97     TH2F                        *hEPV0AR4;      //! 2-D histo EPV0AR4 vs cent
98     TH2F                        *hEPV0AR7;      //! 2-D histo EPV0AR7 vs cent
99     TH2F                        *hEPV0CR0;      //! 2-D histo EPV0AR0 vs cent
100     TH2F                        *hEPV0CR3;      //! 2-D histo EPV0AR3 vs cent
101
102     TH2F                        *hdifV0A_V0CR0;         //! 2-D histo diff V0A, V0CR0 vs cent
103     TH2F                        *hdifV0A_V0CR3;         //! 2-D histo diff V0A, V0CR3 vs cent
104     TH2F                        *hdifV0ACR0_V0CR3;      //! 2-D histo diff V0CR0, V0CR3 vs cent
105     TH2F                        *hdifV0C_V0AR4;         //! 2-D histo diff V0C, V0AR4 vs cent
106     TH2F                        *hdifV0C_V0AR7;         //! 2-D histo diff V0C, V0AR7 vs cent
107     TH2F                        *hdifV0AR4_V0AR7;       //! 2-D histo diff V0AR7, V0AR4 vs cent
108
109     TH2F                        *hdifV0A_V0C;           //! 2-D histo diff V0A - V0C
110     TH2F                        *hdifV0A_TPC;           //! 2-D histo diff V0A - TPC
111     TH2F                        *hdifV0C_TPC;           //! 2-D histo diff V0C - TPC
112     TH2F                        *hdifV0C_V0A;           //! 2-D histo diff V0C - V0A
113
114     TH3F                        *hdifEMC_EPV0;          //! 3-D histo dif phi in EMC with EPV0
115     TH3F                        *hdifEMC_EPV0A;         //! 3-D histo dif phi in EMC with EPV0A
116     TH3F                        *hdifEMC_EPV0C;         //! 3-D histo dif phi in EMC with EPV0C
117
118     TH3F                        *hdifful_EPV0;          //! 3-D histo dif phi in full with EPV0
119     TH3F                        *hdifful_EPV0A;         //! 3-D histo dif phi in full with EPV0A
120     TH3F                        *hdifful_EPV0C;         //! 3-D histo dif phi in full with EPV0C
121
122     TH3F                        *hdifout_EPV0;          //! 3-D histo dif phi out EMC with EPV0
123     TH3F                        *hdifout_EPV0A;         //! 3-D histo dif phi out EMC with EPV0A
124     TH3F                        *hdifout_EPV0C;         //! 3-D histo dif phi out EMC with EPV0C
125
126     TH3F                        *hdifEMC_EPTPC;         //! 3-D histo dif phi in EMC with EPTPC
127     TH3F                        *hdifful_EPTPC;         //! 3-D histo dif phi in full with EPTPC
128     TH3F                        *hdifout_EPTPC;         //! 3-D histo dif phi out EMC with EPTPC
129
130     THnSparse                   *fHEPV0r;               //! Flow 4-D Histo
131     THnSparse                   *fHEPV0A;               //! Flow 4-D Histo
132     THnSparse                   *fHEPV0C;               //! Flow 4-D Histo
133     THnSparse                   *fHEPTPC;               //! Flow 4-D Histo
134
135     
136     
137     AliAnalysisTaskPi0V2(const AliAnalysisTaskPi0V2&); // not implemented
138     AliAnalysisTaskPi0V2& operator=(const AliAnalysisTaskPi0V2&); // not implemented
139     
140     ClassDef(AliAnalysisTaskPi0V2, 3); // example of analysis
141 };
142
143 #endif
144