3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 /* History of cvs commits:
10 * Revision 1.2 2007/08/17 12:40:04 schutz
11 * New analysis classes by Gustavo Conesa
13 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
14 * new analysis classes in the the new analysis framework
19 //_________________________________________________________________________
20 // Base class for prompt gamma and correlation analysis
21 //*-- Author: Gustavo Conesa (INFN-LNF)
23 // --- ROOT system ---
24 #include <TParticle.h>
26 #include <TClonesArray.h>
31 // --- AliRoot system ---
33 #include "AliAODCaloCluster.h"
35 class AliGammaReader ;
36 class AliAnaGammaDirect ;
37 class AliAnaGammaCorrelation ;
38 class AliAnaGammaJetLeadCone ;
39 class AliNeutralMesonSelection ;
43 class AliAnaGamma : public TObject {
47 AliAnaGamma() ; // default ctor
48 AliAnaGamma(const AliAnaGamma & g) ; // cpy ctor
49 AliAnaGamma & operator = (const AliAnaGamma & g) ;//cpy assignment
50 virtual ~AliAnaGamma() ; //virtual dtor
52 enum anatype_t {kPrompt, kCorrelation};
55 TList * GetOutputContainer() const {return fOutputContainer ; }
57 Int_t GetAnalysisType(){ return fAnaType ; }
58 void SetAnalysisType(Int_t ana ){ fAnaType = ana ; }
60 TString GetCalorimeter() {return fCalorimeter ; }
61 void SetCalorimeter(TString calo) {if (calo == "PHOS" || calo == "EMCAL") fCalorimeter = calo ;
62 else AliFatal("Wrong calorimeter name") ; }
64 TObject * GetData() {return fData ; }
65 TObject * GetKine() {return fKine ;}
66 void SetData(TObject * data) {fData = data ; }
67 void SetKine(TObject * kine) {fKine = kine ; }
69 AliGammaReader * GetReader() {return fReader ; }
70 void SetReader(AliGammaReader * reader) { fReader = reader ; }
72 void SetGammaDirect(AliAnaGammaDirect * dg) { fGammaDirect = dg ; }
73 void SetGammaCorrelation(AliAnaGammaCorrelation * gc) { fGammaCorrelation = gc ;}
74 void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNeutralMesonSelection = nms ; }
77 void AddCluster(AliAODCaloCluster p);
78 void ConnectAOD(AliAODEvent* aod);
79 void FillAODs(TClonesArray * plPHOS, TClonesArray * plEMCAL);
83 void InitParameters();
85 void MakeAnalysis(TClonesArray * plCalo, TClonesArray * plNe, TClonesArray * plCTS, TClonesArray *plParton, TClonesArray * plPrimCalo) ;
87 void Print(const Option_t * opt) const;
89 Bool_t ProcessEvent(Long64_t entry) ;
93 //General Data members
94 TList *fOutputContainer ; //! output data container
95 Int_t fAnaType; //Analysis type to be done
96 TString fCalorimeter; //Prompt photon detector
97 TObject * fData ; //! ESD
98 TObject * fKine ; //! Stack
99 AliGammaReader * fReader ; //! Pointer to reader
100 AliAnaGammaDirect * fGammaDirect ; //! Pointer to prompt gamma algorithm
101 AliAnaGammaCorrelation * fGammaCorrelation ; //! Pointer to gamma correlation algorithm
102 AliNeutralMesonSelection * fNeutralMesonSelection ; //! Pointer to pair selection for pi0 identification.
103 TClonesArray* fAODclusters; //! reconstructed jets
104 Int_t fNAODclusters; //! number of reconstructed jets
106 ClassDef(AliAnaGamma,1)
110 #endif //ALIANAGAMMA_H