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.2 2007/08/17 12:40:04 schutz
11 * New analysis classes by Gustavo Conesa
13 * Revision 1.1.2.1 2007/07/26 10:32:09 schutz
14 * new analysis classes in the the new analysis framework
18 //_________________________________________________________________________
19 // Class that contains methods to select candidate pairs to neutral meson
20 // 2 main selections, invariant mass around pi0 (also any other mass),
21 // apperture angle to distinguish from combinatorial.
22 // There is a 3rd cut based on the gamma correlation on phi or pt.
23 //-- Author: Gustavo Conesa (INFN-LNF)
25 // --- ROOT system ---
29 class TLorentzVector ;
35 //--- AliRoot system ---
38 class AliNeutralMesonSelection : public TObject {
42 AliNeutralMesonSelection() ; // default ctor
43 AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
44 AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
45 virtual ~AliNeutralMesonSelection() ; //virtual dtor
47 enum Type {kSelectPhiMinPt, kSelectPhiPtRatio, kNoSelectPhiPt};
49 TList * GetCreateOutputObjects();
51 Double_t GetAngleMaxParam(Int_t i) const {return fAngleMaxParam.At(i) ; }
52 void SetAngleMaxParam(Int_t i, Double_t par){fAngleMaxParam.AddAt(par,i) ; }
54 Double_t GetInvMassMaxCut() const {return fInvMassMaxCut ; }
55 Double_t GetInvMassMinCut() const {return fInvMassMinCut ; }
56 void SetInvMassCutRange(Double_t invmassmin, Double_t invmassmax)
57 {fInvMassMaxCut =invmassmax; fInvMassMinCut =invmassmin;}
59 Double_t GetDeltaPhiMaxCut() const {return fDeltaPhiMaxCut ; }
60 Double_t GetDeltaPhiMinCut() const {return fDeltaPhiMinCut ; }
61 void SetDeltaPhiCutRange(Double_t phimin, Double_t phimax)
62 {fDeltaPhiMaxCut =phimax; fDeltaPhiMinCut =phimin;}
64 Double_t GetRatioMaxCut() const {return fRatioMaxCut ; }
65 Double_t GetRatioMinCut() const {return fRatioMinCut ; }
66 void SetRatioCutRange(Double_t ratiomin, Double_t ratiomax)
67 {fRatioMaxCut = ratiomax; fRatioMinCut = ratiomin;}
69 Float_t GetMinPt() const {return fMinPt ; }
70 void SetMinPt(Float_t pt){fMinPt = pt; };
72 Double_t GetMass() const {return fM ; }
73 void SetMass(Double_t m) { fM =m ; }
75 Int_t GetPhiPtSelection() const { return fSelect ; }
76 void SetPhiPtSelection(Int_t ana ){ fSelect = ana ; }
78 Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; }
79 void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
81 void InitParameters();
82 Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ;
83 void Print(const Option_t * opt) const;
85 Bool_t CutPtPhi(Double_t ptg, Double_t phig, Double_t pt, Double_t phi) const ;
86 Bool_t SelectPair(TParticle * photon, TLorentzVector particlei, TLorentzVector particlej) ;
89 Int_t fSelect; //Pair selection depends on analysis
90 Double_t fM ; //mass of the neutral meson
91 Double_t fInvMassMaxCut ; // Invariant Mass cut maximum
92 Double_t fInvMassMinCut ; // Invariant Masscut minimun
93 TArrayD fAngleMaxParam ; //Max opening angle selection parameters
94 Double_t fMinPt; // Minimum pt
95 Double_t fDeltaPhiMaxCut ; // Leading particle - gamma Ratio cut maximum
96 Double_t fDeltaPhiMinCut ; // Leading particle - gamma Ratio cut maximum
97 Double_t fRatioMaxCut ; // Leading particle/gamma Ratio cut maximum
98 Double_t fRatioMinCut ; // Leading particle/gamma Ratio cut minimum
99 Bool_t fKeepNeutralMesonHistos ; // Keep neutral meson selection histograms
102 TH2F * fhAnglePairNoCut ; //Aperture angle of decay photons, no cuts
103 TH2F * fhAnglePairCorrelationCut ; //Aperture angle of decay photons, cut on phi/pT correlation with prompt gamma
104 TH2F * fhAnglePairOpeningAngleCut ; //Aperture angle of decay photons, cut on opening angle
105 TH2F * fhAnglePairAllCut ; //Aperture angle of decay photons, all cuts
106 TH2F * fhInvMassPairNoCut ; //Invariant mass of decay photons, no cuts
107 TH2F * fhInvMassPairCorrelationCut ; //Invariant mass of decay photons, cut on phi/pT correlation with prompt gamma
108 TH2F * fhInvMassPairOpeningAngleCut ; //Invariant mass of decay photons, cut on opening angle
109 TH2F * fhInvMassPairAllCut ; //Invariant mass of decay photons, all cuts
111 ClassDef(AliNeutralMesonSelection,1)
116 #endif //ALINEUTRALMESONSELECTION_H