]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliAnaGammaCorrelation.h
New analysis classes by Gustavo Conesa
[u/mrichter/AliRoot.git] / PWG4 / AliAnaGammaCorrelation.h
1 #ifndef ALIANAGAMMACORRELATION_H
2 #define ALIANAGAMMACORRELATION_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$
10  * Revision 1.1.2.1  2007/07/26 10:32:09  schutz
11  * new analysis classes in the the new analysis framework
12  *
13  *
14  */
15
16 //_________________________________________________________________________
17 // Base class for  gamma correlations 
18 //*-- Author: Gustavo Conesa (INFN-LNF)
19
20 // --- ROOT system ---
21 #include <TParticle.h> 
22 #include <TClonesArray.h> 
23 #include <TH2F.h>
24 #include<TObject.h>
25 #include<TList.h>
26
27 class AliNeutralMesonSelection ;
28
29 class AliAnaGammaCorrelation : public TObject {
30
31 public: 
32   
33   AliAnaGammaCorrelation() ; // default ctor
34   AliAnaGammaCorrelation(const AliAnaGammaCorrelation & g) ; // cpy ctor
35   AliAnaGammaCorrelation & operator = (const AliAnaGammaCorrelation & g) ;//cpy assignment
36   virtual ~AliAnaGammaCorrelation() ; //virtual dtor
37
38   enum corrtype_t {kParton, kHadron, kJetLeadCone, kJetFinder};
39
40   //General methods
41
42   AliNeutralMesonSelection * GetNeutralMesonSelection() 
43   { return fNeutralMesonSelection ; }
44   void SetNeutralMesonSelection(AliNeutralMesonSelection * nms) 
45   { fNeutralMesonSelection = nms ; } 
46
47   TList * GetOutputContainer() {return fOutputContainer ;} 
48   void SetOutputContainer(TList * oc) {fOutputContainer = oc ;}  
49
50   void InitParameters();
51
52   Int_t GetCorrelationType(){  return fCorrelationType ; }
53   void SetCorrelationType(Int_t ana ){  fCorrelationType = ana ; }
54
55   void Print(const Option_t * opt) const;
56  
57   Bool_t     AreJetsOnlyInCTS() const {return fJetsOnlyInCTS ; } 
58   void SetJetsOnlyInCTS(Bool_t opt){fJetsOnlyInCTS = opt; }
59
60   virtual TList * GetCreateOutputObjects() {return fOutputContainer ;}
61   virtual void MakeGammaCorrelation(TParticle * p,  TClonesArray * ob1, TClonesArray * ob2)  {;}
62
63   //Gamma hadron correlations methods: kHadron
64   Float_t    GetMinPtHadron() const {return fMinPtHadron ; }
65   void SetMinPtHadron(Float_t pt){fMinPtHadron = pt; };
66   
67   Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; }
68   Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; }
69   void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
70   {fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin;}
71
72   Double_t GetRatioMaxCut() const {return fRatioMaxCut ; }
73   Double_t GetRatioMinCut() const {return fRatioMinCut ; }
74   void SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
75   {fRatioMaxCut = ratiomax;  fRatioMinCut = ratiomin;}
76   
77   private:
78   
79   TList * fOutputContainer; //Histograms container
80   AliNeutralMesonSelection *  fNeutralMesonSelection ; //! Pointer to pair selection for pi0 identification.
81
82   Int_t  fCorrelationType; //Type of correlation analysis
83   Bool_t   fJetsOnlyInCTS ;    // Jets measured only in TPC+ITS.
84   
85   private:
86   //Gamma hadron correlations data members kGammaHadron
87   Double_t   fMinPtHadron;       // Minimum pt of hadron (kHadron)
88   Double_t   fDeltaPhiMaxCut ;      // Minimum Delta Phi Gamma-Hadron/jet in leading cone
89   Double_t   fDeltaPhiMinCut ;      //  Maximum Delta Phi Gamma-Hadron/ jet in leading cone
90   Double_t   fRatioMaxCut ;    // Leading particle/gamma Ratio cut maximum (kLeadJetCone)
91   Double_t   fRatioMinCut ;    // Leading particle/gamma Ratio cut minimum (kLeadJetCone)
92   
93   ClassDef(AliAnaGammaCorrelation,0)
94 } ;
95  
96
97 #endif //ALIANAGAMMACORRELATION_H
98
99
100