ROOT logo
AliRoot » ANALYSIS » AliESDtrackCuts

class AliESDtrackCuts: public AliAnalysisCuts

Function Members (Methods)

public:
AliESDtrackCuts(const AliESDtrackCuts& pd)
AliESDtrackCuts(const Char_t* name = "AliESDtrackCuts", const Char_t* title = "")
virtual~AliESDtrackCuts()
voidTObject::AbstractMethod(const char* method) const
Bool_tAcceptTrack(const AliESDtrack* esdTrack)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
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 voidCopy(TObject& c) const
Int_tCountAcceptedTracks(const AliESDEvent *const esd)
voidDefineHistograms(Int_t color = 1)
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
voidDrawHistograms()
virtual voidTObject::Dump() constMENU
static voidEnableNeededBranches(TTree* tree)
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)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TObjArray*GetAcceptedTracks(const AliESDEvent* esd, Bool_t bTPC = kFALSE)
Bool_tGetAcceptKinkDaughters() const
Bool_tGetAcceptSharedTPCClusters() const
AliESDtrackCuts::ITSClusterRequirementGetClusterRequirementITS(AliESDtrackCuts::Detector det) const
AliESDtrackCuts::ITSClusterRequirementGetClusterRequirementITS(AliESDtrackCuts::ITSULayers det) const
Float_tGetCutTOFdistance() const
Bool_tGetDCAToVertex2D() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TH1F*GetDZNormalized(Int_t i) const
voidGetEtaRange(Float_t& r1, Float_t& r2) const
virtual UInt_tAliAnalysisCuts::GetFilterMask() const
Bool_tGetFlagCutTOFdistance() const
virtual const char*TObject::GetIconName() const
Float_tGetMaxChi2PerClusterITS() const
Float_tGetMaxChi2PerClusterTPC() const
Float_tGetMaxChi2TPCConstrainedGlobal() const
Int_tGetMaxChi2TPCConstrainedGlobalVertexType() const
voidGetMaxCovDiagonalElements(Float_t& c1, Float_t& c2, Float_t& c3, Float_t& c4, Float_t& c5) const
Float_tGetMaxDCAToVertexXY() const
const char*GetMaxDCAToVertexXYPtDep() const
Float_tGetMaxDCAToVertexZ() const
const char*GetMaxDCAToVertexZPtDep() const
Float_tGetMaxFractionSharedTPCClusters() const
Int_tGetMaxNOfMissingITSPoints() const
Float_tGetMaxNsigmaToVertex() const
Float_tGetMaxRel1PtUncertainty() const
Float_tGetMinDCAToVertexXY() const
const char*GetMinDCAToVertexXYPtDep() const
Float_tGetMinDCAToVertexZ() const
const char*GetMinDCAToVertexZPtDep() const
Float_tGetMinLengthActiveVolumeTPC() const
Int_tGetMinNClustersITS() const
TFormula*GetMinNClustersTPCPtDep() const
Int_tGetMinNClusterTPC() const
Float_tGetMinNCrossedRowsTPC() const
Float_tGetMinRatioCrossedRowsOverFindableClustersTPC() const
static AliESDtrackCuts*GetMultEstTrackCuts(AliESDtrackCuts::MultEstTrackCuts cut)
virtual const char*TNamed::GetName() const
TH1F*GetNClustersTPC(Int_t i) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TList*AliAnalysisCuts::GetOutput()
voidGetPRange(Float_t& r1, Float_t& r2) const
TH1F*GetPtHist(Int_t i) const
voidGetPtRange(Float_t& r1, Float_t& r2) const
voidGetPxRange(Float_t& r1, Float_t& r2) const
voidGetPyRange(Float_t& r1, Float_t& r2) const
voidGetPzRange(Float_t& r1, Float_t& r2) const
voidGetRapRange(Float_t& r1, Float_t& r2) const
static Int_tGetReferenceMultiplicity(const AliESDEvent* esd, Bool_t tpcOnly)
static Int_tGetReferenceMultiplicity(const AliESDEvent* esd, AliESDtrackCuts::MultEstTrackType trackType = kTrackletsITSTPC, Float_t etaRange = 0.5, Float_t etaCent = 0.)
Bool_tGetRequireITSRefit() const
Bool_tGetRequireITSStandAlone() const
Bool_tGetRequireSigmaToVertex() const
Bool_tGetRequireTPCRefit() const
Bool_tGetRequireTPCStandAlone() const
virtual UInt_tAliVCuts::GetSelectionMask(const TObject*)
static Float_tGetSigmaToVertex(const AliESDtrack *const esdTrack)
static AliESDtrackCuts*GetStandardITSPureSATrackCuts2009(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
static AliESDtrackCuts*GetStandardITSPureSATrackCuts2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
static AliESDtrackCuts*GetStandardITSSATrackCuts2009(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
static AliESDtrackCuts*GetStandardITSSATrackCuts2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
static AliESDtrackCuts*GetStandardITSSATrackCutsPbPb2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
static AliESDtrackCuts*GetStandardITSTPCTrackCuts2009(Bool_t selPrimaries = kTRUE)
static AliESDtrackCuts*GetStandardITSTPCTrackCuts2010(Bool_t selPrimaries = kTRUE, Int_t clusterCut = 0)
static AliESDtrackCuts*GetStandardITSTPCTrackCuts2011(Bool_t selPrimaries = kTRUE, Int_t clusterCut = 1)
static AliESDtrackCuts*GetStandardTPCOnlyTrackCuts()
static AliESDtrackCuts*GetStandardV0DaughterCuts()
virtual TObject*AliAnalysisCuts::GetStatistics(Option_t*) const
virtual const char*TNamed::GetTitle() const
static AliESDtrack*GetTPCOnlyTrack(const AliESDEvent* esd, Int_t iTrack)
virtual UInt_tTObject::GetUniqueID() const
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_tIsSelected(TObject* obj)
virtual Bool_tIsSelected(TList*)
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Bool_tLoadHistograms(const Char_t* dir = 0)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* list)
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)
AliESDtrackCuts&operator=(const AliESDtrackCuts& c)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") 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
voidSaveHistograms(const Char_t* dir = 0)
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual UInt_tAliAnalysisCuts::Selected() const
voidSetAcceptKinkDaughters(Bool_t b = kTRUE)
voidSetAcceptSharedTPCClusters(Bool_t b = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetClusterRequirementITS(AliESDtrackCuts::Detector det, AliESDtrackCuts::ITSClusterRequirement req = kOff)
voidSetClusterRequirementITS(AliESDtrackCuts::ITSULayers det, AliESDtrackCuts::ITSClusterRequirement req = kOff)
voidSetCutTOFdistance(Float_t cut)
voidSetDCAToVertex2D(Bool_t b = kFALSE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEtaRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
virtual voidAliAnalysisCuts::SetFilterMask(UInt_t mask)
voidSetFlagCutTOFdistance(Bool_t flagTOFcut)
voidSetHistogramsOn(Bool_t b = kFALSE)
voidSetMaxChi2PerClusterITS(Float_t max = 1e10)
voidSetMaxChi2PerClusterTPC(Float_t max = 1e10)
voidSetMaxChi2TPCConstrainedGlobal(Float_t max = 1e10)
voidSetMaxChi2TPCConstrainedGlobalVertexType(Int_t vertexType = kVertexTracks|kVertexSPD)
voidSetMaxCovDiagonalElements(Float_t c1 = 1e10, Float_t c2 = 1e10, Float_t c3 = 1e10, Float_t c4 = 1e10, Float_t c5 = 1e10)
voidSetMaxDCAToVertexXY(Float_t dist = 1e10)
voidSetMaxDCAToVertexXYPtDep(const char* dist = "")
voidSetMaxDCAToVertexZ(Float_t dist = 1e10)
voidSetMaxDCAToVertexZPtDep(const char* dist = "")
voidSetMaxFractionSharedTPCClusters(Float_t max = 1e10)
voidSetMaxNOfMissingITSPoints(Int_t max = 6)
voidSetMaxNsigmaToVertex(Float_t sigma = 1e10)
voidSetMaxRel1PtUncertainty(Float_t max = 1e10)
voidSetMinDCAToVertexXY(Float_t dist = 0.)
voidSetMinDCAToVertexXYPtDep(const char* dist = "")
voidSetMinDCAToVertexZ(Float_t dist = 0.)
voidSetMinDCAToVertexZPtDep(const char* dist = "")
voidSetMinLengthActiveVolumeTPC(Float_t min = 120.)
voidSetMinNClustersITS(Int_t min = -1)
voidSetMinNClustersTPC(Int_t min = -1)
voidSetMinNClustersTPCPtDep(TFormula* f1 = 0x0, Float_t ptmax = 0.)
voidSetMinNCrossedRowsTPC(Float_t min = -1)
voidSetMinRatioCrossedRowsOverFindableClustersTPC(Float_t min = -1)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPRange(Float_t r1 = 0, Float_t r2 = 1e10)
voidSetPtRange(Float_t r1 = 0, Float_t r2 = 1e10)
voidSetPxRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
voidSetPyRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
voidSetPzRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
voidSetRapRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
voidSetRequireITSPid(Bool_t b = kFALSE)
voidSetRequireITSPureStandAlone(Bool_t b = kFALSE)
voidSetRequireITSRefit(Bool_t b = kFALSE)
voidSetRequireITSStandAlone(Bool_t b = kFALSE)
voidSetRequireSigmaToVertex(Bool_t b = kTRUE)
voidSetRequireStandardTOFmatchCuts()
voidSetRequireTOFout(Bool_t b = kFALSE)
voidSetRequireTPCRefit(Bool_t b = kFALSE)
voidSetRequireTPCStandAlone(Bool_t b = kFALSE)
virtual voidAliAnalysisCuts::SetSelected(Bool_t dec)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
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
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:
Bool_tCheckITSClusterRequirement(AliESDtrackCuts::ITSClusterRequirement req, Bool_t clusterL1, Bool_t clusterL2)
Bool_tCheckPtDepDCA(TString dist, Bool_t print = kFALSE) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidInit()
voidTObject::MakeZombie()
voidSetPtDepDCACuts(Double_t pt)

Data Members

public:
enum ITSClusterRequirement { kOff
kNone
kAny
kFirst
kOnlyFirst
kSecond
kOnlySecond
kBoth
};
enum Detector { kSPD
kSDD
kSSD
};
enum ITSULayers { kITSU012
kITSU34
kITSU56
};
enum MultEstTrackCuts { kMultEstTrackCutGlobal
kMultEstTrackCutITSSA
kMultEstTrackCutDCAwSPD
kMultEstTrackCutDCAwoSPD
kNMultEstTrackCuts
};
enum MultEstTrackType { kTrackletsITSTPC
kTrackletsITSSA
kTracklets
};
enum VertexType { kVertexTracks
kVertexSPD
kVertexTPC
};
enum { kNCuts
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TFormula*f1CutMaxDCAToVertexXYPtDeppt-dep track-to-vertex cut in max absolute distance in xy-plane
TFormula*f1CutMaxDCAToVertexZPtDeppt-dep track-to-vertex cut in max absolute distance in z-plane
TFormula*f1CutMinDCAToVertexXYPtDeppt-dep track-to-vertex cut on min absolute distance in xy-plane
TFormula*f1CutMinDCAToVertexZPtDeppt-dep track-to-vertex cut on min absolute distance in z-plane
TFormula*f1CutMinNClustersTPCPtDeppt dependent tpc clusters cut
Bool_tfCutAcceptKinkDaughtersaccepting kink daughters?
Bool_tfCutAcceptSharedTPCClustersaccepting shared clusters in TPC?
AliESDtrackCuts::ITSClusterRequirementfCutClusterRequirementITS[3]detailed ITS cluster requirements for (SPD, SDD, SSD)
Bool_tfCutDCAToVertex2Dif true a 2D DCA cut is made. Tracks are accepted if sqrt((DCAXY / fCutMaxDCAToVertexXY)^2 + (DCAZ / fCutMaxDCAToVertexZ)^2) < 1 AND sqrt((DCAXY / fCutMinDCAToVertexXY)^2 + (DCAZ / fCutMinDCAToVertexZ)^2) > 1
Float_tfCutMaxC11max cov. matrix diag. elements (res. y^2)
Float_tfCutMaxC22max cov. matrix diag. elements (res. z^2)
Float_tfCutMaxC33max cov. matrix diag. elements (res. sin(phi)^2)
Float_tfCutMaxC44max cov. matrix diag. elements (res. tan(theta_dip)^2)
Float_tfCutMaxC55max cov. matrix diag. elements (res. 1/pt^2)
Float_tfCutMaxChi2PerClusterITSmax its fit chi2 per its cluster
Float_tfCutMaxChi2PerClusterTPCmax tpc fit chi2 per tpc cluster
Float_tfCutMaxChi2TPCConstrainedVsGlobalmax chi2 TPC track constrained with vtx vs. global track
Int_tfCutMaxChi2TPCConstrainedVsGlobalVertexTypevertex type for max chi2 TPC track constrained with vtx vs. global track (can be configured to accept several vertex types)
Float_tfCutMaxDCAToVertexXYtrack-to-vertex cut in max absolute distance in xy-plane
TStringfCutMaxDCAToVertexXYPtDeppt-dep track-to-vertex cut in max absolute distance in xy-plane
Float_tfCutMaxDCAToVertexZtrack-to-vertex cut in max absolute distance in z-plane
TStringfCutMaxDCAToVertexZPtDeppt-dep track-to-vertex cut in max absolute distance in z-plane
Float_tfCutMaxFractionSharedTPCClustersMaximum fraction of shared clusters in TPC
Int_tfCutMaxMissingITSPointsmax n. of missing ITS points
Float_tfCutMaxPtDepNClustersTPCmaximum pt for pt dependend TPC cluster cut. For pt=>ptmax NClusterMin = f1CutMinNClustersTPCPtDep->Eval(fCutMaxPtDepNClustersTPC).
Float_tfCutMaxRel1PtUncertaintymax relative uncertainty of 1/pt
Float_tfCutMinDCAToVertexXYtrack-to-vertex cut on min absolute distance in xy-plane
TStringfCutMinDCAToVertexXYPtDeppt-dep track-to-vertex cut on min absolute distance in xy-plane
Float_tfCutMinDCAToVertexZtrack-to-vertex cut on min absolute distance in z-plane
TStringfCutMinDCAToVertexZPtDeppt-dep track-to-vertex cut on min absolute distance in z-plane
Float_tfCutMinLengthActiveVolumeTPCmininum length (in cm) over which the track is sampled in the active volume of the TPC (outside boundaries)
Int_tfCutMinNClusterITSmin number of its clusters
Int_tfCutMinNClusterTPCmin number of tpc clusters
Float_tfCutMinNCrossedRowsTPCmin number of tpc crossed rows
Float_tfCutMinRatioCrossedRowsOverFindableClustersTPCmin ratio crossed rows / findable clusters
Float_tfCutNsigmaToVertexmax number of estimated sigma from track-to-vertex
Bool_tfCutRequireITSPidrequire ITS pid
Bool_tfCutRequireITSRefitrequire ITS refit
Bool_tfCutRequireITSStandAlonerequire ITS standalone tracks (remove pure SA)
Bool_tfCutRequireITSpureSArequire ITS pure standalone tracks (found using all ITS clusters)
Bool_tfCutRequireTOFoutrequire TOF out
Bool_tfCutRequireTPCRefitrequire TPC refit
Bool_tfCutRequireTPCStandAlonerequire TPC standalone tracks
Bool_tfCutSigmaToVertexRequiredcut track if sigma from track-to-vertex could not be calculated
Float_tfCutTOFdistancevalue of the cut on TOFdistance
Float_tfEtaMaxdefinition of the range of the eta
Float_tfEtaMin
Bool_tfFlagCutTOFdistancecut on TOFdistance? --> yes by default!
Bool_tfHistogramsOnhistograms on/off
TStringTNamed::fNameobject identifier
Float_tfPMaxdefinition of the range of the P
Float_tfPMin
Float_tfPtMaxdefinition of the range of the Pt
Float_tfPtMin
Float_tfPxMaxdefinition of the range of the Px
Float_tfPxMin
Float_tfPyMaxdefinition of the range of the Py
Float_tfPyMin
Float_tfPzMaxdefinition of the range of the Pz
Float_tfPzMin
Float_tfRapMaxdefinition of the range of the y
Float_tfRapMin
TStringTNamed::fTitleobject title
TF1*ffDTheoretical-> theoretical distance to vertex normalized (2d gauss)
static Char_tfgBeamTypeFlag-1 --> no check done on the beam type yet
static AliESDtrackCuts*fgMultEstTrackCuts[4]! track cuts used for the multiplicity estimate
static const Char_t*fgkCutNames[43]! names of cuts (for internal use)
TH1F*fhC11[2]->
TH1F*fhC22[2]->
TH1F*fhC33[2]->
TH1F*fhC44[2]->
TH1F*fhC55[2]->
TH1F*fhChi2PerClusterITS[2]->
TH1F*fhChi2PerClusterTPC[2]->
TH1F*fhChi2TPCConstrainedVsGlobal[2]->
TH2F*fhCutCorrelation-> 2d statistics plot
TH1F*fhCutStatistics-> statistics of what cuts the tracks did not survive
TH1F*fhDXY[2]->
TH1F*fhDXYDZ[2]-> absolute distance sqrt(dxy**2 + dz**2) to vertex; if 2D cut is set, normalized to given values
TH1F*fhDXYNormalized[2]->
TH2F*fhDXYvsDZ[2]->
TH2F*fhDXYvsDZNormalized[2]->
TH1F*fhDZ[2]->
TH1F*fhDZNormalized[2]->
TH1F*fhEta[2]-> eta of esd tracks
TH1F*fhNClustersForITSPID[2]-> number of points in SDD+SSD (ITS PID selection)
TH1F*fhNClustersITS[2]->
TH1F*fhNClustersTPC[2]->
TH1F*fhNCrossedRowsTPC[2]->
TH1F*fhNMissingITSPoints[2]-> number of missing ITS points
TH1F*fhNSharedClustersTPC[2]->
TH1F*fhNSigmaToVertex[2]->
TH1F*fhPt[2]-> pt of esd tracks
TH1F*fhRatioCrossedRowsOverFindableClustersTPC[2]->
TH1F*fhRel1PtUncertainty[2]-> rel. uncertainty of 1/pt
TH2F*fhTOFdistance[2]-> TOF signal distance dx vs dz

Class Charts

Inheritance Chart:
TNamed
AliVCuts
AliAnalysisCuts
AliESDtrackCuts
AliRecInfoCuts

Function documentation

AliESDtrackCuts(const Char_t* name = "AliESDtrackCuts", const Char_t* title = "")
 constructor

AliESDtrackCuts(const AliESDtrackCuts& pd)
 copy constructor

~AliESDtrackCuts()
 destructor

void Init()
 sets everything to zero

AliESDtrackCuts & operator=(const AliESDtrackCuts& c)
 Assignment operator

void Copy(TObject& c) const
 Copy function

Long64_t Merge(TCollection* list)
 Merge a list of AliESDtrackCuts objects with this (needed for PROOF)
 Returns the number of merged objects (including this)
void SetMinNClustersTPCPtDep(TFormula* f1 = 0x0, Float_t ptmax = 0.)
 Sets the pT dependent NClustersTPC cut

AliESDtrackCuts* GetStandardTPCOnlyTrackCuts()
 creates an AliESDtrackCuts object and fills it with standard (pre data-taking) values for TPC-only cuts
AliESDtrackCuts* GetStandardITSTPCTrackCuts2009(Bool_t selPrimaries = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS-TPC cuts for pp 2009 data
AliESDtrackCuts* GetStandardITSTPCTrackCuts2011(Bool_t selPrimaries = kTRUE, Int_t clusterCut = 1)
 creates an AliESDtrackCuts object and fills it with standard values for ITS-TPC cuts for pp 2011 data
 if clusterCut = 1, the cut on the number of clusters is replaced by
 a cut on the number of crossed rows and on the ration crossed
 rows/findable clusters
AliESDtrackCuts* GetStandardITSTPCTrackCuts2010(Bool_t selPrimaries = kTRUE, Int_t clusterCut = 0)
 creates an AliESDtrackCuts object and fills it with standard values for ITS-TPC cuts for pp 2010 data
 if clusterCut = 1, the cut on the number of clusters is replaced by
 a cut on the number of crossed rows and on the ration crossed
 rows/findable clusters
AliESDtrackCuts* GetStandardITSPureSATrackCuts2009(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS pure SA tracks
AliESDtrackCuts* GetStandardITSPureSATrackCuts2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS pure SA tracks - pp 2010
AliESDtrackCuts* GetStandardITSSATrackCuts2009(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS pure SA tracks
AliESDtrackCuts* GetStandardITSSATrackCuts2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS pure SA tracks --pp 2010
AliESDtrackCuts* GetStandardITSSATrackCutsPbPb2010(Bool_t selPrimaries = kTRUE, Bool_t useForPid = kTRUE)
 creates an AliESDtrackCuts object and fills it with standard values for ITS pure SA tracks -- PbPb 2010
AliESDtrackCuts* GetStandardV0DaughterCuts()
 creates a AliESDtrackCuts object and fills it with standard cuts for V0 daughters
Int_t GetReferenceMultiplicity(const AliESDEvent* esd, Bool_t tpcOnly)
 Gets reference multiplicity following the standard cuts and a defined fiducial volume
 tpcOnly = kTRUE -> consider TPC-only tracks
         = kFALSE -> consider global tracks

 DEPRECATED Use GetReferenceMultiplicity with the enum as second argument instead
Float_t GetSigmaToVertex(const AliESDtrack *const esdTrack)
 Calculates the number of sigma to the vertex.
void EnableNeededBranches(TTree* tree)
 enables the branches needed by AcceptTrack, for a list see comment of AcceptTrack
Bool_t AcceptTrack(const AliESDtrack* esdTrack)
 figure out if the tracks survives all the track cuts defined

 the different quality parameter and kinematic values are first
 retrieved from the track. then it is found out what cuts the
 track did not survive and finally the cuts are imposed.
Bool_t CheckITSClusterRequirement(AliESDtrackCuts::ITSClusterRequirement req, Bool_t clusterL1, Bool_t clusterL2)
 checks if the cluster requirement is fullfilled (in this case: return kTRUE)
AliESDtrack* GetTPCOnlyTrack(const AliESDEvent* esd, Int_t iTrack)
 Utility function to create a TPC only track from the given esd track

 IMPORTANT: The track has to be deleted by the user

 NB. most of the functionality to get a TPC only track from an ESD track is in AliESDtrack, where it should be
 there are only missing propagations here that are needed for old data
 this function will therefore become obsolete

 adapted from code provided by CKB
TObjArray* GetAcceptedTracks(const AliESDEvent* esd, Bool_t bTPC = kFALSE)
 returns an array of all tracks that pass the cuts
 or an array of TPC only tracks (propagated to the TPC vertex during reco)
 tracks that pass the cut

 NOTE: List has to be deleted by the user
Int_t CountAcceptedTracks(const AliESDEvent *const esd)
 returns an the number of tracks that pass the cuts

void DefineHistograms(Int_t color = 1)
 diagnostics histograms are defined

Bool_t LoadHistograms(const Char_t* dir = 0)
 loads the histograms from a file
 if dir is empty a directory with the name of this object is taken (like in SaveHistogram)

void SaveHistograms(const Char_t* dir = 0)
 saves the histograms in a directory (dir)

void DrawHistograms()
 draws some histograms
void SetPtDepDCACuts(Double_t pt)
 set the pt-dependent DCA cuts

Bool_t CheckPtDepDCA(TString dist, Bool_t print = kFALSE) const
 Check the correctness of the string syntax

void SetMaxDCAToVertexXYPtDep(const char* dist = "")
void SetMaxDCAToVertexZPtDep(const char* dist = "")
void SetMinDCAToVertexXYPtDep(const char* dist = "")
void SetMinDCAToVertexZPtDep(const char* dist = "")
AliESDtrackCuts* GetMultEstTrackCuts(AliESDtrackCuts::MultEstTrackCuts cut)
 returns the multiplicity estimator track cuts objects to allow for user configuration
 upon first call the objects are created

 the cut defined here correspond to GetStandardITSTPCTrackCuts2010 (apart from the one for without SPD)
Int_t GetReferenceMultiplicity(const AliESDEvent* esd, AliESDtrackCuts::MultEstTrackType trackType = kTrackletsITSTPC, Float_t etaRange = 0.5, Float_t etaCent = 0.)
 Get multiplicity estimate based on TPC/ITS tracks and tracklets
 Adapted for AliESDtrackCuts from a version developed by: Ruben Shahoyan, Anton Alkin, Arvinder Palaha

 Returns a negative value if no reliable estimate can be provided:
   -1 SPD vertex missing
   -2 SPD VertexerZ dispersion too large
   -3 Track vertex missing (not checked for kTracklets)
   -4 Distance between SPD and track vertices too large (not checked for kTracklets)

 WARNING This functions does not cut on the z vtx. Depending on the eta range requested, you need to restrict your z vertex range!

 Strategy for combined estimators
   1. Count global tracks and flag them
   2. Count ITSSA as complementaries for ITSTPC+ or as main tracks
   3. Count the complementary SPD tracklets

 Estimator is calculated for etaCent-etaRange : etaCent+etaRange

void SetRequireStandardTOFmatchCuts()
Bool_t IsSelected(TObject* obj)
{return AcceptTrack((AliESDtrack*)obj);}
Bool_t IsSelected(TList* )
{return kTRUE;}
void SetMinNClustersTPC(Int_t min = -1)
 track quality cut setters
void SetMinNClustersITS(Int_t min = -1)
void SetMinNCrossedRowsTPC(Float_t min = -1)
void SetMinRatioCrossedRowsOverFindableClustersTPC(Float_t min = -1)
void SetMinLengthActiveVolumeTPC(Float_t min = 120.)
void SetClusterRequirementITS(Detector det, ITSClusterRequirement req = kOff)
void SetClusterRequirementITS(ITSULayers det, ITSClusterRequirement req = kOff)
void SetMaxChi2PerClusterTPC(Float_t max = 1e10)
void SetMaxChi2PerClusterITS(Float_t max = 1e10)
void SetMaxChi2TPCConstrainedGlobal(Float_t max = 1e10)
void SetMaxChi2TPCConstrainedGlobalVertexType(Int_t vertexType = kVertexTracks|kVertexSPD)
void SetMaxNOfMissingITSPoints(Int_t max = 6)
void SetRequireTPCRefit(Bool_t b = kFALSE)
void SetRequireTPCStandAlone(Bool_t b = kFALSE)
void SetRequireITSRefit(Bool_t b = kFALSE)
void SetRequireITSPid(Bool_t b = kFALSE)
void SetRequireITSStandAlone(Bool_t b = kFALSE)
void SetRequireITSPureStandAlone(Bool_t b = kFALSE)
void SetAcceptKinkDaughters(Bool_t b = kTRUE)
void SetAcceptSharedTPCClusters(Bool_t b = kTRUE)
void SetMaxFractionSharedTPCClusters(Float_t max = 1e10)
void SetMaxCovDiagonalElements(Float_t c1 = 1e10, Float_t c2 = 1e10, Float_t c3 = 1e10, Float_t c4 = 1e10, Float_t c5 = 1e10)
void SetMaxRel1PtUncertainty(Float_t max = 1e10)
void SetMaxNsigmaToVertex(Float_t sigma = 1e10)
 track to vertex cut setters
void SetRequireSigmaToVertex(Bool_t b = kTRUE)
void SetMaxDCAToVertexXY(Float_t dist = 1e10)
void SetMaxDCAToVertexZ(Float_t dist = 1e10)
void SetMinDCAToVertexXY(Float_t dist = 0.)
void SetMinDCAToVertexZ(Float_t dist = 0.)
void SetDCAToVertex2D(Bool_t b = kFALSE)
Int_t GetMinNClusterTPC() const
 getters
Float_t GetMinNCrossedRowsTPC() const
Float_t GetMinRatioCrossedRowsOverFindableClustersTPC() const
Float_t GetMinLengthActiveVolumeTPC() const
Int_t GetMinNClustersITS() const
TFormula * GetMinNClustersTPCPtDep() const
ITSClusterRequirement GetClusterRequirementITS(Detector det)
{ return fCutClusterRequirementITS[det]; }
ITSClusterRequirement GetClusterRequirementITS(ITSULayers det)
{ return fCutClusterRequirementITS[det]; }
Float_t GetMaxChi2PerClusterTPC() const
Float_t GetMaxChi2PerClusterITS() const
Float_t GetMaxChi2TPCConstrainedGlobal() const
Int_t GetMaxChi2TPCConstrainedGlobalVertexType() const
Int_t GetMaxNOfMissingITSPoints() const
Bool_t GetRequireTPCRefit() const
Bool_t GetRequireTPCStandAlone() const
Bool_t GetRequireITSRefit() const
Bool_t GetRequireITSStandAlone() const
Bool_t GetAcceptKinkDaughters() const
Bool_t GetAcceptSharedTPCClusters() const
Float_t GetMaxFractionSharedTPCClusters() const
void GetMaxCovDiagonalElements(Float_t& c1, Float_t& c2, Float_t& c3, Float_t& c4, Float_t& c5) const
{c1 = fCutMaxC11; c2 = fCutMaxC22; c3 = fCutMaxC33; c4 = fCutMaxC44; c5 = fCutMaxC55;}
Float_t GetMaxRel1PtUncertainty() const
Float_t GetMaxNsigmaToVertex() const
Float_t GetMaxDCAToVertexXY() const
Float_t GetMaxDCAToVertexZ() const
Float_t GetMinDCAToVertexXY() const
Float_t GetMinDCAToVertexZ() const
const char* GetMaxDCAToVertexXYPtDep() const
const char* GetMaxDCAToVertexZPtDep() const
const char* GetMinDCAToVertexXYPtDep() const
const char* GetMinDCAToVertexZPtDep() const
Bool_t GetDCAToVertex2D() const
Bool_t GetRequireSigmaToVertex() const
void GetPRange(Float_t& r1, Float_t& r2) const
{r1=fPMin; r2=fPMax;}
void GetPtRange(Float_t& r1, Float_t& r2) const
{r1=fPtMin; r2=fPtMax;}
void GetPxRange(Float_t& r1, Float_t& r2) const
{r1=fPxMin; r2=fPxMax;}
void GetPyRange(Float_t& r1, Float_t& r2) const
{r1=fPyMin; r2=fPyMax;}
void GetPzRange(Float_t& r1, Float_t& r2) const
{r1=fPzMin; r2=fPzMax;}
void GetEtaRange(Float_t& r1, Float_t& r2) const
{r1=fEtaMin; r2=fEtaMax;}
void GetRapRange(Float_t& r1, Float_t& r2) const
{r1=fRapMin; r2=fRapMax;}
void SetPRange(Float_t r1 = 0, Float_t r2 = 1e10)
 track kinmatic cut setters
{fPMin=r1; fPMax=r2;}
void SetPtRange(Float_t r1 = 0, Float_t r2 = 1e10)
{fPtMin=r1; fPtMax=r2;}
void SetPxRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
{fPxMin=r1; fPxMax=r2;}
void SetPyRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
{fPyMin=r1; fPyMax=r2;}
void SetPzRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
{fPzMin=r1; fPzMax=r2;}
void SetEtaRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
{fEtaMin=r1; fEtaMax=r2;}
void SetRapRange(Float_t r1 = -1e10, Float_t r2 = 1e10)
{fRapMin=r1; fRapMax=r2;}
void SetHistogramsOn(Bool_t b = kFALSE)
TH1F* GetDZNormalized(Int_t i) const
 void SaveQualityCuts(Char_t* file)
 void LoadQualityCuts(Char_t* file)
{ return fhDZNormalized[i]; }
TH1F* GetNClustersTPC(Int_t i) const
{ return fhNClustersTPC[i]; }
TH1F* GetPtHist(Int_t i) const
{ return fhPt[i]; }
void SetFlagCutTOFdistance(Bool_t flagTOFcut)
 TOF cuts
{ fFlagCutTOFdistance = flagTOFcut;}
Bool_t GetFlagCutTOFdistance() const
void SetCutTOFdistance(Float_t cut)
{ fCutTOFdistance = cut;}
Float_t GetCutTOFdistance() const
{ return fCutTOFdistance;}
void SetRequireTOFout(Bool_t b = kFALSE)