]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/AliNeutralMesonSelection.h
New class for particle selection
[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
3bb2c538 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.
bdcfac30 23//-- Author: Gustavo Conesa (INFN-LNF)
24
25// --- ROOT system ---
26#include<TObject.h>
3bb2c538 27#include<TArrayD.h>
bdcfac30 28
29class TLorentzVector ;
30class TParticle ;
31class TList ;
32class TH2F ;
3bb2c538 33class Riostream ;
34
35//--- AliRoot system ---
36class AliLog ;
bdcfac30 37
38class AliNeutralMesonSelection : public TObject {
39
40 public:
41
42 AliNeutralMesonSelection() ; // default ctor
43 AliNeutralMesonSelection(const AliNeutralMesonSelection & g) ; // cpy ctor
44 AliNeutralMesonSelection & operator = (const AliNeutralMesonSelection & g) ;//cpy assignment
45 virtual ~AliNeutralMesonSelection() ; //virtual dtor
46
3bb2c538 47 enum Type {kSelectPhiMinPt, kSelectPhiPtRatio, kNoSelectPhiPt};
bdcfac30 48
49 TList * GetCreateOutputObjects();
50
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) ; }
53
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;}
58
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;}
63
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;}
68
69 Float_t GetMinPt() const {return fMinPt ; }
70 void SetMinPt(Float_t pt){fMinPt = pt; };
71
72 Double_t GetMass() const {return fM ; }
73 void SetMass(Double_t m) { fM =m ; }
74
3bb2c538 75 Int_t GetPhiPtSelection() const { return fSelect ; }
bdcfac30 76 void SetPhiPtSelection(Int_t ana ){ fSelect = ana ; }
77
3bb2c538 78 Bool_t AreNeutralMesonSelectionHistosKept() const { return fKeepNeutralMesonHistos ; }
bdcfac30 79 void KeepNeutralMesonSelectionHistos(Bool_t keep) { fKeepNeutralMesonHistos = keep ; }
80
81 void InitParameters();
3bb2c538 82 Bool_t IsAngleInWindow(const Float_t angle, const Float_t e) const ;
bdcfac30 83 void Print(const Option_t * opt) const;
84
3bb2c538 85 Bool_t CutPtPhi(Double_t ptg, Double_t phig, Double_t pt, Double_t phi) const ;
bdcfac30 86 Bool_t SelectPair(TParticle * photon, TLorentzVector particlei, TLorentzVector particlej) ;
87
88 private:
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
3bb2c538 95 Double_t fDeltaPhiMaxCut ; // Leading particle - gamma Ratio cut maximum
96 Double_t fDeltaPhiMinCut ; // Leading particle - gamma Ratio cut maximum
bdcfac30 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
100
101 //Histograms
3bb2c538 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
bdcfac30 110
4b707925 111 ClassDef(AliNeutralMesonSelection,1)
bdcfac30 112
113 } ;
114
115
116#endif //ALINEUTRALMESONSELECTION_H
117
118
119