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.5 2007/08/17 12:40:04 schutz
11 * New analysis classes by Gustavo Conesa
13 * Revision 1.4.4.3 2007/07/26 10:32:09 schutz
14 * new analysis classes in the the new analysis framework
19 //_________________________________________________________________________
21 // Class for the analysis of prompt gamma, isolation cut.
23 // Class created from old AliPHOSGammaJet
24 // (see AliRoot versions previous Release 4-09)
26 //*-- Author: Gustavo Conesa (INFN-LNF)
28 // --- ROOT system ---
29 #include <TParticle.h>
30 #include <TClonesArray.h>
37 class AliAnaGammaDirect : public TObject {
41 AliAnaGammaDirect() ; // default ctor
42 AliAnaGammaDirect(const AliAnaGammaDirect & g) ; // cpy ctor
43 AliAnaGammaDirect & operator = (const AliAnaGammaDirect & g) ;//cpy assignment
44 virtual ~AliAnaGammaDirect() ; //virtual dtor
46 enum Anatype {kNoIC, kPtIC, kSumPtIC, kSeveralIC};
48 Double_t GetMinGammaPt() const {return fMinGammaPt ; }
49 Float_t GetConeSize() const {return fConeSize ; }
50 Float_t GetPtThreshold() const {return fPtThreshold ; }
51 Float_t GetPtSumThres() const {return fPtSumThreshold ; }
52 Int_t GetICMethod() const {return fICMethod ; }
53 Bool_t IsMC() const {return fAnaMC ; };
55 TList * GetCreateOutputObjects();
56 void GetPromptGamma(TClonesArray * plNe, TClonesArray * plCTS, TClonesArray * plPrimNe, TParticle * pGamma, Bool_t &Is) const;
58 void MakeSeveralICAnalysis(TClonesArray * plCalo, TClonesArray * plCTS);
59 void MakeIsolationCut(TClonesArray * plCTS, TClonesArray * plNe,
60 TParticle *pCandidate, Int_t index, Int_t &n,
61 Bool_t &imcpt, Bool_t &icms, Float_t &ptsum) const ;
63 void Print(const Option_t * opt)const;
65 void SetMinGammaPt(Double_t ptcut){fMinGammaPt =ptcut;}
66 void SetConeSize(Float_t r) {fConeSize = r ; }
67 void SetPtThreshold(Float_t pt) {fPtThreshold = pt; };
68 void SetPtSumThreshold(Float_t pt) {fPtSumThreshold = pt; };
69 void SetICMethod(Int_t i ) {fICMethod = i ; }
70 void SetMC() {fAnaMC = kTRUE ; }
71 void SetIsolatePi0(Bool_t iso) {fIsolatePi0 = iso ; }
73 Int_t GetNCones() const {return fNCones ; }
74 Int_t GetNPtThresholds() const {return fNPtThres ; }
75 Float_t GetConeSizes(Int_t i) const {return fConeSizes[i] ; }
76 Float_t GetPtThresholds(Int_t i) const {return fPtThresholds[i] ; }
78 void InitParameters();
80 void SetNCones(Int_t ncs) {fNCones = ncs ; }
81 void SetNPtThresholds(Int_t npt) {fNPtThres = npt; }
82 void SetConeSizes(Int_t i, Float_t r) {fConeSizes[i] = r ; }
83 void SetPtThresholds(Int_t i, Float_t pt) {fPtThresholds[i] = pt; }
88 Double_t fMinGammaPt ; // Min pt in Calorimeter
89 Float_t fConeSize ; //Size of the isolation cone
90 Float_t fPtThreshold ; //Mimium pt of the particles in the cone to set isolation
91 Float_t fPtSumThreshold ; //Mimium pt sum of the particles in the cone to set isolation
92 Int_t fICMethod ; //Isolation cut method to be used
93 // kNoIC: No isolation
94 // kPtIC: Pt threshold method
95 // kSumPtIC: Cone pt sum method
96 // kSeveralIC: Analysis for several cuts
97 Bool_t fAnaMC ; //Set in case of using MCData reader
98 Bool_t fIsolatePi0 ; //Consider identified pi0 in the isolation study.
100 TH1F * fhNGamma ; //Number of (isolated) gamma identified
101 TH2F * fhPhiGamma ; // Phi of identified gamma
102 TH2F * fhEtaGamma ; // eta of identified gamma
103 TH2F * fhConeSumPt ; // Sum Pt in the cone
105 TNtuple * fntuplePrompt ; //List of found prompt photons, pt, eta and phi. Also primary information.
107 //Prompt photon analysis data members for multiple cones and pt thresholds kIsolationCut
108 Int_t fNCones ; //Number of cone sizes to test
109 Int_t fNPtThres ; //Number of ptThres to test
110 Float_t fConeSizes[10] ; // Array with cones to test
111 Float_t fPtThresholds[10] ; // Array with pt thresholds to test
113 TH1F* fhPtThresIsolated[20][20]; // Isolated gamma with pt threshold
114 TH2F* fhPtSumIsolated[20] ; // Isolated gamma with threshold on cone pt sume
115 TNtuple * fntSeveralIC[20] ; //ntuple
117 ClassDef(AliAnaGammaDirect,1)
121 #endif //ALIANAGAMMADIRECT_H