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