AliPhysics  e59a9ba (e59a9ba)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliRDHFCutsLctoeleLambdafromAODtracks.h
Go to the documentation of this file.
1 #ifndef ALIRDHFCUTSLCTOELELAMBDAFROMAODTRACKS_H
2 #define ALIRDHFCUTSLCTOELELAMBDAFROMAODTRACKS_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 
16 {
17  public:
18 
24  };
25 
26  AliRDHFCutsLctoeleLambdafromAODtracks(const char* name="CutsLctoeleLambda");
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);
39  Bool_t IsSelectedeID(AliAODTrack* trk);
40  Bool_t IsSelectedCustomizedeID(AliAODTrack* trk);
41  Bool_t IsSelectedCustomizedPtDepeID(AliAODTrack* trk, AliAODTrack *trkpid);
42  Bool_t IsSelectedCombinedeID(AliAODTrack* trk);
43  Int_t IsSelected(TLorentzVector* vtrk, TLorentzVector *vv0, Double_t *cutvars, Int_t selectionLevel);
44 
45  void SetPIDStrategy(EPIDStrategy pidStrategy){fPIDStrategy=pidStrategy;}
49 
50  void SetUseOnTheFlyV0(Bool_t a) { fUseOnTheFlyV0=a; }
51  Bool_t GetUseOnTheFlyV0() { return fUseOnTheFlyV0; }
52  void SetUseV0Topology(Int_t a) { fUseV0Topology=a; }
53  Int_t GetUseV0Topology() { return fUseV0Topology; }
54 
55  Bool_t SingleTrkCuts(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vert);
56  Bool_t SingleTrkCutsNoPID(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vert);
57  Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert);
58  Bool_t TagConversions(AliAODTrack *etrk, Int_t *id2index, AliAODEvent *evt, Int_t ntrk, Double_t &minmass);
59  Bool_t TagConversionsSameSign(AliAODTrack *etrk, Int_t *id2index, AliAODEvent *evt, Int_t ntrk, Double_t &minmass);
60  Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *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;}
74  void SetProdV0PtMax(Double_t a){fProdV0PtMax=a;}
81  void SetProdRfidMinV0(Double_t a){fProdRfidMinV0=a;}
82  void SetProdRfidMaxV0(Double_t a){fProdRfidMaxV0=a;}
87  void SetProdMassRejK0s(Double_t a){fProdMassRejK0s=a;}
88  void SetProdV0EtaRange(Double_t a, Double_t b){fProdV0EtaMin=a;fProdV0EtaMax=b;}
89  void SetProdV0RapRange(Double_t a, Double_t b){fProdV0RapMin=a;fProdV0RapMax=b;}
90 
92  void SetProdRoughPtMin(Double_t a){fProdRoughPtMin=a;}
93 
102  Double_t GetProdV0PtMin(){return fProdV0PtMin;}
103  Double_t GetProdV0PtMax(){return fProdV0PtMax;}
110  Double_t GetProdRfidMinV0(){return fProdRfidMinV0;}
111  Double_t GetProdRfidMaxV0(){return fProdRfidMaxV0;}
116  Double_t GetProdMassRejK0s(){return fProdMassRejK0s;}
117  void GetProdV0EtaRange(Double_t &a, Double_t &b){a=fProdV0EtaMin;b=fProdV0EtaMax;}
118  void GetProdV0RapRange(Double_t &a, Double_t &b){a=fProdV0RapMin;b=fProdV0RapMax;}
119 
121  Double_t GetProdRoughPtMin(){return fProdRoughPtMin;}
122 
123  void SetUseLambdaPID(Bool_t a){fUseLambdaPID=a;}
124  Bool_t GetUseLambdaPID(){return fUseLambdaPID;}
125  void SetPidProton(AliAODPidHF* pidProton) {
126  if(fPidObjProton) delete fPidObjProton;
127  fPidObjProton=new AliAODPidHF(*pidProton);
128  }
130  void SetPidPion(AliAODPidHF* pidPion) {
131  if(fPidObjPion) delete fPidObjPion;
132  fPidObjPion=new AliAODPidHF(*pidPion);
133  }
134  AliAODPidHF* GetPidPion() const {return fPidObjPion;}
140 
152  Bool_t IsPeakRegion(AliAODv0 *c);
153  Bool_t IsPeakRegion(TLorentzVector *c);
154  Bool_t IsSideBand(AliAODv0 *c);
155  Bool_t IsSideBand(TLorentzVector *c);
156  void SetSftPosR125(AliAODTrack *track,Double_t bfield,Double_t priVtx[3], Double_t *XSftR125);
157  void SetSftPosR(AliAODTrack *track,Double_t bfield,Double_t R, Double_t priVtx[3], Double_t *XSftR);
158  Double_t dEtaSR125(Double_t *postrack1,Double_t *postrack2);
159  Double_t dPhiSR125(Double_t *postrack1,Double_t *postrack2);
160  Double_t GetdPhiSdEtaSR125(AliAODTrack *tracke, AliAODTrack *trackp,AliAODTrack *trackn, Double_t bfield,Double_t priVtx[3], Double_t &dPhiS_ep, Double_t &dEtaS_ep,Double_t &dPhiS_en, Double_t &dEtaS_en);
161  Double_t CalculatePhotonMass(AliAODTrack *track1, AliAODTrack *track2);
162  Double_t DeltaPhi(AliAODv0 *v0, AliAODTrack *trk);
163  Double_t DeltaEta(AliAODv0 *v0, AliAODTrack *trk);
164 
165  protected:
166 
167  private:
168 
171  Bool_t fUseLambdaPID;
174  Bool_t fUseOnTheFlyV0;
176  Double_t fBzkG;
177  Double_t fPrimVert[3];
178 
187  Double_t fProdV0PtMin;
188  Double_t fProdV0PtMax;
195  Double_t fProdRfidMinV0;
196  Double_t fProdRfidMaxV0;
201  Double_t fProdMassRejK0s;
202  Double_t fProdV0EtaMin;
203  Double_t fProdV0EtaMax;
204  Double_t fProdV0RapMin;
205  Double_t fProdV0RapMax;
206  Double_t fProdRoughMassTol;
207  Double_t fProdRoughPtMin;
208 
222 
224 
228 };
229 
230 #endif
Bool_t SingleV0Cuts(AliAODv0 *v0, AliAODVertex *vert)
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)=0
Double_t fProdV0DaughterTPCCrossRatioMin
V0 daughter Minimum TPC cluster pT used before object creation.
Double_t fProdV0ProperDecayLengthMax
Min Dca between v0-pion and PV.
Double_t fSigmaElectronTPCMin
nSigma to exclude for Kaon band
AliAODPidHF * fPidObjProton
Use PID for proton from Lc.
Double_t fProdRoughMassTol
Maximum rapidity of cascade.
AliRDHFCutsLctoeleLambdafromAODtracks & operator=(const AliRDHFCutsLctoeleLambdafromAODtracks &source)
Bool_t TagConversions(AliAODTrack *etrk, Int_t *id2index, AliAODEvent *evt, Int_t ntrk, Double_t &minmass)
Double_t fProdV0CosPointingAngleToPrimVtxMin
Max Lambda pT used before object creation.
Double_t fProdV0PtMin
Lambda mass selection used before object creation.
Int_t fUseV0Topology
Flag to check if we use on-the-fly v0.
Double_t fProdV0PtMax
Minimum Lambda pT used before object creation.
void SetSftPosR125(AliAODTrack *track, Double_t bfield, Double_t priVtx[3], Double_t *XSftR125)
Double_t fExcludenSigmaKaonTPC
nSigma to exclude for proton band
Bool_t fProdRejectTrackWithShared
AOD filter Bit used before object creation.
Bool_t SingleTrkCuts(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vert)
Bool_t fExcludePionTPC
pT cut for Lc used before object creation
Double_t fProdTrackTPCNclsRatioMin
Min. Number of TPC PID cluster.
Double_t fSigmaElectronTPCPtDepPar1
nSigma electron lower limit (par0)
Double_t fSigmaElectronTPCPtDepPar0
nSigma to exclude for Kaon band
virtual Int_t IsSelectedPID(AliAODRecoDecayHF *)
Definition: AliRDHFCuts.h:281
Double_t fExcludenSigmaProtonTPC
nSigma to exclude for pion band
Double_t fProdDcaV0PrToPrimVertexMin
Min Dca between v0 and PV.
Int_t fProdAODFilterBit
Flag for AOD filter Bit used before object creation.
virtual void GetCutVarsForOpt(AliAODRecoDecayHF *d, Float_t *vars, Int_t nvars, Int_t *pdgdaughters)
Bool_t fProdV0KinkRejection
Flag to Reject tracks with shared clusters.
Double_t fProdV0DaughterEtaRange
Max DCA between V0 daughters used before object creation.
Bool_t fUseLambdaPID
Threshold used in IsSelectedCombinedPID.
Double_t fSigmaElectronTOFMin
nSigma to exclude for Kaon band
Bool_t fExcludeKaonTPC
Flag wheter to exlude proton band.
Double_t fProdRoughPtMin
Mass cut for Lc used before object creation.
Double_t fProdDcaV0PiToPrimVertexMin
Min Dca between v0-proton and PV.
void GetSigmaElectronTPCPtDepPars(Double_t &a, Double_t &b, Double_t &c)
Double_t fSigmaElectronTOFMax
nSigma to exclude for Kaon band
Double_t fBzkG
0: Cowboy+Sailor 1: Cowboy 2:Sailor
Bool_t TagConversionsSameSign(AliAODTrack *etrk, Int_t *id2index, AliAODEvent *evt, Int_t ntrk, Double_t &minmass)
Bool_t fUseOnTheFlyV0
PID object for proton from Lc.
Double_t fSigmaElectronTPCPtDepPar2
nSigma electron lower limit (par1)
void SetSftPosR(AliAODTrack *track, Double_t bfield, Double_t R, Double_t priVtx[3], Double_t *XSftR)
Bool_t SelectWithRoughCuts(AliAODv0 *v0, AliAODTrack *trk1)
Double_t fProdV0EtaMin
Rejection range of Omega mass from PDG value.
Double_t fProdV0DaughterTPCClusterMin
V0 Daughter pT min used before object creation.
Double_t fExcludenSigmaPionTPC
Flag wheter to exlude proton band.
Bool_t fExcludeProtonTPC
Flag wheter to exlude pion band.
Bool_t SingleTrkCutsNoPID(AliAODTrack *trk, AliAODTrack *trkpid, AliAODVertex *vert)
Double_t fConversionMassMax
nSigma to exclude for Kaon band
Double_t fProdV0MassTolLambdaRough
Lambda mass selection used before object creation.
Bool_t IsSelectedCustomizedPtDepeID(AliAODTrack *trk, AliAODTrack *trkpid)
Bool_t fProdUseAODFilterBit
Min. Number of TPC PID cluster.
Bool_t IsSelected(TObject *obj)
Definition: AliRDHFCuts.h:274
Double_t fSigmaElectronTPCMax
nSigma electron lower limit (par2)
virtual Int_t IsSelected(TObject *obj, Int_t selectionLevel)
Double_t fProdRfidMinV0
V0 daughter Minimum TPC cluster pT used before object creation.
Double_t fProdV0DcaDaughtersMax
V0 pointing angle used before object creation.
Double_t dPhiSR125(Double_t *postrack1, Double_t *postrack2)
AliRDHFCutsLctoeleLambdafromAODtracks(const char *name="CutsLctoeleLambda")
void SetSigmaElectronTPCPtDepPars(Double_t a, Double_t b, Double_t c)
Double_t dEtaSR125(Double_t *postrack1, Double_t *postrack2)
AliAODPidHF * fPidObjPion
PID object for proton from Lc.
Double_t fProdV0DaughterPtMin
V0Daughter eta range used before object creation.
Double_t GetdPhiSdEtaSR125(AliAODTrack *tracke, AliAODTrack *trackp, AliAODTrack *trackn, Double_t bfield, Double_t priVtx[3], Double_t &dPhiS_ep, Double_t &dEtaS_ep, Double_t &dPhiS_en, Double_t &dEtaS_en)
Double_t CalculatePhotonMass(AliAODTrack *track1, AliAODTrack *track2)