]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h
Clean way to get input from clusterizer and event
[u/mrichter/AliRoot.git] / PWG4 / CaloCalib / AliAnalysisTaskEMCALPi0PbPb.h
1 #ifndef AliAnalysisTaskEMCALPi0PbPb_cxx
2 #define AliAnalysisTaskEMCALPi0PbPb_cxx
3
4 // $Id$
5
6 class TH1F;
7 class TH2F;
8 class TClonesArray;
9 class TObjArray;
10 class AliAODCaloCells;
11 class AliAODCaloCluster;
12 class AliAODEvent;
13 class AliESDCaloCells;
14 class AliESDCaloCluster;
15 class AliESDEvent;
16
17 #include "AliAnalysisTaskSE.h"
18
19 class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE {
20  public:
21   AliAnalysisTaskEMCALPi0PbPb();
22   AliAnalysisTaskEMCALPi0PbPb(const char *name);
23   virtual ~AliAnalysisTaskEMCALPi0PbPb(); 
24   
25   void         UserCreateOutputObjects();
26   void         UserExec(Option_t *option);
27   void         Terminate(Option_t *);
28
29   void         SetCentrality(const char *name)                { fCentVar = name;            }
30   void         SetCentralityRange(Double_t from, Double_t to) { fCentFrom=from; fCentTo=to; }
31   void         SetClusName(const char *name)                  { fClusName = name;           }
32   void         SetVertexRange(Double_t z1, Double_t z2)       { fVtxZMin=z1; fVtxZMax=z2;   }
33
34  protected:
35   void         FillCellHists();
36   void         FillClusHists();
37   void         FillPionHists();
38
39     // input members
40   TString                fCentVar;              // variable for centrality determination
41   Double_t               fCentFrom;             // min centrality (def=0)
42   Double_t               fCentTo;               // max centrality (def=100)
43   Double_t               fVtxZMin;              // min primary vertex z (def=-7cm)
44   Double_t               fVtxZMax;              // max primary vertex z (def=+7cm)
45   Bool_t                 fUseQualFlag;          // if true use quality flag for centrality
46   TString                fClusName;             // cluster branch name (def="")
47      // derived members (ie with ! after //)
48   TList                 *fOutput;               //!container of output histograms
49   AliESDEvent           *fEsdEv;                //!pointer to input esd event
50   AliAODEvent           *fAodEv;                //!pointer to input aod event
51   const TObjArray       *fRecPoints;            //!pointer to rec points (AliAnalysisTaskEMCALClusterizeFast)
52   const TObjArray       *fEsdClusters;          //!pointer to esd clusters
53   const AliESDCaloCells *fEsdCells;             //!pointer to esd cells
54   const TObjArray       *fAodClusters;          //!pointer to aod clusters
55   const AliAODCaloCells *fAodCells;             //!pointer to aod cells
56     // histograms
57   TH1F                  *fHcuts;                //!histo for cuts
58   TH1F                  *fHvertexZ;             //!histo for vtxz
59   TH1F                  *fHcent;                //!histo for cent
60
61  private:
62   AliAnalysisTaskEMCALPi0PbPb(const AliAnalysisTaskEMCALPi0PbPb&);            // not implemented
63   AliAnalysisTaskEMCALPi0PbPb &operator=(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented
64
65   ClassDef(AliAnalysisTaskEMCALPi0PbPb, 1); // Analysis task for neutral pions in Pb+Pb
66 };
67
68 #endif