AliPhysics  c0d7b22 (c0d7b22)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliRDHFCutsLctopK0sfromAODtracks.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSLCTOPK0SFROMAODTRACKS_H
2 #define ALIRDHFCUTSLCTOPK0SFROMAODTRACKS_H
3 /* Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
8 //***********************************************************
11 //***********************************************************
12 
13 #include "AliRDHFCuts.h"
14 
15 class TLorentzVector;
16 
18 {
19  public:
20 
24  };
25 
26  AliRDHFCutsLctopK0sfromAODtracks(const char* name="CutsLctopK0s");
30 
32  virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters);
33 
35  virtual Int_t IsSelected(TObject* obj,Int_t selectionLevel);
37  virtual Int_t IsSelectedPID(AliAODRecoDecayHF* obj);
38  Int_t IsSelected(TLorentzVector* t1, TLorentzVector *t2, Double_t *info, Int_t selectionLevel);
40  Double_t GetProtonProbabilityTPCTOF(AliAODTrack *trk);
41  Bool_t IsSelectedProtonID(AliAODTrack* trk);
42  Bool_t IsSelectedKaonID(AliAODTrack* trk);
43 
44  void SetPIDStrategy(EPIDStrategy pidStrategy){fPIDStrategy=pidStrategy;}
48 
49  void SetUseOnTheFlyV0(Bool_t a) { fUseOnTheFlyV0=a; }
50  Bool_t GetUseOnTheFlyV0() { return fUseOnTheFlyV0; }
51 
52  Bool_t SingleTrkCuts(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vtx);
53  Bool_t SingleKaonCuts(AliAODTrack *trk, AliAODVertex *vtx);
54  Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert);
55  Bool_t TagV0(AliAODTrack *etrk, AliAODEvent *evt, Int_t ntrk, Double_t &minmass);
56  Bool_t TagV0SameSign(AliAODTrack *etrk, AliAODEvent *evt, Int_t ntrk, Double_t &minmass);
57  Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *trk1);
58  Bool_t SelectWithRoughCuts(TLorentzVector *v0, TLorentzVector *trk1);
59  Bool_t SelectWithRoughCutsWS(AliAODTrack *vka, AliAODTrack *trk1);
60  Bool_t SelectWithRoughCutsWS(TLorentzVector *vka, TLorentzVector *trk1);
61 
62  void SetMagneticField(Double_t a){fBzkG = a;}
63  void SetPrimaryVertex(Double_t *a){fPrimVert[0] = a[0];fPrimVert[1] = a[1];fPrimVert[2] = a[2];}
64 
73  void SetProdV0PtMin(Double_t a){fProdV0PtMin=a;}
79  void SetProdV0EtaRange(Double_t a, Double_t b){fProdV0EtaMin=a;fProdV0EtaMax=b;}
80  void SetProdV0RapRange(Double_t a, Double_t b){fProdV0RapMin=a;fProdV0RapMax=b;}
82  void SetProdRoughPtMin(Double_t a){fProdRoughPtMin=a;}
83  void SetTagV0MassTol(Double_t a){fTagV0MassTol=a;}
84 
93  Double_t GetProdV0PtMin(){return fProdV0PtMin;}
99  void GetProdV0EtaRange(Double_t &a, Double_t &b){a=fProdV0EtaMin;b=fProdV0EtaMax;}
100  void GetProdV0RapRange(Double_t &a, Double_t &b){a=fProdV0RapMin;b=fProdV0RapMax;}
102  Double_t GetProdRoughPtMin(){return fProdRoughPtMin;}
103  Double_t GetTagV0MassTol(){return fTagV0MassTol;}
104 
105  Double_t CalculateLcCosPAXY(AliAODRecoDecayHF *obj);
106 
107  void SetMixingWeights(Int_t nbinpr, Double_t *bins_pr, Int_t nbink0s, Double_t *bins_k0s, Double_t *p0val, Double_t *p1val, Double_t *p2val, Double_t *p3val);
108  Double_t GetMixingWeight(Double_t dphi, Double_t deta, Double_t pt_pr, Double_t pt_k0s);
109 
110  protected:
111 
112  private:
113 
116  Bool_t fUseOnTheFlyV0;
117  Double_t fBzkG;
118  Double_t fPrimVert[3];
119 
125  Double_t fProdV0MassTolK0s;
128  Double_t fProdV0PtMin;
134  Double_t fProdV0EtaMin;
135  Double_t fProdV0EtaMax;
136  Double_t fProdV0RapMin;
137  Double_t fProdV0RapMax;
138  Double_t fProdRoughMassTol;
139  Double_t fProdRoughPtMin;
140 
142  Double_t *fWeightingProtonBins; //[fNWeightingProtonBinLimits] ptbin of proton weighting
144  Double_t *fWeightingK0sBins; //[fNWeightingK0sBinLimits] ptbin of k0s weighting
146  Double_t *fWeight_p0; //[fNWeightingBins] p0 values
147  Double_t *fWeight_p1; //[fNWeightingBins] p1 values
148  Double_t *fWeight_p2; //[fNWeightingBins] p2 values
149  Double_t *fWeight_p3; //[fNWeightingBins] p3 values
150 
151  Double_t fTagV0MassTol; //V0 tagging tolorance
152 
156 };
157 
158 #endif
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
Double_t * fWeight_p0
Number of bins for mixing weight should be proton x k0s.
Bool_t SingleTrkCuts(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vtx)
Double_t fProdV0MassRejLambda
K0s mass selection used before object creation.
Double_t fProdV0EtaMin
V0 daughter Minimum TPC cluster pT used before object creation.
Double_t GetMixingWeight(Double_t dphi, Double_t deta, Double_t pt_pr, Double_t pt_k0s)
Double_t fProdV0DaughterTPCClusterMin
V0 Daughter pT min used before object creation.
Double_t fProdTrackTPCNclsRatioMin
Min. Number of TPC PID cluster.
Double_t fBzkG
Flag to check if we use on-the-fly v0.
void GetProdV0EtaRange(Double_t &a, Double_t &b)
AliRDHFCutsLctopK0sfromAODtracks & operator=(const AliRDHFCutsLctopK0sfromAODtracks &source)
Double_t fProdRoughPtMin
Mass cut for Lc used before object creation.
Double_t fProdV0RapMax
Minimum rapidity of cascade.
Double_t * fWeightingK0sBins
Number of bins for k0s.
Double_t fProdV0DaughterEtaRange
Max DCA between V0 daughters used before object creation.
Double_t fProdV0MassTolK0s
Flag to Reject tracks with shared clusters.
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:281
Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert)
Double_t fProdV0CosPointingAngleToPrimVtxMin
Minimum K0s pT used before object creation.
Double_t fProdRoughMassTol
Maximum rapidity of cascade.
Double_t fProdV0PtMin
photon mass rejection used before object creation
Double_t CalculateLcCosPAXY(AliAODRecoDecayHF *obj)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Bool_t fUseOnTheFlyV0
Threshold used in IsSelectedCombinedPID.
Double_t fProdV0DcaDaughtersMax
V0 pointing angle used before object creation.
Double_t fProdV0RapMin
Maximum eta of cascade.
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *obj)
void GetProdV0RapRange(Double_t &a, Double_t &b)
Bool_t SelectWithRoughCutsWS(AliAODTrack *vka, AliAODTrack *trk1)
Bool_t fProdUseAODFilterBit
Min. Number of TPC PID cluster.
Double_t fProdV0DaughterPtMin
V0Daughter eta range used before object creation.
Double_t fProdV0EtaMax
Minimum eta of cascade.
Double_t * fWeightingProtonBins
Number of bins for proton.
Bool_t SingleKaonCuts(AliAODTrack *trk, AliAODVertex *vtx)
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
AliRDHFCutsLctopK0sfromAODtracks(const char *name="CutsLctopK0s")
Int_t fNWeightingProtonBinLimits
pT cut for Lc used before object creation
Bool_t TagV0(AliAODTrack *etrk, AliAODEvent *evt, Int_t ntrk, Double_t &minmass)
void SetMixingWeights(Int_t nbinpr, Double_t *bins_pr, Int_t nbink0s, Double_t *bins_k0s, Double_t *p0val, Double_t *p1val, Double_t *p2val, Double_t *p3val)
Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *trk1)
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:274
Bool_t TagV0SameSign(AliAODTrack *etrk, AliAODEvent *evt, Int_t ntrk, Double_t &minmass)
void SetPIDStrategy(EPIDStrategy pidStrategy)
Bool_t fProdRejectTrackWithShared
AOD filter Bit used before object creation.
Double_t fProdV0MassRejPhoton
lambda mass rejection used before object creation
Int_t fProdAODFilterBit
Flag for AOD filter Bit used before object creation.