AliPhysics  32b88a8 (32b88a8)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisVertexingHF.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISVERTEXINGHF_H
2 #define ALIANALYSISVERTEXINGHF_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
8 //-------------------------------------------------------------------------
14 //-------------------------------------------------------------------------
15 
16 #include <TNamed.h>
17 #include <TList.h>
18 
19 #include "AliAnalysisFilter.h"
20 #include "AliESDtrackCuts.h"
21 
22 class AliPIDResponse;
23 class AliESDVertex;
24 class AliAODRecoDecay;
25 class AliAODRecoDecayHF;
30 class AliAnalysisFilter;
31 class AliRDHFCuts;
32 class AliRDHFCutsD0toKpi;
39 class AliRDHFCutsLctoV0;
42 class AliESDtrack;
43 class AliVEvent;
44 class AliAODVertex;
45 class AliVertexerTracks;
46 class AliESDv0;
47 class AliAODv0;
48 
49 //-----------------------------------------------------------------------------
51  public:
52  //
56  virtual ~AliAnalysisVertexingHF();
57 
58  void FindCandidates(AliVEvent *event,
59  TClonesArray *aodVerticesHFTClArr,
60  TClonesArray *aodD0toKpiTClArr,
61  TClonesArray *aodJPSItoEleTClArr,
62  TClonesArray *aodCharm3ProngTClArr,
63  TClonesArray *aodCharm4ProngTClArr,
64  TClonesArray *aodDstarTClArr,
65  TClonesArray *aodCascadesTClArr,
66  TClonesArray *aodLikeSign2ProngTClArr,
67  TClonesArray *aodLikeSign3ProngTClArr);
68 
70  void FixReferences(AliAODEvent *aod);
71  Bool_t FillRecoCand(AliVEvent *event,AliAODRecoDecayHF3Prong *rd3);
72  Bool_t FillRecoCand(AliVEvent *event,AliAODRecoDecayHF2Prong *rd2);
73  Bool_t FillRecoCasc(AliVEvent *event,AliAODRecoCascadeHF *rc,Bool_t isDStar,Bool_t recoSecVtx=kFALSE);
74  void PrintStatus() const;
75  void SetSecVtxWithKF() { fSecVtxWithKF=kTRUE; }
76  void SetD0toKpiOn() { fD0toKpi=kTRUE; }
77  void SetD0toKpiOff() { fD0toKpi=kFALSE; }
78  void SetJPSItoEleOn() { fJPSItoEle=kTRUE; }
79  void SetJPSItoEleOff() { fJPSItoEle=kFALSE; }
80  void Set3ProngOn() { f3Prong=kTRUE; }
81  void Set3ProngOff() { f3Prong=kFALSE; }
82  void Set4ProngOn() { f4Prong=kTRUE; }
83  void Set4ProngOff() { f4Prong=kFALSE; }
84  void SetDstarOn() { fDstar=kTRUE; }
85  void SetDstarOff() { fDstar=kFALSE; }
86  void SetCascadesOn() { fCascades=kTRUE; }
87  void SetCascadesOff() { fCascades=kFALSE; }
88  void SetLikeSignOn() { fLikeSign=kTRUE; }
89  void SetLikeSignOff() {fLikeSign=kFALSE; fLikeSign3prong=kFALSE;}
92  void SetMixEventOn() { fMixEvent=kTRUE; }
93  void SetMixEventOff() { fMixEvent=kFALSE; }
94  void SetInputAOD() { fInputAOD=kTRUE; }
95  void SetMakeReducedRHF(Bool_t makeredAOD=kFALSE) { fMakeReducedRHF=makeredAOD; }
96  Bool_t GetD0toKpi() const { return fD0toKpi; }
97  Bool_t GetJPSItoEle() const { return fJPSItoEle; }
98  Bool_t Get3Prong() const { return f3Prong; }
99  Bool_t Get4Prong() const { return f4Prong; }
100  Bool_t GetDstar() const { return fDstar; }
101  Bool_t GetCascades() const { return fCascades; }
102  Bool_t GetLikeSign() const { return fLikeSign; }
104  Bool_t GetMixEvent() const { return fMixEvent; }
105  Bool_t GetInputAOD() const { return fInputAOD; }
111 
114 
121  void SetTrackFilter(AliAnalysisFilter* trackF) {
123  TList *l = (TList*)trackF->GetCuts();
124  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
125  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
126  fTrackFilter = trackF;
127  }
128  void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
130  TList *l = (TList*)trackF->GetCuts();
131  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
132  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
133  fTrackFilter2prongCentral = trackF;
134  fMaxCentPercentileForTightCuts=maxPercentile;
135  }
136  void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
138  TList *l = (TList*)trackF->GetCuts();
139  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
140  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
141  fTrackFilter3prongCentral = trackF;
142  fMaxCentPercentileForTightCuts=maxPercentile;
143  }
144  void SetTrackFilterSoftPi(AliAnalysisFilter* trackF) {
146  TList *l = (TList*)trackF->GetCuts();
147  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
148  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
149  fTrackFilterSoftPi = trackF;
150  }
151  void SetTrackFilterBachelor(AliAnalysisFilter* trackF) {
153  TList *l = (TList*)trackF->GetCuts();
154  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
155  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
156  fTrackFilterBachelor = trackF;
157  }
158  AliAnalysisFilter* GetTrackFilter() const { return fTrackFilter; }
159  AliAnalysisFilter* GetTrackFilterSoftPi() const { return fTrackFilterSoftPi; }
181 
182  void SetMasses();
184 
185  void SetUseTPCPID(Bool_t opt=kTRUE){fUseTPCPID=opt;}
186  void SetUseTOFPID(Bool_t opt=kTRUE){fUseTOFPID=opt;}
189  void SetUsePidTag(Bool_t opt=kTRUE){fUsePidTag=opt;}
202 
208 
211 
212 
213 
214  void GetnSigmaTOFforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
215  minnsigma=fnSigmaTOFPionLow;maxnsigma=fnSigmaTOFPionHi;
216  }
217  void GetnSigmaTPCforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
218  minnsigma=fnSigmaTPCPionLow;maxnsigma=fnSigmaTPCPionHi;
219  }
220  void GetnSigmaTOFforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
221  minnsigma=fnSigmaTOFKaonLow;maxnsigma=fnSigmaTOFKaonHi;
222  }
223  void GetnSigmaTPCforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
224  minnsigma=fnSigmaTPCKaonLow;maxnsigma=fnSigmaTPCKaonHi;
225  }
226  void GetnSigmaTOFforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
227  minnsigma=fnSigmaTOFProtonLow;maxnsigma=fnSigmaTOFProtonHi;
228  }
229  void GetnSigmaTPCforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
230  minnsigma=fnSigmaTPCProtonLow;maxnsigma=fnSigmaTPCProtonHi;
231  }
232 
233  Bool_t GetUseTPCPID() const {return fUseTPCPID;}
234  Bool_t GetUseTOFPID() const {return fUseTOFPID;}
237 
242 
243  void SetPidResponse(AliPIDResponse* p){fPidResponse=p;}
244 
245  //
246  private:
247  //
249 
252  Int_t *fAODMap; //[fAODMapSize] map between index and ID for AOD tracks
254 
255  AliVertexerTracks* fVertexerTracks;
257 
259 
263 
265  AliESDVertex *fV1;
266 
277 
278  AliPIDResponse* fPidResponse;
300 
302 
303  // single-track cuts
304  AliAnalysisFilter *fTrackFilter;
305  AliAnalysisFilter *fTrackFilter2prongCentral;
306  AliAnalysisFilter *fTrackFilter3prongCentral;
307  AliAnalysisFilter *fTrackFilterSoftPi;
308  AliAnalysisFilter *fTrackFilterBachelor;
309  // candidates cuts
320 
326  // dummies for invariant mass calculation
327  AliAODRecoDecay *fMassCalc2;
328  AliAODRecoDecay *fMassCalc3;
329  AliAODRecoDecay *fMassCalc4;
338 
341  Bool_t fMakeReducedRHF;// switch the reduction of dAOD size on/off
342 
349 
350 
351  //
352  void AddRefs(AliAODVertex *v,AliAODRecoDecayHF *rd,const AliVEvent *event,
353  const TObjArray *trkArray) const;
354  void AddDaughterRefs(AliAODVertex *v,const AliVEvent *event,
355  const TObjArray *trkArray) const;
356  AliAODRecoDecayHF2Prong* Make2Prong(TObjArray *twoTrackArray1,AliVEvent *event,
357  AliAODVertex *secVert,Double_t dcap1n1,
358  Bool_t &okD0,Bool_t &okJPSI,Bool_t &okD0fromDstar, Bool_t refill=kFALSE, AliAODRecoDecayHF2Prong *rd=0x0);
359  AliAODRecoDecayHF3Prong* Make3Prong(TObjArray *threeTrackArray,AliVEvent *event,
360  AliAODVertex *secVert,
361  Double_t dispersion,
362  const AliAODVertex *vertexp1n1,
363  const AliAODVertex *vertexp2n1,
364  Double_t dcap1n1,Double_t dcap2n1,Double_t dcap1p2,
365  Bool_t useForLc, Bool_t useForDs,
366  Bool_t &ok3Prong);
367  AliAODRecoDecayHF3Prong* Make3Prong(TObjArray *threeTrackArray,AliVEvent *event,
368  AliAODVertex *secVert,
369  Double_t dispersion,
370  Double32_t dist12,
371  Double32_t dist23,
372  Double_t dcap1n1,Double_t dcap2n1,Double_t dcap1p2,
374  AliAODRecoDecayHF4Prong* Make4Prong(TObjArray *fourTrackArray,AliVEvent *event,
375  AliAODVertex *secVert,
376  const AliAODVertex *vertexp1n1,
377  const AliAODVertex *vertexp1n1p2,
378  Double_t dcap1n1,Double_t dcap1n2,
379  Double_t dcap2n1,Double_t dcap2n2,
380  Bool_t &ok4Prong);
381  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
382  AliAODVertex *secVert,
383  AliAODRecoDecayHF2Prong *rd2Prong,
384  Double_t dca,
385  Bool_t &okDstar);
386  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
387  AliAODVertex *secVert,
388  AliAODv0 *v0,
389  Double_t dca,
390  Bool_t &okCascades);
391 
392  void MapAODtracks(AliVEvent *aod);
393  AliAODVertex* PrimaryVertex(const TObjArray *trkArray=0x0,AliVEvent *event=0x0) const;
394  AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
395 
396  Bool_t SelectInvMassAndPt3prong(Double_t *px,Double_t *py,Double_t *pz, Int_t pidLcStatus=3);
402 
406 
407  void SelectTracksAndCopyVertex(const AliVEvent *event,Int_t trkEntries,
408  TObjArray &seleTrksArray,
409  TObjArray &tracksAtVertex,
410  Int_t &nSeleTrks,
411  UChar_t *seleFlags,Int_t *evtNumber);
412  void SetParametersAtVertex(AliESDtrack* esdt, const AliExternalTrackParam* extpar) const;
413 
414  Bool_t SingleTrkCuts(AliESDtrack *trk,Float_t centralityperc, Bool_t &okDisplaced,Bool_t &okSoftPi, Bool_t &ok3prong, Bool_t &okBachelor) const;
415 
417 
418  AliAODv0* TransformESDv0toAODv0(AliESDv0 *esdv0,
419  TObjArray *twoTrackArrayV0);
420 
422  ClassDef(AliAnalysisVertexingHF,27); // Reconstruction of HF decay candidates
424 };
425 
426 #endif
AliAODRecoDecay * fMassCalc4
for 3 prong
Bool_t fUsePidTag
upper momentum limit to apply TPC PID
void SetPidResponse(AliPIDResponse *p)
AliAnalysisFilter * GetTrackFilterSoftPi() const
void SetCutsDstoK0sK(AliRDHFCutsDstoK0sK *cuts)
void SetUseTPCPIDOnlyIfNoTOF(Bool_t opt=kTRUE)
double Double_t
Definition: External.C:58
AliAnalysisFilter * fTrackFilterSoftPi
Track Filter for displaced vertices in PbPb central events (tighter cuts) for 3 prong (D+...
void GetnSigmaTOFforKaonSel(Double_t &minnsigma, Double_t &maxnsigma) const
void SetCutsJpsitoee(AliRDHFCutsJpsitoee *cuts)
AliRDHFCutsDplustoKpipi * GetCutsDplustoKpipi() const
Bool_t GetUseProtonPIDforLambdaC2V0() const
AliVertexerTracks * fVertexerTracks
AliPIDResponse * fPidResponse
event mixing
Int_t GetUseProtonPIDforLambdaC() const
AliRDHFCutsDstoK0sK * fCutsDstoK0sK
D+->Kpipi cuts.
AliAODVertex * ReconstructSecondaryVertex(TObjArray *trkArray, Double_t &dispersion, Bool_t useTRefArray=kTRUE) const
Double_t fnSigmaTOFPionHi
Low cut value on n. of sigmas for pi TOF PID.
Double_t fnSigmaTOFProtonHi
Low cut value on n. of sigmas for p TOF PID.
void SetTrackFilterSoftPi(AliAnalysisFilter *trackF)
void SetTrackFilter(AliAnalysisFilter *trackF)
AliAODVertex * PrimaryVertex(const TObjArray *trkArray=0x0, AliVEvent *event=0x0) const
AliAnalysisFilter * fTrackFilter3prongCentral
Track Filter for displaced vertices in PbPb central events (tighter cuts) for 2 prong (D0->Kpi) ...
AliAnalysisVertexingHF & operator=(const AliAnalysisVertexingHF &source)
void GetnSigmaTPCforProtonSel(Double_t &minnsigma, Double_t &maxnsigma) const
AliRDHFCutsDstoKKpi * fCutsDstoKKpi
Ds->K0s+K.
AliRDHFCutsJpsitoee * GetCutsJpsitoee() const
void SetCutsDstoKKpi(AliRDHFCutsDstoKKpi *cuts)
Bool_t fSecVtxWithKF
z componenent of field in kG
void SetCutsLctopKpi(AliRDHFCutsLctopKpi *cuts)
AliRDHFCutsDStartoKpipi * GetCutsDStartoKpipi() const
void SetMassCutBeforeVertexing(Bool_t flag)
AliRDHFCutsLctopKpi * fCutsLctopKpi
Ds->KKpi cuts.
Bool_t GetUseKaonPIDfor3Prong() const
AliRDHFCutsDstoKKpi * GetCutsDstoKKpi() const
Bool_t SelectInvMassAndPt3prong(Double_t *px, Double_t *py, Double_t *pz, Int_t pidLcStatus=3)
Int_t fnTrksTotal
triplet fullfilling Lc inv mass selection
Double_t fnSigmaTOFProtonLow
High cut value on n. of sigmas for p TPC PID.
Bool_t fOKInvMassDplus
pair fullfilling Jpsi inv mass selection
Double_t fnSigmaTPCKaonLow
High cut value on n. of sigmas for pi TOF PID.
Bool_t SingleTrkCuts(AliESDtrack *trk, Float_t centralityperc, Bool_t &okDisplaced, Bool_t &okSoftPi, Bool_t &ok3prong, Bool_t &okBachelor) const
Bool_t FillRecoCand(AliVEvent *event, AliAODRecoDecayHF3Prong *rd3)
Bool_t fUseTPCPIDOnlyIfNoTOF
switch use/not use TOF PID
void SetnSigmaTOFforProtonSel(Double_t nsl, Double_t nsh)
AliRDHFCutsD0toKpi * fCutsD0toKpi
Track Filter for bachelor.
Bool_t fMixEvent
Like-sign triplets.
void SetFindVertexForCascades(Bool_t vtx=kTRUE)
Bool_t fUseTOFPID
switch use/not use TPC PID
void SetV0TypeForCascadeVertex(Int_t type)
void SetTrackFilterBachelor(AliAnalysisFilter *trackF)
Bool_t fOKInvMassD0to4p
combination fullfilling D* inv mass selection
Bool_t fOKInvMassLc
triplet fullfilling Ds inv mass selection
Int_t * fAODMap
map between index and ID for AOD tracks
Double_t fnSigmaTPCPionLow
flag to control usage of PID tagging
Bool_t FillRecoCasc(AliVEvent *event, AliAODRecoCascadeHF *rc, Bool_t isDStar, Bool_t recoSecVtx=kFALSE)
Bool_t fFindVertexForCascades
reconstruct a secondary vertex or assume it's from the primary vertex
void GetnSigmaTPCforPionSel(Double_t &minnsigma, Double_t &maxnsigma) const
Double_t fnSigmaTPCKaonHi
Low cut value on n. of sigmas for K TPC PID.
Bool_t fUseKaonPIDfor3Prong
PID response.
AliRDHFCutsLctopKpi * GetCutsLctopKpi() const
AliRDHFCutsDplustoK0spi * fCutsDplustoK0spi
J/psi->ee cuts.
AliRDHFCutsDplustoKpipi * fCutsDplustoKpipi
D+->K0s+pi.
AliRDHFCutsD0toKpipipi * fCutsD0toKpipipi
Lc –> v0 + bachelor cuts.
void SetnSigmaTOFforPionSel(Double_t nsl, Double_t nsh)
Bool_t fLikeSign3prong
Like-sign pairs.
Bool_t SelectInvMassAndPtCascade(Double_t *px, Double_t *py, Double_t *pz)
void SetCutsD0toKpi(AliRDHFCutsD0toKpi *cuts)
AliAODRecoDecayHF4Prong * Make4Prong(TObjArray *fourTrackArray, AliVEvent *event, AliAODVertex *secVert, const AliAODVertex *vertexp1n1, const AliAODVertex *vertexp1n1p2, Double_t dcap1n1, Double_t dcap1n2, Double_t dcap2n1, Double_t dcap2n2, Bool_t &ok4Prong)
Class for cuts on AOD reconstructed D+->Kpipi.
Double_t fnSigmaTPCProtonLow
High cut value on n. of sigmas for K TOF PID.
void SetParametersAtVertex(AliESDtrack *esdt, const AliExternalTrackParam *extpar) const
int Int_t
Definition: External.C:63
Double_t fMaxMomForTPCPid
use TPC PID only for tracks that without TOF
float Float_t
Definition: External.C:68
void SetCutsDplustoK0spi(AliRDHFCutsDplustoK0spi *cuts)
void SetMakeReducedRHF(Bool_t makeredAOD=kFALSE)
Class for cuts on AOD reconstructed Ds->K0S+K.
void SetnSigmaTPCforKaonSel(Double_t nsl, Double_t nsh)
AliAnalysisFilter * fTrackFilter2prongCentral
Track Filter for displaced vertices.
Double_t fnSigmaTOFKaonLow
High cut value on n. of sigmas for K TPC PID.
void SetUseKaonPIDforDs(Bool_t opt=kTRUE)
Double_t GetMaxMomForTPCPid() const
Float_t fMaxCentPercentileForTightCuts
High cut value on n. of sigmas for p TOF PID.
Bool_t fOKInvMassDstar
triplet fullfilling Lc inv mass selection
Double_t fBzkG
vertexer, to compute secondary vertices
void GetnSigmaTOFforPionSel(Double_t &minnsigma, Double_t &maxnsigma) const
Bool_t fUsePIDforLc2V0
PID for Lambdac: 0=no, 1=proton, 2=p and pi.
Class for cuts on AOD reconstructed D+->K0S+pi.
void SetUsePidTag(Bool_t opt=kTRUE)
void SetUseTOFPID(Bool_t opt=kTRUE)
Bool_t fUseKaonPIDforDs
PID for Lambdac 2 V0: 0=no, 1=proton,.
AliRDHFCutsLctoV0 * GetCutsLctoV0() const
Bool_t fUseTPCPID
Kaon PID usage for Ds.
Bool_t fOKInvMassLctoV0
4tracks fullfilling D0 inv mass selection
Bool_t GetUseTPCPIDOnlyIfNoTOF() const
Bool_t fFindVertexForDstar
pointer to list of cuts for output file
Double_t fnSigmaTOFKaonHi
Low cut value on n. of sigmas for K TOF PID.
AliAODRecoDecay * fMassCalc2
to go faster in PbPb
void SetMaxMomForTPCPid(Double_t mom)
void FindCandidates(AliVEvent *event, TClonesArray *aodVerticesHFTClArr, TClonesArray *aodD0toKpiTClArr, TClonesArray *aodJPSItoEleTClArr, TClonesArray *aodCharm3ProngTClArr, TClonesArray *aodCharm4ProngTClArr, TClonesArray *aodDstarTClArr, TClonesArray *aodCascadesTClArr, TClonesArray *aodLikeSign2ProngTClArr, TClonesArray *aodLikeSign3ProngTClArr)
AliRDHFCutsDplustoK0spi * GetCutsDplustoK0spi() const
Bool_t GetRmTrksFromPrimVtx() const
void AddDaughterRefs(AliAODVertex *v, const AliVEvent *event, const TObjArray *trkArray) const
Int_t fUsePIDforLc
Kaon PID usage for 3 prongs.
Bool_t fLikeSign
cascades, Lc –> v0+track, D+ –> K0s+Pi, Ds –> K0s+K
void GetnSigmaTPCforKaonSel(Double_t &minnsigma, Double_t &maxnsigma) const
AliRDHFCutsJpsitoee * fCutsJpsitoee
D0->Kpi cuts.
void SetUseTPCPID(Bool_t opt=kTRUE)
Bool_t SelectInvMassAndPtJpsiee(Double_t *px, Double_t *py, Double_t *pz)
Bool_t fOKInvMassD0
for 4 prong
Bool_t fOKInvMassJpsi
pair fullfilling D0 inv mass selection
void SetnSigmaTPCforPionSel(Double_t nsl, Double_t nsh)
AliRDHFCutsD0toKpi * GetCutsD0toKpi() const
Bool_t SelectInvMassAndPtDstarD0pi(Double_t *px, Double_t *py, Double_t *pz)
Int_t fV0TypeForCascadeVertex
reconstruct a secondary vertex or assume it's from the primary vertex
void SetnSigmaTPCforProtonSel(Double_t nsl, Double_t nsh)
AliAnalysisFilter * fTrackFilterBachelor
Track Filter for D* soft pion.
Bool_t fMassCutBeforeVertexing
Select which V0 type we want to use for the cascas.
void SetCutsLctoV0(AliRDHFCutsLctoV0 *cuts)
Int_t fAODMapSize
input from AOD (kTRUE) or ESD (kFALSE)
void FixReferences(AliAODEvent *aod)
void SetSelectionBitForPID(AliRDHFCuts *cuts, AliAODRecoDecayHF *rd, Int_t bit)
AliAODRecoCascadeHF * MakeCascade(TObjArray *twoTrackArray, AliVEvent *event, AliAODVertex *secVert, AliAODRecoDecayHF2Prong *rd2Prong, Double_t dca, Bool_t &okDstar)
Bool_t GetRecoPrimVtxSkippingTrks() const
void SelectTracksAndCopyVertex(const AliVEvent *event, Int_t trkEntries, TObjArray &seleTrksArray, TObjArray &tracksAtVertex, Int_t &nSeleTrks, UChar_t *seleFlags, Int_t *evtNumber)
void GetnSigmaTOFforProtonSel(Double_t &minnsigma, Double_t &maxnsigma) const
bool Bool_t
Definition: External.C:53
Bool_t fRecoPrimVtxSkippingTrks
if kTRUE use KF vertexer, else AliVertexerTracks
void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter *trackF)
AliAODRecoDecay * fMassCalc3
for 2 prong
TList * fListOfCuts
Dstar->D0pi cuts.
Double_t fnSigmaTPCProtonHi
Low cut value on n. of sigmas for p TPC PID.
AliRDHFCutsLctoV0 * fCutsLctoV0
Lc->pKpi cuts.
AliAnalysisFilter * GetTrackFilter() const
void MapAODtracks(AliVEvent *aod)
AliAODRecoDecayHF3Prong * Make3Prong(TObjArray *threeTrackArray, AliVEvent *event, AliAODVertex *secVert, Double_t dispersion, const AliAODVertex *vertexp1n1, const AliAODVertex *vertexp2n1, Double_t dcap1n1, Double_t dcap2n1, Double_t dcap1p2, Bool_t useForLc, Bool_t useForDs, Bool_t &ok3Prong)
AliRDHFCutsDStartoKpipi * fCutsDStartoKpipi
D0->Kpipipi cuts.
void SetFindVertexForDstar(Bool_t vtx=kTRUE)
AliAnalysisFilter * fTrackFilter
max. centrality percentile for using tight cuts
Bool_t SelectInvMassAndPtD0Kpi(Double_t *px, Double_t *py, Double_t *pz)
void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter *trackF)
AliAODv0 * TransformESDv0toAODv0(AliESDv0 *esdv0, TObjArray *twoTrackArrayV0)
Bool_t SelectInvMassAndPt4prong(Double_t *px, Double_t *py, Double_t *pz)
Double_t fnSigmaTPCPionHi
Low cut value on n. of sigmas for pi TPC PID.
Bool_t fD0toKpi
primary vertex
void SetCutsDStartoKpipi(AliRDHFCutsDStartoKpipi *cuts)
void SetCutsDplustoKpipi(AliRDHFCutsDplustoKpipi *cuts)
AliRDHFCutsD0toKpipipi * GetCutsD0toKpipipi() const
Bool_t fOKInvMassDs
triplet fullfilling D+ inv mass selection
void SetCutsD0toKpipipi(AliRDHFCutsD0toKpipipi *cuts)
void SetUseKaonPIDfor3Prong(Bool_t opt=kTRUE)
void AddRefs(AliAODVertex *v, AliAODRecoDecayHF *rd, const AliVEvent *event, const TObjArray *trkArray) const
void SetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh)
AliAODRecoDecayHF2Prong * Make2Prong(TObjArray *twoTrackArray1, AliVEvent *event, AliAODVertex *secVert, Double_t dcap1n1, Bool_t &okD0, Bool_t &okJPSI, Bool_t &okD0fromDstar, Bool_t refill=kFALSE, AliAODRecoDecayHF2Prong *rd=0x0)
AliRDHFCutsDstoK0sK * GetCutsDstoK0sK() const
Double_t fnSigmaTOFPionLow
High cut value on n. of sigmas for pi TPC PID.