ROOT logo
AliRoot » PWGHF » VERTEXINGHF » AliAnalysisVertexingHF

class AliAnalysisVertexingHF: public TNamed

    Implementation of the heavy-flavour vertexing analysis class
 Candidates are stored in the AOD as objects deriving from AliAODRecoDecay.
 To be used as a task of AliAnalysisManager by means of the interface
 class AliAnalysisTaskSEVertexingHF.
 An example of usage in the macro AliAnalysisTaskSEVertexingHFTest.C.

  Contact: andrea.dainese@pd.infn.it
  Contributors: E.Bruna, G.E.Bruno, A.Dainese, C.Di Gliglio,
                F.Prino, R.Romita, X.M.Zhang

Function Members (Methods)

public:
AliAnalysisVertexingHF()
AliAnalysisVertexingHF(const AliAnalysisVertexingHF& source)
virtual~AliAnalysisVertexingHF()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tCheckCutsConsistency()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
TList*FillListOfCuts()
voidFindCandidates(AliVEvent* event, TClonesArray* aodVerticesHFTClArr, TClonesArray* aodD0toKpiTClArr, TClonesArray* aodJPSItoEleTClArr, TClonesArray* aodCharm3ProngTClArr, TClonesArray* aodCharm4ProngTClArr, TClonesArray* aodDstarTClArr, TClonesArray* aodCascadesTClArr, TClonesArray* aodLikeSign2ProngTClArr, TClonesArray* aodLikeSign3ProngTClArr)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFixReferences(AliAODEvent* aod)
Bool_tGet3Prong() const
Bool_tGet4Prong() const
Bool_tGetCascades() const
AliRDHFCutsD0toKpi*GetCutsD0toKpi() const
AliRDHFCutsD0toKpipipi*GetCutsD0toKpipipi() const
AliRDHFCutsDplustoKpipi*GetCutsDplustoKpipi() const
AliRDHFCutsDStartoKpipi*GetCutsDStartoKpipi() const
AliRDHFCutsDstoKKpi*GetCutsDstoKKpi() const
AliRDHFCutsJpsitoee*GetCutsJpsitoee() const
AliRDHFCutsLctopKpi*GetCutsLctopKpi() const
AliRDHFCutsLctoV0*GetCutsLctoV0() const
Bool_tGetD0toKpi() const
virtual Option_t*TObject::GetDrawOption() const
Bool_tGetDstar() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Bool_tGetInputAOD() const
Bool_tGetJPSItoEle() const
Bool_tGetLikeSign() const
Bool_tGetLikeSign3prong() const
Double_tGetMaxMomForTPCPid() const
Bool_tGetMixEvent() const
virtual const char*TNamed::GetName() const
voidGetnSigmaTOFforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const
voidGetnSigmaTOFforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const
voidGetnSigmaTOFforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const
voidGetnSigmaTPCforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const
voidGetnSigmaTPCforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const
voidGetnSigmaTPCforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tGetRecoPrimVtxSkippingTrks() const
Bool_tGetRmTrksFromPrimVtx() const
virtual const char*TNamed::GetTitle() const
AliAnalysisFilter*GetTrackFilter() const
AliAnalysisFilter*GetTrackFilterSoftPi() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseKaonPIDfor3Prong() const
Bool_tGetUseKaonPIDforDs() const
Int_tGetUseProtonPIDforLambdaC() const
Bool_tGetUseProtonPIDforLambdaC2V0() const
Bool_tGetUseTOFPID() const
Bool_tGetUseTPCPID() const
Bool_tGetUseTPCPIDOnlyIfNoTOF() const
Int_tGetV0TypeForCascadeVertex()
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAnalysisVertexingHF&operator=(const AliAnalysisVertexingHF& source)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
voidPrintStatus() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSet3ProngOff()
voidSet3ProngOn()
voidSet4ProngOff()
voidSet4ProngOn()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCascadesOff()
voidSetCascadesOn()
voidSetCutsD0toKpi(AliRDHFCutsD0toKpi* cuts)
voidSetCutsD0toKpipipi(AliRDHFCutsD0toKpipipi* cuts)
voidSetCutsDplustoKpipi(AliRDHFCutsDplustoKpipi* cuts)
voidSetCutsDStartoKpipi(AliRDHFCutsDStartoKpipi* cuts)
voidSetCutsDstoKKpi(AliRDHFCutsDstoKKpi* cuts)
voidSetCutsJpsitoee(AliRDHFCutsJpsitoee* cuts)
voidSetCutsLctopKpi(AliRDHFCutsLctopKpi* cuts)
voidSetCutsLctoV0(AliRDHFCutsLctoV0* cuts)
voidSetD0toKpiOff()
voidSetD0toKpiOn()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDstarOff()
voidSetDstarOn()
static voidTObject::SetDtorOnly(void* obj)
voidSetFindVertexForCascades(Bool_t vtx = kTRUE)
voidSetFindVertexForDstar(Bool_t vtx = kTRUE)
voidSetInputAOD()
voidSetJPSItoEleOff()
voidSetJPSItoEleOn()
voidSetLikeSign3prongOff()
voidSetLikeSign3prongOn()
voidSetLikeSignOff()
voidSetLikeSignOn()
voidSetMassCutBeforeVertexing(Bool_t flag)
voidSetMasses()
voidSetMaxMomForTPCPid(Double_t mom)
voidSetMixEventOff()
voidSetMixEventOn()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNotUseProtonPIDforLambdaC()
voidSetNotUseProtonPIDforLambdaC2V0()
voidSetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh)
voidSetnSigmaTOFforPionSel(Double_t nsl, Double_t nsh)
voidSetnSigmaTOFforProtonSel(Double_t nsl, Double_t nsh)
voidSetnSigmaTPCforKaonSel(Double_t nsl, Double_t nsh)
voidSetnSigmaTPCforPionSel(Double_t nsl, Double_t nsh)
voidSetnSigmaTPCforProtonSel(Double_t nsl, Double_t nsh)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPidResponse(AliPIDResponse* p)
voidSetRecoPrimVtxSkippingTrks()
voidSetRmTrksFromPrimVtx()
voidSetSecVtxWithKF()
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidSetTrackFilter(AliAnalysisFilter* trackF)
voidSetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF)
voidSetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF)
voidSetTrackFilterSoftPi(AliAnalysisFilter* trackF)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseKaonPIDfor3Prong(Bool_t opt = kTRUE)
voidSetUseKaonPIDforDs(Bool_t opt = kTRUE)
voidSetUseProtonAndPionPIDforLambdaC()
voidSetUseProtonPIDforLambdaC()
voidSetUseProtonPIDforLambdaC2V0()
voidSetUseTOFPID(Bool_t opt = kTRUE)
voidSetUseTPCPID(Bool_t opt = kTRUE)
voidSetUseTPCPIDOnlyIfNoTOF(Bool_t opt = kTRUE)
voidSetV0TypeForCascadeVertex(Int_t type)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUnsetRecoPrimVtxSkippingTrks()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidAddDaughterRefs(AliAODVertex* v, const AliVEvent* event, const TObjArray* trkArray) const
voidAddRefs(AliAODVertex* v, AliAODRecoDecayHF* rd, const AliVEvent* event, const TObjArray* trkArray) const
AliAODRecoDecayHF2Prong*Make2Prong(TObjArray* twoTrackArray1, AliVEvent* event, AliAODVertex* secVert, Double_t dcap1n1, Bool_t& okD0, Bool_t& okJPSI, Bool_t& okD0fromDstar)
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)
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)
AliAODRecoCascadeHF*MakeCascade(TObjArray* twoTrackArray, AliVEvent* event, AliAODVertex* secVert, AliAODRecoDecayHF2Prong* rd2Prong, Double_t dca, Bool_t& okDstar)
AliAODRecoCascadeHF*MakeCascade(TObjArray* twoTrackArray, AliVEvent* event, AliAODVertex* secVert, AliAODv0* v0, Double_t dca, Bool_t& okCascades)
AliAODVertex*PrimaryVertex(const TObjArray* trkArray = 0x0, AliVEvent* event = 0x0) const
AliAODVertex*ReconstructSecondaryVertex(TObjArray* trkArray, Double_t& dispersion, Bool_t useTRefArray = kTRUE) const
Bool_tSelectInvMassAndPt3prong(TObjArray* trkArray)
Bool_tSelectInvMassAndPt3prong(Double_t* px, Double_t* py, Double_t* pz, Int_t pidLcStatus = 3)
Bool_tSelectInvMassAndPt4prong(TObjArray* trkArray)
Bool_tSelectInvMassAndPt4prong(Double_t* px, Double_t* py, Double_t* pz)
Bool_tSelectInvMassAndPtCascade(Double_t* px, Double_t* py, Double_t* pz)
Bool_tSelectInvMassAndPtD0Kpi(Double_t* px, Double_t* py, Double_t* pz)
Bool_tSelectInvMassAndPtDstarD0pi(TObjArray* trkArray)
Bool_tSelectInvMassAndPtDstarD0pi(Double_t* px, Double_t* py, Double_t* pz)
Bool_tSelectInvMassAndPtJpsiee(Double_t* px, Double_t* py, Double_t* pz)
voidSelectTracksAndCopyVertex(const AliVEvent* event, Int_t trkEntries, TObjArray& seleTrksArray, TObjArray& tracksAtVertex, Int_t& nSeleTrks, UChar_t* seleFlags, Int_t* evtNumber)
voidSetParametersAtVertex(AliESDtrack* esdt, const AliExternalTrackParam* extpar) const
voidSetSelectionBitForPID(AliRDHFCuts* cuts, AliAODRecoDecayHF* rd, Int_t bit)
Bool_tSingleTrkCuts(AliESDtrack* trk, Float_t centralityperc, Bool_t& okDisplaced, Bool_t& okSoftPi, Bool_t& ok3prong) const
AliAODv0*TransformESDv0toAODv0(AliESDv0* esdv0, TObjArray* twoTrackArrayV0)

Data Members

public:
enum { kBitDispl
kBitSoftPi
kBit3Prong
kBitPionCompat
kBitKaonCompat
kBitProtonCompat
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Bool_tf3ProngD+,Ds,Lc
Bool_tf4ProngD0->Kpipipi
Int_t*fAODMap[fAODMapSize] map between index and ID for AOD tracks
Int_tfAODMapSizesize of fAODMap
Double_tfBzkGz componenent of field in kG
Bool_tfCascadescascades, Lc --> v0+track
AliRDHFCutsD0toKpi*fCutsD0toKpiD0->Kpi cuts
AliRDHFCutsD0toKpipipi*fCutsD0toKpipipiD0->Kpipipi cuts
AliRDHFCutsDStartoKpipi*fCutsDStartoKpipiDstar->D0pi cuts
AliRDHFCutsDplustoKpipi*fCutsDplustoKpipiD+->Kpipi cuts
AliRDHFCutsDstoKKpi*fCutsDstoKKpiDs->KKpi cuts
AliRDHFCutsJpsitoee*fCutsJpsitoeeJ/psi->ee cuts
AliRDHFCutsLctoV0*fCutsLctoV0Lc --> v0 + bachelor cuts
AliRDHFCutsLctopKpi*fCutsLctopKpiLc->pKpi cuts
Bool_tfD0toKpiD0->Kpi
Bool_tfDstarD*->D0pi
Bool_tfFindVertexForCascadesreconstruct a secondary vertex or assume it's from the primary vertex
Bool_tfFindVertexForDstarreconstruct a secondary vertex or assume it's from the primary vertex
Bool_tfInputAODinput from AOD (kTRUE) or ESD (kFALSE)
Bool_tfJPSItoEleJpsi->ee
Bool_tfLikeSignLike-sign pairs
Bool_tfLikeSign3prongLike-sign triplets
TList*fListOfCutspointer to list of cuts for output file
AliAODRecoDecay*fMassCalc2for 2 prong
AliAODRecoDecay*fMassCalc3for 3 prong
AliAODRecoDecay*fMassCalc4for 4 prong
Bool_tfMassCutBeforeVertexingto go faster in PbPb
Double_tfMassDplus
Double_tfMassDs
Double_tfMassDstar
Double_tfMassDzero
Double_tfMassJpsi
Double_tfMassLambdaC
Float_tfMaxCentPercentileForTightCutsmax. centrality percentile for using tight cuts
Double_tfMaxMomForTPCPidupper momentum limit to apply TPC PID
Bool_tfMixEventevent mixing
Bool_tfOKInvMassD0pair fullfilling D0 inv mass selection
Bool_tfOKInvMassD0to4p4tracks fullfilling D0 inv mass selection
Bool_tfOKInvMassDplustriplet fullfilling D+ inv mass selection
Bool_tfOKInvMassDstriplet fullfilling Ds inv mass selection
Bool_tfOKInvMassDstarcombination fullfilling D* inv mass selection
Bool_tfOKInvMassJpsipair fullfilling Jpsi inv mass selection
Bool_tfOKInvMassLctriplet fullfilling Lc inv mass selection
Bool_tfOKInvMassLctoV0triplet fullfilling Lc inv mass selection
AliPIDResponse*fPidResponsePID response
Bool_tfRecoPrimVtxSkippingTrksflag for primary vertex reco on the fly
Bool_tfRmTrksFromPrimVtxflag for fast removal of daughters from
Bool_tfSecVtxWithKFif kTRUE use KF vertexer, else AliVertexerTracks
AliAnalysisFilter*fTrackFilterTrack Filter for displaced vertices
AliAnalysisFilter*fTrackFilter2prongCentralTrack Filter for displaced vertices in PbPb central events (tighter cuts) for 2 prong (D0->Kpi)
AliAnalysisFilter*fTrackFilter3prongCentralTrack Filter for displaced vertices in PbPb central events (tighter cuts) for 3 prong (D+, Ds, Lc)
AliAnalysisFilter*fTrackFilterSoftPiTrack Filter for D* soft pion
Bool_tfUseKaonPIDfor3ProngKaon PID usage for 3 prongs
Bool_tfUseKaonPIDforDsKaon PID usage for Ds
Int_tfUsePIDforLcPID for Lambdac: 0=no, 1=proton, 2=p and pi
Bool_tfUsePIDforLc2V0PID for Lambdac 2 V0: 0=no, 1=proton,
Bool_tfUseTOFPIDswitch use/not use TOF PID
Bool_tfUseTPCPIDswitch use/not use TPC PID
Bool_tfUseTPCPIDOnlyIfNoTOFuse TPC PID only for tracks that without TOF
Int_tfV0TypeForCascadeVertexSelect which V0 type we want to use for the cascas
AliESDVertex*fV1primary vertex
AliVertexerTracks*fVertexerTracksvertexer, to compute secondary vertices
Int_tfnSeleTrksTotal
Double_tfnSigmaTOFKaonHiHigh cut value on n. of sigmas for K TOF PID
Double_tfnSigmaTOFKaonLowLow cut value on n. of sigmas for K TOF PID
Double_tfnSigmaTOFPionHiHigh cut value on n. of sigmas for pi TOF PID
Double_tfnSigmaTOFPionLowLow cut value on n. of sigmas for pi TOF PID
Double_tfnSigmaTOFProtonHiHigh cut value on n. of sigmas for p TOF PID
Double_tfnSigmaTOFProtonLowLow cut value on n. of sigmas for p TOF PID
Double_tfnSigmaTPCKaonHiHigh cut value on n. of sigmas for K TPC PID
Double_tfnSigmaTPCKaonLowLow cut value on n. of sigmas for K TPC PID
Double_tfnSigmaTPCPionHiHigh cut value on n. of sigmas for pi TPC PID
Double_tfnSigmaTPCPionLowLow cut value on n. of sigmas for pi TPC PID
Double_tfnSigmaTPCProtonHiHigh cut value on n. of sigmas for p TPC PID
Double_tfnSigmaTPCProtonLowLow cut value on n. of sigmas for p TPC PID
Int_tfnTrksTotal

Class Charts

Inheritance Chart:
TNamed
AliAnalysisVertexingHF

Function documentation

AliAnalysisVertexingHF()
 Default constructor
AliAnalysisVertexingHF(const AliAnalysisVertexingHF& source)
 Copy constructor

AliAnalysisVertexingHF & operator=(const AliAnalysisVertexingHF& source)
 assignment operator

~AliAnalysisVertexingHF()
 Destructor
TList * FillListOfCuts()
 Fill list of analysis cuts
void FindCandidates(AliVEvent* event, TClonesArray* aodVerticesHFTClArr, TClonesArray* aodD0toKpiTClArr, TClonesArray* aodJPSItoEleTClArr, TClonesArray* aodCharm3ProngTClArr, TClonesArray* aodCharm4ProngTClArr, TClonesArray* aodDstarTClArr, TClonesArray* aodCascadesTClArr, TClonesArray* aodLikeSign2ProngTClArr, TClonesArray* aodLikeSign3ProngTClArr)
 Find heavy-flavour vertex candidates
 Input:  ESD or AOD
 Output: AOD (additional branches added)
AliCodeTimerAuto("",0);
void AddRefs(AliAODVertex* v, AliAODRecoDecayHF* rd, const AliVEvent* event, const TObjArray* trkArray) const
 Add the AOD tracks as daughters of the vertex (TRef)
 Also add the references to the primary vertex and to the cuts
AliCodeTimerAuto("",0);
void AddDaughterRefs(AliAODVertex* v, const AliVEvent* event, const TObjArray* trkArray) const
 Add the AOD tracks as daughters of the vertex (TRef)
AliCodeTimerAuto("",0);
void FixReferences(AliAODEvent* aod)
 Checks that the references to the daughter tracks are properly
 assigned and reassigns them if needed

AliCodeTimerAuto("",0);
AliAODRecoCascadeHF* MakeCascade(TObjArray* twoTrackArray, AliVEvent* event, AliAODVertex* secVert, AliAODRecoDecayHF2Prong* rd2Prong, Double_t dca, Bool_t& okDstar)
 Make the cascade as a 2Prong decay and check if it passes Dstar
 reconstruction cuts
AliCodeTimerAuto("",0);
AliAODRecoCascadeHF* MakeCascade(TObjArray* twoTrackArray, AliVEvent* event, AliAODVertex* secVert, AliAODv0* v0, Double_t dca, Bool_t& okCascades)
 Make the cascade as a 2Prong decay and check if it passes
 cascades reconstruction cuts
AliCodeTimerAuto("",0);
AliAODRecoDecayHF2Prong * Make2Prong(TObjArray* twoTrackArray1, AliVEvent* event, AliAODVertex* secVert, Double_t dcap1n1, Bool_t& okD0, Bool_t& okJPSI, Bool_t& okD0fromDstar)
 Make 2Prong candidates and check if they pass D0toKpi or BtoJPSI
 reconstruction cuts
 G.E.Bruno (J/psi), A.Dainese (D0->Kpi)
AliCodeTimerAuto("",0);
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)
 Make 3Prong candidates and check if they pass Dplus or Ds or Lambdac
 reconstruction cuts
 E.Bruna, F.Prino
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)
 Make 4Prong candidates and check if they pass D0toKpipipi
 reconstruction cuts
 G.E.Bruno, R.Romita
AliCodeTimerAuto("",0);
AliAODVertex* PrimaryVertex(const TObjArray* trkArray = 0x0, AliVEvent* event = 0x0) const
 Returns primary vertex to be used for this candidate
AliCodeTimerAuto("",0);
void PrintStatus() const
 Print parameters being used
AliAODVertex* ReconstructSecondaryVertex(TObjArray* trkArray, Double_t& dispersion, Bool_t useTRefArray = kTRUE) const
 Secondary vertex reconstruction with AliVertexerTracks or AliKFParticle
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPt3prong(TObjArray* trkArray)
 Invariant mass cut on tracks
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPt4prong(TObjArray* trkArray)
 Invariant mass cut on tracks
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPtDstarD0pi(TObjArray* trkArray)
 Invariant mass cut on tracks
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPtD0Kpi(Double_t* px, Double_t* py, Double_t* pz)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPtJpsiee(Double_t* px, Double_t* py, Double_t* pz)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPt3prong(Double_t* px, Double_t* py, Double_t* pz, Int_t pidLcStatus = 3)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPtDstarD0pi(Double_t* px, Double_t* py, Double_t* pz)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPt4prong(Double_t* px, Double_t* py, Double_t* pz)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
Bool_t SelectInvMassAndPtCascade(Double_t* px, Double_t* py, Double_t* pz)
 Check invariant mass cut and pt candidate cut
AliCodeTimerAuto("",0);
void SelectTracksAndCopyVertex(const AliVEvent* event, Int_t trkEntries, TObjArray& seleTrksArray, TObjArray& tracksAtVertex, Int_t& nSeleTrks, UChar_t* seleFlags, Int_t* evtNumber)
 Apply single-track preselection.
 Fill a TObjArray with selected tracks (for displaced vertices or
 soft pion from D*). Selection flag stored in seleFlags.
 Create the AliESDVertex object (convert from AliAODVertex if necessary)
 In case of AOD input, also fill fAODMap for track index<->ID
AliCodeTimerAuto("",0);
void SetSelectionBitForPID(AliRDHFCuts* cuts, AliAODRecoDecayHF* rd, Int_t bit)
 Set the selection bit for PID

AliCodeTimerAuto("",0);
Bool_t SingleTrkCuts(AliESDtrack* trk, Float_t centralityperc, Bool_t& okDisplaced, Bool_t& okSoftPi, Bool_t& ok3prong) const
 Check if track passes some kinematical cuts
AliAODv0* TransformESDv0toAODv0(AliESDv0* esdv0, TObjArray* twoTrackArrayV0)
 Transform ESDv0 to AODv0

  this function takes the ESDv0 vertex, computes the DCA variables from the ESDv0
  and creates an AODv0 out of them

AliCodeTimerAuto("",0);
void SetParametersAtVertex(AliESDtrack* esdt, const AliExternalTrackParam* extpar) const
 Set the stored track parameters at primary vertex into AliESDtrack
AliCodeTimerAuto("",0);
void SetMasses()
 Set the hadron mass values from TDatabasePDG
Bool_t CheckCutsConsistency()
 Check the Vertexer and the analysts task consitstecny

void SetSecVtxWithKF()
void SetD0toKpiOn()
void SetD0toKpiOff()
void SetJPSItoEleOn()
void SetJPSItoEleOff()
void Set3ProngOn()
void Set3ProngOff()
void Set4ProngOn()
void Set4ProngOff()
void SetDstarOn()
void SetDstarOff()
void SetCascadesOn()
void SetCascadesOff()
void SetLikeSignOn()
void SetLikeSignOff()
void SetLikeSign3prongOn()
void SetLikeSign3prongOff()
void SetMixEventOn()
void SetMixEventOff()
void SetInputAOD()
Bool_t GetD0toKpi() const
{ return fD0toKpi; }
Bool_t GetJPSItoEle() const
{ return fJPSItoEle; }
Bool_t Get3Prong() const
{ return f3Prong; }
Bool_t Get4Prong() const
{ return f4Prong; }
Bool_t GetDstar() const
{ return fDstar; }
Bool_t GetCascades() const
{ return fCascades; }
Bool_t GetLikeSign() const
{ return fLikeSign; }
Bool_t GetLikeSign3prong() const
{ return fLikeSign3prong; }
Bool_t GetMixEvent() const
{ return fMixEvent; }
Bool_t GetInputAOD() const
{ return fInputAOD; }
Bool_t GetRecoPrimVtxSkippingTrks() const
Bool_t GetRmTrksFromPrimVtx() const
void SetFindVertexForDstar(Bool_t vtx = kTRUE)
void SetFindVertexForCascades(Bool_t vtx = kTRUE)
void SetV0TypeForCascadeVertex(Int_t type)
Int_t GetV0TypeForCascadeVertex()
void SetRecoPrimVtxSkippingTrks()
void UnsetRecoPrimVtxSkippingTrks()
void SetRmTrksFromPrimVtx()
void SetTrackFilter(AliAnalysisFilter* trackF)
 switch off the TOF selection that cannot be applied with AODTracks
void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF)
 switch off the TOF selection that cannot be applied with AODTracks
void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF)
 switch off the TOF selection that cannot be applied with AODTracks
void SetTrackFilterSoftPi(AliAnalysisFilter* trackF)
 switch off the TOF selection that cannot be applied with AODTracks
AliAnalysisFilter* GetTrackFilter() const
{ return fTrackFilter; }
AliAnalysisFilter* GetTrackFilterSoftPi() const
{ return fTrackFilterSoftPi; }
void SetCutsD0toKpi(AliRDHFCutsD0toKpi* cuts)
{ fCutsD0toKpi = cuts; }
AliRDHFCutsD0toKpi* GetCutsD0toKpi() const
{ return fCutsD0toKpi; }
void SetCutsJpsitoee(AliRDHFCutsJpsitoee* cuts)
{ fCutsJpsitoee = cuts; }
AliRDHFCutsJpsitoee* GetCutsJpsitoee() const
{ return fCutsJpsitoee; }
void SetCutsDplustoKpipi(AliRDHFCutsDplustoKpipi* cuts)
{ fCutsDplustoKpipi = cuts; }
AliRDHFCutsDplustoKpipi* GetCutsDplustoKpipi() const
{ return fCutsDplustoKpipi; }
void SetCutsDstoKKpi(AliRDHFCutsDstoKKpi* cuts)
{ fCutsDstoKKpi = cuts; }
AliRDHFCutsDstoKKpi* GetCutsDstoKKpi() const
{ return fCutsDstoKKpi; }
void SetCutsLctopKpi(AliRDHFCutsLctopKpi* cuts)
{ fCutsLctopKpi = cuts; }
AliRDHFCutsLctopKpi* GetCutsLctopKpi() const
{ return fCutsLctopKpi; }
void SetCutsLctoV0(AliRDHFCutsLctoV0* cuts)
{ fCutsLctoV0 = cuts; }
AliRDHFCutsLctoV0* GetCutsLctoV0() const
{ return fCutsLctoV0; }
void SetCutsD0toKpipipi(AliRDHFCutsD0toKpipipi* cuts)
{ fCutsD0toKpipipi = cuts; }
AliRDHFCutsD0toKpipipi* GetCutsD0toKpipipi() const
{ return fCutsD0toKpipipi; }
void SetCutsDStartoKpipi(AliRDHFCutsDStartoKpipi* cuts)
{ fCutsDStartoKpipi = cuts; }
AliRDHFCutsDStartoKpipi* GetCutsDStartoKpipi() const
{ return fCutsDStartoKpipi; }
void SetMassCutBeforeVertexing(Bool_t flag)
void SetUseTPCPID(Bool_t opt = kTRUE)
{fUseTPCPID=opt;}
void SetUseTOFPID(Bool_t opt = kTRUE)
{fUseTOFPID=opt;}
void SetUseTPCPIDOnlyIfNoTOF(Bool_t opt = kTRUE)
void SetMaxMomForTPCPid(Double_t mom)
void SetnSigmaTPCforPionSel(Double_t nsl, Double_t nsh)
void SetnSigmaTOFforPionSel(Double_t nsl, Double_t nsh)
void SetnSigmaTPCforKaonSel(Double_t nsl, Double_t nsh)
void SetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh)
void SetnSigmaTPCforProtonSel(Double_t nsl, Double_t nsh)
void SetnSigmaTOFforProtonSel(Double_t nsl, Double_t nsh)
void SetUseKaonPIDfor3Prong(Bool_t opt = kTRUE)
void SetNotUseProtonPIDforLambdaC()
void SetUseProtonPIDforLambdaC()
void SetUseProtonAndPionPIDforLambdaC()
void SetUseKaonPIDforDs(Bool_t opt = kTRUE)
void SetNotUseProtonPIDforLambdaC2V0()
void SetUseProtonPIDforLambdaC2V0()
void GetnSigmaTOFforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const
void GetnSigmaTPCforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const
void GetnSigmaTOFforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const
void GetnSigmaTPCforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const
void GetnSigmaTOFforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const
void GetnSigmaTPCforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const
Bool_t GetUseTPCPID() const
{return fUseTPCPID;}
Bool_t GetUseTOFPID() const
{return fUseTOFPID;}
Bool_t GetUseTPCPIDOnlyIfNoTOF() const
Double_t GetMaxMomForTPCPid() const
Bool_t GetUseKaonPIDfor3Prong() const
Int_t GetUseProtonPIDforLambdaC() const
{return fUsePIDforLc;}
Bool_t GetUseKaonPIDforDs() const
Bool_t GetUseProtonPIDforLambdaC2V0() const
{return fUsePIDforLc2V0;}
void SetPidResponse(AliPIDResponse* p)