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.4 2007/10/29 13:48:42 gustavo
11 * Corrected coding violations
13 * Revision 1.2 2007/08/17 12:40:04 schutz
14 * New analysis classes by Gustavo Conesa
16 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
17 * new analysis classes in the the new analysis framework
22 //_________________________________________________________________________
23 // Base class for gamma and correlation analysis
24 // It is called by the task class AliAnalysisGammaTask and it connects the input (ESD/AOD/MonteCarlo)
25 // got with AliGammaReader (produces TClonesArrays of TParticles), with the analysis classes
26 // AliAnaGammaDirect, AliAnaGammaCorrelation ....
28 //*-- Author: Gustavo Conesa (INFN-LNF)
30 // --- ROOT system ---
31 #include <TParticle.h>
33 #include <TClonesArray.h>
38 // --- AliRoot system ---
40 #include "AliAODCaloCluster.h"
42 class AliGammaReader ;
43 class AliAnaGammaDirect ;
44 class AliAnaGammaCorrelation ;
45 class AliAnaGammaSelection ;
46 class AliNeutralMesonSelection ;
50 class AliAnaGamma : public TObject {
54 AliAnaGamma() ; // default ctor
55 AliAnaGamma(const AliAnaGamma & g) ; // cpy ctor
56 AliAnaGamma & operator = (const AliAnaGamma & g) ;//cpy assignment
57 virtual ~AliAnaGamma() ; //virtual dtor
59 enum Anatype {kPrompt, kCorrelation};
62 TList * GetOutputContainer() const {return fOutputContainer ; }
64 Int_t GetAnalysisType() const {return fAnaType ; }
65 void SetAnalysisType(Int_t ana ){ fAnaType = ana ; }
67 TString GetCalorimeter() const {return fCalorimeter ; }
68 void SetCalorimeter(TString calo) {if (calo == "PHOS" || calo == "EMCAL") fCalorimeter = calo ;
69 else AliFatal("Wrong calorimeter name") ; }
71 TObject * GetData() const {return fData ; }
72 TObject * GetKine() const {return fKine ;}
73 void SetData(TObject * data) {fData = data ; }
74 void SetKine(TObject * kine) {fKine = kine ; }
76 AliGammaReader * GetReader() const {return fReader ; }
77 void SetReader(AliGammaReader * reader) { fReader = reader ; }
79 AliAnaGammaDirect * GetGammaDirect() const { return fGammaDirect ; }
80 AliAnaGammaCorrelation * GetGammaCorrelation() const { return fGammaCorrelation ;}
81 AliAnaGammaSelection * GetGammaSelection() const { return fGammaSelection ;}
82 AliNeutralMesonSelection * GetNeutralMesonSelection() const { return fNeutralMesonSelection ; }
84 void SetGammaDirect(AliAnaGammaDirect * dg) { fGammaDirect = dg ; }
85 void SetGammaCorrelation(AliAnaGammaCorrelation * gc) { fGammaCorrelation = gc ;}
86 void SetGammaSelection(AliAnaGammaSelection * gs) { fGammaSelection = gs ;}
87 void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNeutralMesonSelection = nms ; }
90 void AddCluster(AliAODCaloCluster p);
91 void ConnectAOD(AliAODEvent* aod);
92 void FillAODs(TClonesArray * plPHOS, TClonesArray * plEMCAL);
96 void InitParameters();
98 void MakeAnalysis(TClonesArray * plCalo, TClonesArray * plNe, TClonesArray * plCTS, TClonesArray *plParton, TClonesArray * plPrimCalo) ;
100 void Print(const Option_t * opt) const;
102 Bool_t ProcessEvent(Long64_t entry) ;
106 //General Data members
107 TList *fOutputContainer ; // output data container
108 Int_t fAnaType; //Analysis type to be done
109 TString fCalorimeter; //Prompt photon detector
110 TObject * fData ; //! ESD
111 TObject * fKine ; //! Stack
112 AliGammaReader * fReader ; // Pointer to reader
113 AliAnaGammaDirect * fGammaDirect ; // Pointer to prompt gamma algorithm
114 AliAnaGammaCorrelation * fGammaCorrelation ; // Pointer to gamma correlation algorithm
115 AliAnaGammaSelection * fGammaSelection ; // Pointer to gamma selection algorithm
116 AliNeutralMesonSelection * fNeutralMesonSelection ; // Pointer to pair selection for pi0 identification.
117 TClonesArray* fAODclusters; //! reconstructed jets
118 Int_t fNAODclusters; //! number of reconstructed jets
120 ClassDef(AliAnaGamma,1)
124 #endif //ALIANAGAMMA_H