]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliAnaGamma.h
New analysis classes by Gustavo Conesa
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGamma.h
1 #ifndef ALIANAGAMMA_H
2 #define ALIANAGAMMA_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id$ */
6
7 /* History of cvs commits:
8  *
9  * $Log$
10  * Revision 1.1.2.1  2007/07/26 10:32:09  schutz
11  * new analysis classes in the the new analysis framework
12  *
13  *
14  */
15
16 //_________________________________________________________________________
17 // Base class for prompt gamma and correlation analysis
18 //*-- Author: Gustavo Conesa (INFN-LNF)
19
20 // --- ROOT system ---
21 #include <TParticle.h> 
22 #include <TList.h> 
23 #include <TClonesArray.h> 
24 #include <TH2F.h>
25 #include<TObject.h>
26 #include <TTree.h>
27 #include <AliLog.h>
28
29 class AliGammaReader ;
30 class AliAnaGammaDirect ;
31 class AliAnaGammaCorrelation ;
32 class AliAnaGammaJetLeadCone ;
33 class AliNeutralMesonSelection ;
34
35 // --- AliRoot
36 class AliAnaGamma : public TObject {
37
38 public: 
39   
40   AliAnaGamma() ; // default ctor
41   AliAnaGamma(const AliAnaGamma & g) ; // cpy ctor
42   AliAnaGamma & operator = (const AliAnaGamma & g) ;//cpy assignment
43   virtual ~AliAnaGamma() ; //virtual dtor
44
45   enum anatype_t {kPrompt, kCorrelation};
46
47   //General methods
48   TList * GetOutputContainer()      const {return fOutputContainer ; }
49   
50   void Init();
51   void InitParameters();
52
53   Int_t GetAnalysisType(){  return fAnaType ; }
54   void SetAnalysisType(Int_t ana ){  fAnaType = ana ; }
55
56   void Print(const Option_t * opt) const;
57
58   void MakeAnalysis(TClonesArray * plCalo, TClonesArray * plNe, TClonesArray * plCTS, TClonesArray *plParton)  ;  
59   Bool_t ProcessEvent(Long64_t entry) ;
60   //TTree * MakeTreeG(TString name) ;
61
62   TString GetCalorimeter() {return fCalorimeter ; }
63   void SetCalorimeter(TString calo) {if (calo == "PHOS" || calo == "EMCAL") fCalorimeter = calo ;
64     else AliFatal("Wrong calorimeter name") ; }
65
66   TObject * GetData() {return fData ; }
67   TObject * GetKine() {return fKine ;}
68   void SetData(TObject * data) {fData = data ; }
69   void SetKine(TObject * kine) {fKine = kine ; }
70
71   AliGammaReader * GetReader() {return fReader ; }
72   void SetReader(AliGammaReader * reader) { fReader = reader ; }
73
74   void SetGammaDirect(AliAnaGammaDirect * dg) { fGammaDirect = dg ; }
75   void SetGammaCorrelation(AliAnaGammaCorrelation * gc) { fGammaCorrelation = gc ;}
76   void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNeutralMesonSelection = nms ; }
77   
78  private:
79   
80   //General Data members
81   TList  *fOutputContainer ; //! output data container
82   Int_t      fAnaType; //Analysis type to be done
83   TString fCalorimeter; //Prompt photon detector
84   TObject * fData ; //! ESD
85   TObject * fKine ; //! Stack
86   AliGammaReader *      fReader ; //! Pointer to reader 
87   AliAnaGammaDirect *   fGammaDirect ; //! Pointer to prompt gamma algorithm 
88   AliAnaGammaCorrelation *   fGammaCorrelation ; //! Pointer to gamma correlation algorithm
89   AliNeutralMesonSelection *  fNeutralMesonSelection ; //! Pointer to pair selection for pi0 identification.
90   
91   ClassDef(AliAnaGamma,0)
92 } ;
93  
94
95 #endif //ALIANAGAMMA_H
96
97
98