1 #ifndef ALIANAGAMMADIRECT_H
2 #define ALIANAGAMMADIRECT_H
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.1 2007/01/23 17:17:29 schutz
16 //_________________________________________________________________________
18 // Class for the analysis of gamma (gamma-jet,
19 // gamma-hadron(Arleo, TODO))
20 // This class only contains 3 methods: one to fill lists of particles (ESDs) comming
21 // from the CTS (ITS+TPC) and the calorimeters; the other search in the
22 // corresponing calorimeter for the highest energy cluster, identify it as
23 // prompt photon(Shower Shape and Isolation Cut), the last method does the
24 // isolation selection
26 // Class created from old AliPHOSGammaJet
27 // (see AliRoot versions previous Release 4-09)
29 //*-- Author: Gustavo Conesa (INFN-LNF)
31 // --- ROOT system ---
32 #include <TParticle.h>
33 #include <TClonesArray.h>
35 #include "AliAnalysisTask.h"
40 class AliAnaGammaDirect : public AliAnalysisTask {
44 AliAnaGammaDirect(const char *name) ; // default ctor
45 AliAnaGammaDirect(const AliAnaGammaDirect & g) ; // cpy ctor
46 virtual ~AliAnaGammaDirect() ; //virtual dtor
48 virtual void Exec(Option_t * opt = "") ;
49 virtual void ConnectInputData(Option_t *);
50 virtual void CreateOutputObjects();
51 virtual void Terminate(Option_t * opt = "");
53 void InitParameters();
54 TTree * GetChain() const {return fChain ; }
55 AliESD * GetESD() const {return fESD ; }
56 TObjArray * GetOutputContainer() const {return fOutputContainer ; }
57 Double_t GetMinGammaPt() const {return fMinGammaPt ; }
58 TString GetCalorimeter() const {return fCalorimeter ; }
59 Bool_t GetPrintInfo() const {return fPrintInfo ; }
60 Float_t GetConeSize() const {return fConeSize ; }
61 Float_t GetPtThreshold() const {return fPtThreshold ; }
62 Float_t GetPtSumThres() const {return fPtSumThreshold ; }
63 Int_t GetICMethod() const {return fMakeICMethod ; }
65 Bool_t IsEMCALPIDOn() const {return fEMCALPID ; }
66 Bool_t IsPHOSPIDOn() const {return fPHOSPID ; }
68 void Print(const Option_t * opt)const;
70 void SetMinGammaPt(Double_t ptcut){fMinGammaPt =ptcut;}
71 void SetCalorimeter(TString calo){ fCalorimeter= calo ; }
72 void SetPrintInfo(Bool_t print){ fPrintInfo = print ; }
73 void SetConeSize(Float_t r) {fConeSize = r ; }
74 void SetPtThreshold(Float_t pt) {fPtThreshold = pt; };
75 void SetPtSumThreshold(Float_t pt) {fPtSumThreshold = pt; };
76 void SetICMethod(Int_t i ) {fMakeICMethod = i ; }
78 void SetEMCALPIDOn(Bool_t pid){ fEMCALPID= pid ; }
79 void SetPHOSPIDOn(Bool_t pid){ fPHOSPID= pid ; }
81 void CreateParticleList(TClonesArray * particleList,
82 TClonesArray * plCh, TClonesArray * plNe,
83 TClonesArray * plNePHOS);
86 void GetPromptGamma(TClonesArray * plNe, TClonesArray * plCTS, TParticle * pGamma, Bool_t &Is) const;
88 void MakeIsolationCut(TClonesArray * plCTS, TClonesArray * plNe,
89 TParticle *pCandidate, Int_t index,
90 Bool_t &imcpt, Bool_t &icms, Float_t &ptsum) const ;
97 TTree *fChain ; //!pointer to the analyzed TTree or TChain
98 AliESD *fESD ; //! Declaration of leave types
99 TObjArray *fOutputContainer ; //! output data container
100 Bool_t fPrintInfo ; //Print most interesting information on screen
101 Double_t fMinGammaPt ; // Min pt in Calorimeter
102 TString fCalorimeter ; //PHOS or EMCAL detects Gamma
103 Bool_t fEMCALPID ;//Fill EMCAL particle lists with particles with corresponding pid
104 Bool_t fPHOSPID; //Fill PHOS particle lists with particles with corresponding pid
105 Float_t fConeSize ; //Size of the isolation cone
106 Float_t fPtThreshold ; //Mimium pt of the particles in the cone to set isolation
107 Float_t fPtSumThreshold ; //Mimium pt sum of the particles in the cone to set isolation
108 Int_t fMakeICMethod ; //Isolation cut method to be used
110 // 1: Pt threshold method
111 // 2: Cone pt sum method
117 ClassDef(AliAnaGammaDirect,0)
121 #endif //ALIANAGAMMADIRECT_H