]>
Commit | Line | Data |
---|---|---|
bdcfac30 | 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$ | |
60fecfb6 | 10 | * Revision 1.4 2007/10/29 13:48:42 gustavo |
11 | * Corrected coding violations | |
12 | * | |
4b707925 | 13 | * Revision 1.2 2007/08/17 12:40:04 schutz |
14 | * New analysis classes by Gustavo Conesa | |
15 | * | |
bdcfac30 | 16 | * Revision 1.1.2.1 2007/07/26 10:32:09 schutz |
17 | * new analysis classes in the the new analysis framework | |
18 | * | |
19 | * | |
20 | */ | |
21 | ||
22 | //_________________________________________________________________________ | |
3bb2c538 | 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 .... | |
27 | // | |
bdcfac30 | 28 | //*-- Author: Gustavo Conesa (INFN-LNF) |
29 | ||
30 | // --- ROOT system --- | |
31 | #include <TParticle.h> | |
32 | #include <TList.h> | |
33 | #include <TClonesArray.h> | |
34 | #include <TH2F.h> | |
35 | #include<TObject.h> | |
36 | #include <TTree.h> | |
4b707925 | 37 | |
38 | // --- AliRoot system --- | |
bdcfac30 | 39 | #include <AliLog.h> |
4b707925 | 40 | #include "AliAODCaloCluster.h" |
bdcfac30 | 41 | |
42 | class AliGammaReader ; | |
43 | class AliAnaGammaDirect ; | |
44 | class AliAnaGammaCorrelation ; | |
3bb2c538 | 45 | class AliAnaGammaSelection ; |
bdcfac30 | 46 | class AliNeutralMesonSelection ; |
4b707925 | 47 | class AliAODEvent; |
bdcfac30 | 48 | |
49 | // --- AliRoot | |
50 | class AliAnaGamma : public TObject { | |
51 | ||
52 | public: | |
53 | ||
54 | AliAnaGamma() ; // default ctor | |
55 | AliAnaGamma(const AliAnaGamma & g) ; // cpy ctor | |
56 | AliAnaGamma & operator = (const AliAnaGamma & g) ;//cpy assignment | |
57 | virtual ~AliAnaGamma() ; //virtual dtor | |
58 | ||
3bb2c538 | 59 | enum Anatype {kPrompt, kCorrelation}; |
bdcfac30 | 60 | |
4b707925 | 61 | //Setter and getters |
bdcfac30 | 62 | TList * GetOutputContainer() const {return fOutputContainer ; } |
bdcfac30 | 63 | |
3bb2c538 | 64 | Int_t GetAnalysisType() const {return fAnaType ; } |
bdcfac30 | 65 | void SetAnalysisType(Int_t ana ){ fAnaType = ana ; } |
66 | ||
3bb2c538 | 67 | TString GetCalorimeter() const {return fCalorimeter ; } |
bdcfac30 | 68 | void SetCalorimeter(TString calo) {if (calo == "PHOS" || calo == "EMCAL") fCalorimeter = calo ; |
69 | else AliFatal("Wrong calorimeter name") ; } | |
70 | ||
3bb2c538 | 71 | TObject * GetData() const {return fData ; } |
72 | TObject * GetKine() const {return fKine ;} | |
bdcfac30 | 73 | void SetData(TObject * data) {fData = data ; } |
74 | void SetKine(TObject * kine) {fKine = kine ; } | |
75 | ||
3bb2c538 | 76 | AliGammaReader * GetReader() const {return fReader ; } |
bdcfac30 | 77 | void SetReader(AliGammaReader * reader) { fReader = reader ; } |
78 | ||
3bb2c538 | 79 | AliAnaGammaDirect * GetGammaDirect() const { return fGammaDirect ; } |
80 | AliAnaGammaCorrelation * GetGammaCorrelation() const { return fGammaCorrelation ;} | |
81 | AliAnaGammaSelection * GetGammaSelection() const { return fGammaSelection ;} | |
82 | AliNeutralMesonSelection * GetNeutralMesonSelection() const { return fNeutralMesonSelection ; } | |
83 | ||
bdcfac30 | 84 | void SetGammaDirect(AliAnaGammaDirect * dg) { fGammaDirect = dg ; } |
85 | void SetGammaCorrelation(AliAnaGammaCorrelation * gc) { fGammaCorrelation = gc ;} | |
3bb2c538 | 86 | void SetGammaSelection(AliAnaGammaSelection * gs) { fGammaSelection = gs ;} |
bdcfac30 | 87 | void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) { fNeutralMesonSelection = nms ; } |
4b707925 | 88 | |
89 | //AOD stuff | |
90 | void AddCluster(AliAODCaloCluster p); | |
91 | void ConnectAOD(AliAODEvent* aod); | |
92 | void FillAODs(TClonesArray * plPHOS, TClonesArray * plEMCAL); | |
93 | ||
94 | //Others | |
95 | void Init(); | |
96 | void InitParameters(); | |
97 | ||
98 | void MakeAnalysis(TClonesArray * plCalo, TClonesArray * plNe, TClonesArray * plCTS, TClonesArray *plParton, TClonesArray * plPrimCalo) ; | |
99 | ||
100 | void Print(const Option_t * opt) const; | |
101 | ||
102 | Bool_t ProcessEvent(Long64_t entry) ; | |
103 | ||
bdcfac30 | 104 | private: |
105 | ||
106 | //General Data members | |
60fecfb6 | 107 | TList *fOutputContainer ; // output data container |
bdcfac30 | 108 | Int_t fAnaType; //Analysis type to be done |
109 | TString fCalorimeter; //Prompt photon detector | |
110 | TObject * fData ; //! ESD | |
111 | TObject * fKine ; //! Stack | |
60fecfb6 | 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. | |
4b707925 | 117 | TClonesArray* fAODclusters; //! reconstructed jets |
118 | Int_t fNAODclusters; //! number of reconstructed jets | |
119 | ||
120 | ClassDef(AliAnaGamma,1) | |
bdcfac30 | 121 | } ; |
122 | ||
123 | ||
124 | #endif //ALIANAGAMMA_H | |
125 | ||
126 | ||
127 |