1 #ifndef ALIANALYSISVERTEXINGHF_H
2 #define ALIANALYSISVERTEXINGHF_H
19 #include "AliAnalysisFilter.h"
20 #include "AliESDtrackCuts.h"
24 class AliAODRecoDecay;
30 class AliAnalysisFilter;
45 class AliVertexerTracks;
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);
124 AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject(
"AliESDtrackCuts");
125 if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
131 AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject(
"AliESDtrackCuts");
132 if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
139 AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject(
"AliESDtrackCuts");
140 if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
147 AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject(
"AliESDtrackCuts");
148 if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
154 AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject(
"AliESDtrackCuts");
155 if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
357 AliAODVertex *secVert,
Double_t dcap1n1,
360 AliAODVertex *secVert,
362 const AliAODVertex *vertexp1n1,
363 const AliAODVertex *vertexp2n1,
368 AliAODVertex *secVert,
375 AliAODVertex *secVert,
376 const AliAODVertex *vertexp1n1,
377 const AliAODVertex *vertexp1n1p2,
382 AliAODVertex *secVert,
387 AliAODVertex *secVert,
411 UChar_t *seleFlags,
Int_t *evtNumber);
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)
Bool_t CheckCutsConsistency()
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.
void SetUseProtonAndPionPIDforLambdaC()
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.
Bool_t GetInputAOD() const
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.
Bool_t GetD0toKpi() const
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.
void SetUseProtonPIDforLambdaC()
Bool_t fRmTrksFromPrimVtx
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
void SetRmTrksFromPrimVtx()
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.
void SetLikeSign3prongOff()
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.
Int_t GetV0TypeForCascadeVertex()
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 SetNotUseProtonPIDforLambdaC()
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)
void UnsetRecoPrimVtxSkippingTrks()
Class for cuts on AOD reconstructed D+->Kpipi.
void SetRecoPrimVtxSkippingTrks()
Double_t fnSigmaTPCProtonLow
High cut value on n. of sigmas for K TOF PID.
virtual ~AliAnalysisVertexingHF()
void SetParametersAtVertex(AliESDtrack *esdt, const AliExternalTrackParam *extpar) const
void SetNotUseProtonPIDforLambdaC2V0()
Double_t fMaxMomForTPCPid
use TPC PID only for tracks that without TOF
Bool_t GetUseTPCPID() const
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
Bool_t fCascades
D*->D0pi.
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 SetLikeSign3prongOn()
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 GetUseKaonPIDforDs() const
Bool_t fOKInvMassLctoV0
4tracks fullfilling D0 inv mass selection
Bool_t GetJPSItoEle() const
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
Bool_t GetLikeSign() const
void AddDaughterRefs(AliAODVertex *v, const AliVEvent *event, const TObjArray *trkArray) const
Int_t fUsePIDforLc
Kaon PID usage for 3 prongs.
Bool_t GetMixEvent() const
Bool_t fLikeSign
cascades, Lc –> v0+track, D+ –> K0s+Pi, Ds –> K0s+K
void GetnSigmaTPCforKaonSel(Double_t &minnsigma, Double_t &maxnsigma) const
Bool_t fDstar
D0->Kpipipi.
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)
Bool_t fJPSItoEle
D0->Kpi.
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
void SetUseProtonPIDforLambdaC2V0()
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 GetCascades() const
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)
Bool_t GetUseTOFPID() const
Double_t fnSigmaTPCPionHi
Low cut value on n. of sigmas for pi TPC PID.
Bool_t GetLikeSign3prong() const
Bool_t fD0toKpi
primary vertex
Bool_t GetMakeReducedRHF() const
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.