10 #ifndef ALIFLOWTRACKCUTS_H 11 #define ALIFLOWTRACKCUTS_H 17 #include "AliESDtrackCuts.h" 18 #include "TMCProcess.h" 19 #include "AliESDtrack.h" 20 #include "AliMuonTrackCuts.h" 22 #include "AliESDpid.h" 32 class AliVEventHandler;
34 class AliMultiplicity;
35 class AliAODTracklets;
44 class AliNanoAODTrack;
120 AliESDtrackCuts::ITSClusterRequirement req = AliESDtrackCuts::kOff )
258 void SetEvent(AliVEvent* event, AliMCEvent* mcEvent=NULL);
Double_t fTrackPt
mass of the particle
void GetPtRange(Float_t &r1, Float_t &r2) const
void SetRequireTPCStandAlone(Bool_t a)
Bool_t PassesESDcuts(AliESDtrack *track)
Double_t fIgnoreTPCzRangeMax
Bool_t fCutFracSharedITSCluster
Double_t GetPtMin() const
void SetMaxNsigmaToVertex(Float_t sigma=1e10)
static AliFlowTrackCuts * GetStandardVZEROOnlyTrackCuts2011()
void SetChi3C(TArrayD *Chi3C)
Double_t GetMinKinkRadius() const
void SetMaxFracSharedITSCluster(Float_t a)
void SetCutGoldenChi2(Double_t m)
void SetDCAToVertex2D(Bool_t a)
AliESDtrackCuts::ITSClusterRequirement GetClusterRequirementITS(AliESDtrackCuts::Detector det) const
void SetStandardMuonTrackCuts()
AliPID::EParticleType fParticleID
void SetMaxChi2PerClusterTPC(Float_t a)
Float_t fMaxFracSharedTPCCluster
void SetMaxDCAToVertexZ(Float_t a)
virtual Bool_t IsSelectedMCtruth(TObject *obj, Int_t id=-666)
void SetRequireCharge(Bool_t r)
void SetRun(Int_t const run)
TObject * GetInputObject(Int_t i)
TFile * fPurityFunctionsFile
void SetApplyRecentering(Bool_t r)
void SetAllowTOFmismatchFlag(Bool_t b=kTRUE)
void SetMCisPrimary(Bool_t b=kTRUE)
Bool_t GetRequireSigmaToVertex() const
Float_t GetBayesianProb() const
Bool_t fCutCrossedTPCRows
void SetPmdDetPlane(Int_t pmdDet)
void SetPID(AliPID::EParticleType pid, PIDsource s=kTOFpid, Double_t prob=0.9)
Bool_t fForceTPCstandalone
Bool_t fCutITSClusterGlobal
void SetIsMuonMC(Bool_t isMC)
void SetMaxDCAToVertexXYPtDepAOD(Bool_t a)
static AliFlowTrackCuts * GetStandardITSTPCTrackCuts2009(Bool_t selPrimaries=kTRUE)
void SetMaxKinkInvMassKmu(Double_t m)
void SetChi3A(TArrayD *Chi3A)
void SetMaxDCAToVertexXYPtDep(const char *a)
static AliFlowTrackCuts * GetStandardGlobalTrackCuts2010()
Double_t GetMinimalTPCdedx() const
Float_t fMaxFracSharedITSCluster
Int_t GetITStype(const AliAODTrack *track) const
Double_t GetMaxKinkQt() const
void SetMaxKinkQt(Double_t m)
Double_t MaxChi2perITSClusterCuts(AliESDtrack *track)
Bool_t FillFlowTrackVParticle(AliFlowTrack *t) const
Bool_t GetRequireITSRefit() const
AliMuonTrackCuts * fMuonTrackCuts
Bool_t PassesPMDcuts(const AliESDPmdTrack *track)
Float_t fMinChi2PerClusterTPC
Bool_t GetRequireTPCStandAlone() const
static const Int_t fgkNumberOfVZEROtracks
void SetDivSigma(Bool_t r)
static AliFlowTrackCuts * GetAODTrackCutsForFilterBit(UInt_t bit=1, TString suffix="")
void SetCutCrossedTPCRows(Int_t a, Float_t b)
Bool_t PassesNucleiSelection(const AliESDtrack *track)
TH1 * fVZEROgainEqualization
void SetMaxChi2perITSCluster(Double_t b)
Bool_t GetRequireITSStandAlone() const
AliPID::EParticleType GetParticleID() const
void SetChi2A(TArrayD *Chi2A)
Float_t GetMaxChi2PerClusterITS() const
Int_t Count(AliVEvent *event=NULL)
Double_t GetPtTOFPIDoff()
virtual Bool_t IsSelected(TObject *obj, Int_t id=-666)
void SetParamType(trackParameterType paramType)
void SetMaxDCAToVertexXY(Float_t a)
static AliFlowTrackCuts * GetStandardVZEROOnlyTrackCuts2010()
Double_t GetEtaMax() const
Bool_t fCutTPCSecboundVar
Float_t GetNumberOfSigmas() const
AliESDpid fESDpid
placeholder for TPC only track to avoid new/delete on every track
Int_t fTrackLabel
track weight
Double_t GetPmdEta(Float_t xPos, Float_t yPos, Float_t zPos)
void SetEtaMax(Double_t max)
void SetVZEROgainEqualisationCen(TH2 *g)
void HandleESDtrack(AliESDtrack *track)
TDirectory * fPurityFunctionsList
purity functions file
Double_t fTrackPhi
track pt
void Clear(Option_t *option="")
AliESDv0 * fV0
placeholder for the current kink
AliESDtrackCuts * fAliESDtrackCuts
trackParameterType GetParamType() const
void SetFakesAreOK(Bool_t b)
void SetRequireTOFSignal(Bool_t a)
Bool_t fCutMinimalTPCdedx
void SetAODfilterBit(UInt_t a)
void SetRunsMuon(const AliVEventHandler *eventHandler)
Float_t fMaxChi2PerClusterITS
Float_t GetBeta(const AliVTrack *t, Bool_t QAmode=kFALSE)
Double_t fSPDtrackletDeltaPhiMax
Bool_t PassesAODcuts(const AliAODTrack *track, Bool_t passFid=kTRUE)
Float_t fMaxChi2PerClusterTPC
void SetRequireTPCRefit(Bool_t a)
void SetMCprocessType(TMCProcess t)
Bool_t fCutChi2PerClusterTPC
Bool_t PassesTOFbayesianCut(const AliAODTrack *track)
Double_t GetMinKinkInvMassKmu() const
void SetMinNClustersITS(Int_t a)
AliFlowBayesianPID * fBayesianResponse
Bool_t GetVZEROgainEqualizationPerRing() const
Bool_t PassesTOFpidCut(const AliESDtrack *track) const
static const char * GetParamTypeName(trackParameterType type)
Bool_t fRequireStrictTOFTPCagreement
void SetClusterRequirementITS(AliESDtrackCuts::Detector det, AliESDtrackCuts::ITSClusterRequirement req=AliESDtrackCuts::kOff)
Double_t GetMinKinkAngle() const
Bool_t TPCTOFagree(const AliVTrack *track)
void HandleVParticle(AliVParticle *track)
void SetSPDtrackletDeltaPhiMax(Double_t m)
Long64_t Merge(TCollection *list)
static AliFlowTrackCuts * GetStandardMuonTrackCuts(Bool_t isMC=kFALSE, Int_t passN=2)
void SetCutTPCSecboundVar(Bool_t a)
Int_t GetMinNClustersITS() const
Bool_t GetApplyRecentering() const
Bool_t PassesTPCpidCut(const AliESDtrack *track) const
Int_t GetNumberOfInputObjects() const
Bool_t fRequireTransportBitForPrimaries
void SetPtRange(Float_t r1, Float_t r2)
void SetVZEROgainEqualizationPerRing(Bool_t s)
void SetMinKinkRadius(Double_t r)
Bool_t PassesTPCbayesianCut(const AliESDtrack *track)
Bool_t fVZEROgainEqualizationPerRing
Bool_t fIgnoreSignInMCPID
Bool_t PassesCuts(AliVParticle *track)
void SetRequireSigmaToVertex(Bool_t a)
const char * GetMaxDCAToVertexXYPtDep() const
void SetMaxDCAToVertexZAOD(Float_t a)
void SetMinimalTPCdedx(Double_t d=10.)
AliMuonTrackCuts * GetMuonTrackCuts()
static AliFlowTrackCuts * GetStandardTPCStandaloneTrackCuts()
void SetCutMChasTrackReferences(Bool_t b=kTRUE)
AliMCParticle * GetMCparticle() const
Int_t fCentralityPercentileMax
Int_t fCentralityPercentileMin
void SetIgnoreTPCzRange(Double_t min, Double_t max)
Float_t Getdedx(const AliESDtrack *t) const
Float_t GetMaxChi2PerClusterTPC() const
AliMCEvent * GetMCevent() const
Bool_t FillFlowTrack(AliFlowTrack *track) const
Double_t fMinKinkInvMassKmu
AliVEvent * fEvent
mc particle
void SetRequireITSRefit(Bool_t a)
void SetRejectElectronsWithTPCpid(Bool_t b=kTRUE)
void SetMaxDCAToVertexXYAOD(Float_t a)
TMCProcess GetMCprocessType() const
AliFlowTrack * FillFlowTrackVZERO(TObjArray *trackCollection, Int_t trackIndex) const
Bool_t PassesMuonCuts(AliVParticle *track)
void SetMinKinkAngle(Double_t a)
static AliFlowTrackCuts * GetStandardTPCStandaloneTrackCuts2010()
Bool_t GetForceTPCstandalone() const
Bool_t fUseVZERORing[8]
calibration info per ring
Float_t fNsigmaCut2
Pid reponse to manage Nsigma cuts.
Bool_t fCutFracSharedTPCCluster
Float_t fVZEROCpol[4]
calibration info per ring
trackParameterMix fParamMix
void SetVZEROCpol(Int_t ring, Float_t f)
static const Int_t fgkPIDptBin
Bool_t PassesESDpidCut(const AliESDtrack *track)
TMCProcess fMCprocessType
Bool_t GetDivSigma() const
Float_t fMinCrossedRowsOverFindableClusters
PIDsource fPIDsource
Baysian response with all the TOF tuning (using fESDpid)
void SetPtMin(Double_t min)
trackParameterMix GetParamMix() const
Double_t GetSPDtrackletDeltaPhiMax() const
void SetVZEROgainEqualisation(TH1 *g)
Bool_t GetMCisPrimary() const
Bool_t PassesNanoAODcuts(const AliNanoAODTrack *track, Bool_t passFid)
void SetTPCpidCuts(const TMatrixF *mat)
void SetEtaMin(Double_t min)
Bool_t fCutChi2PerClusterITS
Double_t GetMaxKinkInvMassKmu() const
Bool_t IsPhysicalPrimary() const
Bool_t fLinearizeVZEROresponse
Double_t fTrackWeight
track eta
void SetIgnoreSignInMCPID(Bool_t b=kTRUE)
Double_t GetSPDtrackletDeltaPhiMin() const
Bool_t fCutMCfirstMotherPID
AliVEvent * GetEvent() const
Int_t GetPmdDetPlane() const
Bool_t GetRequireTPCRefit() const
Bool_t PassesTPCTOFNsigmaCut(const AliAODTrack *track)
void SetMCfirstMotherPID(Int_t pid)
AliPIDResponse * fPIDResponse
Bool_t GetDCAToVertex2D() const
Bool_t PassesTOFbetaSimpleCut(const AliESDtrack *track)
void SetPtMax(Double_t max)
AliMCEvent * fMCevent
track label, or its absolute value if FakesAreOK
void SetMuonPassNumber(Int_t passN)
Bool_t PassesAODpidCut(const AliAODTrack *track)
UInt_t GetAODFilterBit() const
Bool_t PassesTPCdedxCut(const AliESDtrack *track)
AliFlowTrack * FillFlowTrackKink(TObjArray *trackCollection, Int_t trackIndex) const
void SetMinKinkQt(Double_t m)
trackParameterType fParamType
Bool_t fCutITSclusterShared
AliFlowBayesianPID * GetBayesianResponse() const
Double_t fCutTPCSecboundMinpt
Bool_t fCutDCAToVertexXYAOD
Bool_t fRequireKinkDaughters
static const char * PIDsourceName(PIDsource s)
void SetParamMix(trackParameterMix paramMix)
Double_t GetPtMax() const
void SetMCevent(AliMCEvent *mcEvent)
Bool_t GetUseVZERORing(Int_t i) const
void SetAcceptKinkDaughters(Bool_t a)
Bool_t fAllowTOFmismatchFlag
Bool_t fCutDCAToVertexZAOD
void SetCutTPCSecbound(Bool_t a, Double_t ptmin=0.2)
Bool_t PassesTOFbetaCut(const AliESDtrack *track)
Double_t fParticleProbability
void SetCentralityPercentile(Int_t centMin, Int_t centMax)
Bool_t PassesVZEROcuts(Int_t id)
void SetMaxKinkRAdius(Double_t r)
Bool_t fCutRejectElectronsWithTPCpid
Double_t GetMaxKinkRadius() const
void SetEvent(AliVEvent *event, AliMCEvent *mcEvent=NULL)
void SetQA(Bool_t b=kTRUE)
void SetMaxFracSharedTPCCluster(Float_t a)
Float_t GetMaxDCAToVertexXY() const
Bool_t fCutMChasTrackReferences
void SetPmdAdc(Float_t pmdAdc)
virtual ~AliFlowTrackCuts()
Float_t GetMaxDCAToVertexZ() const
AliMCParticle * fMCparticle
mc event
TH2 * fVZEROgainEqualizationCen
equalization histo
void SetCutChi2PerClusterITS(Float_t a)
void SetPmdNcell(Float_t pmdNcell)
void SetMinNClustersTPC(Int_t a)
void SetNumberOfSigmas(Float_t val)
Int_t GetMinNClustersTPC() const
TF2 * fPurityFunction[180]
purity functions list
Float_t fC[fgkPIDptBin][5]
Bool_t GetRequireCharge() const
Double_t GetPmdPhi(Float_t xPos, Float_t yPos)
AliESDtrack fTPCtrack
placeholder for current event
Float_t GetMaxNsigmaToVertex() const
void SetRequireStrictTOFTPCagreement(Bool_t b=kTRUE)
void SetForceTPCstandalone(Bool_t b)
void SetMaxChi2PerClusterITS(Float_t a)
Bool_t fCutSPDtrackletDeltaPhi
Int_t fMaxITSclusterShared
void SetMinChi2PerClusterTPC(Float_t a)
void SetRequireTransportBitForPrimaries(Bool_t b)
AliFlowTrackCuts & operator=(const AliFlowTrackCuts &someCuts)
void SetPtTOFPIDoff(Double_t pt)
Double_t fTrackEta
track phi
Bool_t GetAcceptKinkDaughters() const
void SetCutITSClusterGlobal(Bool_t a)
Double_t fSPDtrackletDeltaPhiMin
void SetCutMC(Bool_t b=kTRUE)
Bool_t PassesTPCTOFNsigmaPurityCut(const AliAODTrack *track)
Double_t GetMinKinkQt() const
void SetUseVZERORing(Int_t i, Bool_t u)
Double_t GetEtaMin() const
void SetPriors(Float_t centr=0)
Bool_t FillFlowTrackGeneric(AliFlowTrack *t) const
AliVParticle * GetTrack() const
Bool_t GetFakesAreOK() const
Bool_t fCutDCAToVertexXYPtDepAOD
void SetRequireITSStandAlone(Bool_t a)
Int_t MaxSharedITSClusterCuts(AliESDtrack *track)
Bool_t GetAllowTOFmismatchFlag() const
void SetChi2C(TArrayD *Chi2C)
Bool_t PassesTPCTPCTOFNsigmaCut(const AliAODTrack *track)
Float_t fBinLimitPID[fgkPIDptBin]
Double_t fIgnoreTPCzRangeMin
static AliFlowTrackCuts * GetBetaVZEROOnlyTrackCuts()
void SetSPDtrackletDeltaPhiMin(Double_t m)
void GetEtaRange(Float_t &r1, Float_t &r2) const
Double_t fMaxKinkInvMassKmu
void SetMaxSharedITSCluster(Int_t b)
static AliFlowTrackCuts * GetStandardVZEROOnlyTrackCuts()
void SetTOFpidCuts(const TMatrixF *mat)
void ClearTrack(Option_t *option="")
void SetMinKinkInvMassKmu(Double_t m)
Float_t GetPmdNcell() const
Bool_t GetRequireStrictTOFTPCagreement() const
void SetLinearizeVZEROresponse(Bool_t b=kTRUE)
void SetVZEROApol(Int_t ring, Float_t f)
Float_t GetPmdAdc() const
Bool_t fApplyRecentering
equalization histo per centrality bin
void SetEtaRange(Float_t r1, Float_t r2)
Double_t fTrackMass
the track to apply cuts on
void SetTPCTOFNsigmaPIDPurityFunctions(Float_t purityLevel)
AliVParticle * fTrack
placeholder for the current V0