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 */
7 /* History of cvs commits:
10 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
11 * new analysis classes in the the new analysis framework
15 //_________________________________________________________________________
16 // Class that contains methods to select candidate pairs to neutral meson
17 //-- Author: Gustavo Conesa (INFN-LNF)
19 // --- ROOT system ---
23 class TLorentzVector ;
28 class AliNeutralMesonSelection : public TObject {
32 AliNeutralMesonSelection() ; // default ctor
33 AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
34 AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
35 virtual ~AliNeutralMesonSelection() ; //virtual dtor
37 enum type_t {kSelectPhiMinPt, kSelectPhiPtRatio, kNoSelectPhiPt};
39 TList * GetCreateOutputObjects();
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) ; }
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;}
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;}
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;}
59 Float_t GetMinPt() const {return fMinPt ; }
60 void SetMinPt(Float_t pt){fMinPt = pt; };
62 Double_t GetMass() const {return fM ; }
63 void SetMass(Double_t m) { fM =m ; }
65 Int_t GetPhiPtSelection(){ return fSelect ; }
66 void SetPhiPtSelection(Int_t ana ){ fSelect = ana ; }
68 Bool_t AreNeutralMesonSelectionHistosKept() { return fKeepNeutralMesonHistos ; }
69 void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
71 void InitParameters();
72 Bool_t IsAngleInWindow(const Float_t angle, const Float_t e);
73 void Print(const Option_t * opt) const;
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) ;
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
92 TH2F * fhAnglePairNoCut ;
93 TH2F * fhAnglePairCorrelationCut ;
94 TH2F * fhAnglePairOpeningAngleCut ;
95 TH2F * fhAnglePairAllCut ;
96 TH2F * fhInvMassPairNoCut ;
97 TH2F * fhInvMassPairCorrelationCut ;
98 TH2F * fhInvMassPairOpeningAngleCut ;
99 TH2F * fhInvMassPairAllCut ;
101 ClassDef(AliNeutralMesonSelection,0)
106 #endif //ALINEUTRALMESONSELECTION_H