AliPhysics  97344c9 (97344c9)
 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);
75  void PrintStatus() const;
76  void SetSecVtxWithKF() { fSecVtxWithKF=kTRUE; }
77  void SetD0toKpiOn() { fD0toKpi=kTRUE; }
78  void SetD0toKpiOff() { fD0toKpi=kFALSE; }
79  void SetJPSItoEleOn() { fJPSItoEle=kTRUE; }
80  void SetJPSItoEleOff() { fJPSItoEle=kFALSE; }
81  void Set3ProngOn() { f3Prong=kTRUE; }
82  void Set3ProngOff() { f3Prong=kFALSE; }
83  void Set4ProngOn() { f4Prong=kTRUE; }
84  void Set4ProngOff() { f4Prong=kFALSE; }
85  void SetDstarOn() { fDstar=kTRUE; }
86  void SetDstarOff() { fDstar=kFALSE; }
87  void SetCascadesOn() { fCascades=kTRUE; }
88  void SetCascadesOff() { fCascades=kFALSE; }
89  void SetLikeSignOn() { fLikeSign=kTRUE; }
90  void SetLikeSignOff() {fLikeSign=kFALSE; fLikeSign3prong=kFALSE;}
93  void SetMixEventOn() { fMixEvent=kTRUE; }
94  void SetMixEventOff() { fMixEvent=kFALSE; }
95  void SetInputAOD() { fInputAOD=kTRUE; }
96  void SetMakeReducedRHF(Bool_t makeredAOD=kFALSE) { fMakeReducedRHF=makeredAOD; }
97  Bool_t GetD0toKpi() const { return fD0toKpi; }
98  Bool_t GetJPSItoEle() const { return fJPSItoEle; }
99  Bool_t Get3Prong() const { return f3Prong; }
100  Bool_t Get4Prong() const { return f4Prong; }
101  Bool_t GetDstar() const { return fDstar; }
102  Bool_t GetCascades() const { return fCascades; }
103  Bool_t GetLikeSign() const { return fLikeSign; }
105  Bool_t GetMixEvent() const { return fMixEvent; }
106  Bool_t GetInputAOD() const { return fInputAOD; }
112 
115 
122  void SetTrackFilter(AliAnalysisFilter* trackF) {
124  TList *l = (TList*)trackF->GetCuts();
125  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
126  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
127  fTrackFilter = trackF;
128  }
129  void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
131  TList *l = (TList*)trackF->GetCuts();
132  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
133  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
134  fTrackFilter2prongCentral = trackF;
135  fMaxCentPercentileForTightCuts=maxPercentile;
136  }
137  void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
139  TList *l = (TList*)trackF->GetCuts();
140  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
141  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
142  fTrackFilter3prongCentral = trackF;
143  fMaxCentPercentileForTightCuts=maxPercentile;
144  }
145  void SetTrackFilterSoftPi(AliAnalysisFilter* trackF) {
147  TList *l = (TList*)trackF->GetCuts();
148  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
149  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
150  fTrackFilterSoftPi = trackF;
151  }
152  void SetTrackFilterBachelor(AliAnalysisFilter* trackF) {
154  TList *l = (TList*)trackF->GetCuts();
155  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
156  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
157  fTrackFilterBachelor = trackF;
158  }
159  AliAnalysisFilter* GetTrackFilter() const { return fTrackFilter; }
160  AliAnalysisFilter* GetTrackFilterSoftPi() const { return fTrackFilterSoftPi; }
182 
183  void SetMasses();
185 
186  void SetUseTPCPID(Bool_t opt=kTRUE){fUseTPCPID=opt;}
187  void SetUseTOFPID(Bool_t opt=kTRUE){fUseTOFPID=opt;}
190  void SetUsePidTag(Bool_t opt=kTRUE){fUsePidTag=opt;}
203 
209 
212 
213 
214 
215  void GetnSigmaTOFforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
216  minnsigma=fnSigmaTOFPionLow;maxnsigma=fnSigmaTOFPionHi;
217  }
218  void GetnSigmaTPCforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
219  minnsigma=fnSigmaTPCPionLow;maxnsigma=fnSigmaTPCPionHi;
220  }
221  void GetnSigmaTOFforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
222  minnsigma=fnSigmaTOFKaonLow;maxnsigma=fnSigmaTOFKaonHi;
223  }
224  void GetnSigmaTPCforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
225  minnsigma=fnSigmaTPCKaonLow;maxnsigma=fnSigmaTPCKaonHi;
226  }
227  void GetnSigmaTOFforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
228  minnsigma=fnSigmaTOFProtonLow;maxnsigma=fnSigmaTOFProtonHi;
229  }
230  void GetnSigmaTPCforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
231  minnsigma=fnSigmaTPCProtonLow;maxnsigma=fnSigmaTPCProtonHi;
232  }
233 
234  Bool_t GetUseTPCPID() const {return fUseTPCPID;}
235  Bool_t GetUseTOFPID() const {return fUseTOFPID;}
238 
243 
244  void SetPidResponse(AliPIDResponse* p){fPidResponse=p;}
245 
246  //
247  private:
248  //
250 
253  Int_t *fAODMap; //[fAODMapSize] map between index and ID for AOD tracks
255 
256  AliVertexerTracks* fVertexerTracks;
258 
260 
264 
266  AliESDVertex *fV1;
267 
278 
279  AliPIDResponse* fPidResponse;
301 
303 
304  // single-track cuts
305  AliAnalysisFilter *fTrackFilter;
306  AliAnalysisFilter *fTrackFilter2prongCentral;
307  AliAnalysisFilter *fTrackFilter3prongCentral;
308  AliAnalysisFilter *fTrackFilterSoftPi;
309  AliAnalysisFilter *fTrackFilterBachelor;
310  // candidates cuts
321 
327  // dummies for invariant mass calculation
328  AliAODRecoDecay *fMassCalc2;
329  AliAODRecoDecay *fMassCalc3;
330  AliAODRecoDecay *fMassCalc4;
339 
342  Bool_t fMakeReducedRHF;// switch the reduction of dAOD size on/off
343 
350 
351 
352  //
353  void AddRefs(AliAODVertex *v,AliAODRecoDecayHF *rd,const AliVEvent *event,
354  const TObjArray *trkArray) const;
355  void AddDaughterRefs(AliAODVertex *v,const AliVEvent *event,
356  const TObjArray *trkArray) const;
357  AliAODRecoDecayHF2Prong* Make2Prong(TObjArray *twoTrackArray1,AliVEvent *event,
358  AliAODVertex *secVert,Double_t dcap1n1,
359  Bool_t &okD0,Bool_t &okJPSI,Bool_t &okD0fromDstar, Bool_t refill=kFALSE, AliAODRecoDecayHF2Prong *rd=0x0);
360  AliAODRecoDecayHF3Prong* Make3Prong(TObjArray *threeTrackArray,AliVEvent *event,
361  AliAODVertex *secVert,
362  Double_t dispersion,
363  const AliAODVertex *vertexp1n1,
364  const AliAODVertex *vertexp2n1,
365  Double_t dcap1n1,Double_t dcap2n1,Double_t dcap1p2,
366  Bool_t useForLc, Bool_t useForDs,
367  Bool_t &ok3Prong);
368  AliAODRecoDecayHF3Prong* Make3Prong(TObjArray *threeTrackArray,AliVEvent *event,
369  AliAODVertex *secVert,
370  Double_t dispersion,
371  Double32_t dist12,
372  Double32_t dist23,
373  Double_t dcap1n1,Double_t dcap2n1,Double_t dcap1p2,
375  AliAODRecoDecayHF4Prong* Make4Prong(TObjArray *fourTrackArray,AliVEvent *event,
376  AliAODVertex *secVert,
377  const AliAODVertex *vertexp1n1,
378  const AliAODVertex *vertexp1n1p2,
379  Double_t dcap1n1,Double_t dcap1n2,
380  Double_t dcap2n1,Double_t dcap2n2,
381  Bool_t &ok4Prong);
382  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
383  AliAODVertex *secVert,
384  AliAODRecoDecayHF2Prong *rd2Prong,
385  Double_t dca,
386  Bool_t &okDstar);
387  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
388  AliAODVertex *secVert,
389  AliAODv0 *v0,
390  Double_t dca,
391  Bool_t &okCascades);
392 
393  void MapAODtracks(AliVEvent *aod);
394  AliAODVertex* PrimaryVertex(const TObjArray *trkArray=0x0,AliVEvent *event=0x0) const;
395  AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
396 
397  Bool_t SelectInvMassAndPt3prong(Double_t *px,Double_t *py,Double_t *pz, Int_t pidLcStatus=3);
403 
407 
408  void SelectTracksAndCopyVertex(const AliVEvent *event,Int_t trkEntries,
409  TObjArray &seleTrksArray,
410  TObjArray &tracksAtVertex,
411  Int_t &nSeleTrks,
412  UChar_t *seleFlags,Int_t *evtNumber);
413  void SetParametersAtVertex(AliESDtrack* esdt, const AliExternalTrackParam* extpar) const;
414 
415  Bool_t SingleTrkCuts(AliESDtrack *trk,Float_t centralityperc, Bool_t &okDisplaced,Bool_t &okSoftPi, Bool_t &ok3prong, Bool_t &okBachelor) const;
416 
418 
419  AliAODv0* TransformESDv0toAODv0(AliESDv0 *esdv0,
420  TObjArray *twoTrackArrayV0);
421 
423  ClassDef(AliAnalysisVertexingHF,27); // Reconstruction of HF decay candidates
425 };
426 
427 #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.
Bool_t RecoSecondaryVertexForCascades(AliVEvent *event, AliAODRecoCascadeHF *rc)
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.