]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/AliNeutralMesonSelection.h
coding conventions, compilation warnings, code cleanup
[u/mrichter/AliRoot.git] / PWG4 / AliNeutralMesonSelection.h
1 #ifndef ALINEUTRALMESONSELECTION_H
2 #define ALINEUTRALMESONSELECTION_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 // Class that contains methods to select candidate pairs to neutral meson 
17 //-- Author: Gustavo Conesa (INFN-LNF)
18
19 // --- ROOT system ---
20 #include<TObject.h>
21 #include <TArrayD.h>
22
23 class TLorentzVector ;
24 class TParticle ;
25 class TList ;
26 class TH2F ;
27
28 class AliNeutralMesonSelection : public TObject {
29
30  public: 
31   
32   AliNeutralMesonSelection() ; // default ctor
33   AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
34   AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
35   virtual ~AliNeutralMesonSelection() ; //virtual dtor
36
37   enum type_t {kSelectPhiMinPt, kSelectPhiPtRatio, kNoSelectPhiPt};
38
39   TList * GetCreateOutputObjects();
40   
41   Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
42   void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; }
43   
44   Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
45   Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
46   void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
47   {fInvMassMaxCut =invmassmax;  fInvMassMinCut =invmassmin;}    
48   
49   Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; }
50   Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; }
51   void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
52   {fDeltaPhiMaxCut =phimax;  fDeltaPhiMinCut =phimin;}
53
54   Double_t GetRatioMaxCut() const {return fRatioMaxCut ; }
55   Double_t GetRatioMinCut() const {return fRatioMinCut ; }
56   void SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
57   {fRatioMaxCut = ratiomax;  fRatioMinCut = ratiomin;}
58
59   Float_t    GetMinPt() const {return fMinPt ; }
60   void SetMinPt(Float_t pt){fMinPt = pt; };
61
62   Double_t GetMass() const {return fM ; }
63   void SetMass(Double_t m) { fM =m ; }
64   
65   Int_t GetPhiPtSelection(){  return fSelect ; }
66   void SetPhiPtSelection(Int_t ana ){  fSelect = ana ; }
67
68   Bool_t AreNeutralMesonSelectionHistosKept() { return fKeepNeutralMesonHistos ; }
69   void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
70
71   void InitParameters();        
72   Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
73   void Print(const Option_t * opt) const;
74
75   Bool_t  CutPtPhi(Double_t ptg, Double_t phig, Double_t pt, Double_t phi) ;
76   Bool_t  SelectPair(TParticle * photon, TLorentzVector particlei,  TLorentzVector particlej)  ;
77   
78   private:
79   Int_t fSelect; //Pair selection depends on analysis
80   Double_t fM ; //mass of the neutral meson
81   Double_t   fInvMassMaxCut ;  // Invariant Mass cut maximum
82   Double_t   fInvMassMinCut ;  // Invariant Masscut minimun
83   TArrayD    fAngleMaxParam ; //Max opening angle selection parameters
84   Double_t   fMinPt;       // Minimum pt 
85   Double_t   fDeltaPhiMaxCut ;      // 
86   Double_t   fDeltaPhiMinCut ;      // 
87   Double_t   fRatioMaxCut ;    // Leading particle/gamma Ratio cut maximum
88   Double_t   fRatioMinCut ;    // Leading particle/gamma Ratio cut minimum
89   Bool_t  fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms
90
91   //Histograms
92   TH2F * fhAnglePairNoCut  ; 
93   TH2F * fhAnglePairCorrelationCut  ; 
94   TH2F * fhAnglePairOpeningAngleCut   ; 
95   TH2F * fhAnglePairAllCut   ; 
96   TH2F * fhInvMassPairNoCut    ; 
97   TH2F * fhInvMassPairCorrelationCut    ;
98   TH2F * fhInvMassPairOpeningAngleCut  ; 
99   TH2F * fhInvMassPairAllCut   ; 
100   
101   ClassDef(AliNeutralMesonSelection,0)
102     
103     } ;
104
105
106 #endif //ALINEUTRALMESONSELECTION_H
107
108
109