ROOT logo
AliRoot » ANALYSIS » AliAODv0KineCuts

class AliAODv0KineCuts: public TObject

Function Members (Methods)

public:
AliAODv0KineCuts()
AliAODv0KineCuts(const AliAODv0KineCuts& ref)
virtual~AliAODv0KineCuts()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tCaseGamma(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
Bool_tCaseK0(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
Bool_tCaseLambda(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN, Int_t id) const
Bool_tCheckSigns(AliAODv0 *const v0) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
AliKFParticle*CreateMotherParticle(const AliVTrack *const pdaughter, const AliVTrack *const ndaughter, Int_t pspec, Int_t nspec) 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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tGetConvPosXY(AliAODTrack *const ptrack, AliAODTrack *const ntrack, Double_t* convpos) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tGetHelixCenter(AliAODTrack *const track, Double_t b, Int_t charge, Double_t* center) const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::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_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::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)
AliAODv0KineCuts&operator=(const AliAODv0KineCuts& ref)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
Int_tPreselectV0(AliAODv0 *const v0) const
virtual voidTObject::Print(Option_t* option = "") const
Bool_tProcessV0(AliAODv0 *const v0, Int_t& pdgP, Int_t& pdgN) const
Bool_tProcessV0(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
Double_tPsiPair(AliAODv0 *const v0) 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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCuts()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEvent(AliAODEvent *const event)
voidSetEvent(AliVEvent *const event)
voidSetGammaCutChi2NDF(Float_t val)
voidSetGammaCutCosPoint(Float_t *const val)
voidSetGammaCutDCA(Float_t *const val)
voidSetGammaCutInvMass(Float_t val)
voidSetGammaCutPsiPair(Float_t *const val)
voidSetGammaCutVertexR(Float_t *const val)
voidSetK0CutChi2NDF(Float_t val)
voidSetK0CutCosPoint(Float_t *const val)
voidSetK0CutDCA(Float_t *const val)
voidSetK0CutInvMass(Float_t *const val)
voidSetK0CutVertexR(Float_t *const val)
voidSetLambdaCutChi2NDF(Float_t val)
voidSetLambdaCutCosPoint(Float_t *const val)
voidSetLambdaCutDCA(Float_t *const val)
voidSetLambdaCutInvMass(Float_t *const val)
voidSetLambdaCutVertexR(Float_t *const val)
voidSetMode(Int_t mode, Int_t type)
voidSetMode(Int_t mode, const char* type)
voidSetNoKinks(Bool_t k = kTRUE)
voidSetNTPCclusters(Int_t n)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPrimaryVertex(AliKFVertex *const v)
voidSetTPCclusterratio(Float_t r)
voidSetTPCrefit(Bool_t r = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
Bool_tSingleTrackCuts(AliAODv0 *const v0) 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()
voidUseExternalVertex(Bool_t use_external = kTRUE)
Bool_tV0CutsCommon(const AliAODv0 *const v0) const
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 voidCopy(TObject& ref) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Bool_tGammaEffCuts(AliAODv0 *const v0)
Bool_tIsKinkDaughter(const AliAODTrack *const track) const
Bool_tIsKinkMother(const AliAODTrack *const track) const

Data Members

public:
enum { kUndef
kGamma
kK0
kLambda
kALambda
kPP
kPbPb
kPurity
kEffGamma
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Bool_tfDeleteVertexIs kTRUE if Vertex has been created in SetEvent() function
AliAODEvent*fEventcurrent event
Float_tfGcutChi2NDFChi2NF cut value for the AliKFparticle gamma
Float_tfGcutCosPoint[2]cos of the pointing angle [min, max]
Float_tfGcutDCA[2]DCA between the daughter tracks [min, max]
Float_tfGcutInvMassupper value on the gamma invariant mass
Float_tfGcutPsiPair[2]value of the psi pair cut [min, max]
Float_tfGcutVertexR[2]radius of the conversion point [min, max]
Float_tfK0cutChi2NDFChi2NF cut value for the AliKFparticle K0
Float_tfK0cutCosPoint[2]cos of the pointing angle [min, max]
Float_tfK0cutDCA[2]DCA between the daughter tracks [min, max]
Float_tfK0cutInvMass[2]invariant mass window
Float_tfK0cutVertexR[2]radius of the decay point [min, max]
TArrayIfKinkMotherListKink mothers
Float_tfLcutChi2NDFChi2NF cut value for the AliKFparticle K0
Float_tfLcutCosPoint[2]cos of the pointing angle [min, max]
Float_tfLcutDCA[2]DCA between the daughter tracks [min, max]
Float_tfLcutInvMass[2]invariant mass window
Float_tfLcutVertexR[2]radius of the decay point [min, max]
Int_tfModecurrent operation mode
Bool_tfNoKinkskinks - no [kTRUE] or do not care [kFalse]
Int_tfNumberKinkMothersNumber of kink mothers
AliKFVertex*fPrimaryVertexprimary vertex
Int_tfTPCNclsnumber of TPC clusters
Float_tfTPCclsRatiomin. TPC cluster ratio
Bool_tfTPCrefitTPC refit - yes [kTRUE] or do not care [kFALSE]
Int_tfTypedata type: p-p or Pb-Pb
Bool_tfUseExternalVertexIs kTRUE if Vertex is set via SetPrimaryVertex()

Class Charts

Inheritance Chart:
TObject
AliAODv0KineCuts

Function documentation

AliAODv0KineCuts()
 Default constructor

~AliAODv0KineCuts()
 Destructor

AliAODv0KineCuts(const AliAODv0KineCuts& ref)
 Copy operator

AliAODv0KineCuts & operator=(const AliAODv0KineCuts& ref)
 assignment operator

void Copy(TObject& ref) const
 Performs the copying of the object

Bool_t ProcessV0(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
 main user function

Bool_t ProcessV0(AliAODv0 *const v0, Int_t& pdgP, Int_t& pdgN) const
 main user function, simplified if the V0 identity is not necessary

Int_t PreselectV0(AliAODv0 *const v0) const
 Make a preselection (exclusive) of the V0 cadidates based on
 Armenteros plot
 the armenteros cut values are currently fixed and user is not able to set them via
 set funcions. The reason is that these cuts are optimized and furneter changes should
 not be necessary. To prove otherwise please study in detail before changing the values

Bool_t SingleTrackCuts(AliAODv0 *const v0) const
 apply single track cuts
 correct sign not relevat here

Bool_t CaseGamma(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
 process the gamma conversion candidate

Bool_t CaseK0(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN) const
 process the K0 candidate

Bool_t CaseLambda(AliAODv0 *const v0, Int_t& pdgV0, Int_t& pdgP, Int_t& pdgN, Int_t id) const
 process teh Lambda and Anti-Lambda candidate

Bool_t V0CutsCommon(const AliAODv0 *const v0) const
 V0 cuts common to all V0s

Bool_t CheckSigns(AliAODv0 *const v0) const
 check wheter the sign was correctly applied to
 V0 daughter tracks

Double_t PsiPair(AliAODv0 *const v0) const
 Angle between daughter momentum plane and plane

Bool_t GetConvPosXY(AliAODTrack *const ptrack, AliAODTrack *const ntrack, Double_t* convpos) const
 recalculate the gamma conversion XY postition

Bool_t GetHelixCenter(AliAODTrack *const track, Double_t b, Int_t charge, Double_t* center) const
 computes the center of the track helix

AliKFParticle * CreateMotherParticle(const AliVTrack *const pdaughter, const AliVTrack *const ndaughter, Int_t pspec, Int_t nspec) const
 Creates a mother particle

void SetEvent(AliAODEvent *const event)
 direct setter of AOD event

void SetEvent(AliVEvent *const event)
 direct setter of AOD event

void UseExternalVertex(Bool_t use_external = kTRUE)
 Reenable primary Vertex from AOD event

void SetPrimaryVertex(AliKFVertex *const v)
 set the primary vertex of the event

void SetMode(Int_t mode, Int_t type)
 this function allows the user to select (prior running the 'ProcessV0' function)
 to select different approaches to V0 selection - the 'mode'
 - and -
 different systems (pp, PbPb) - 'type'

 To see the cut values for different modes please refer to the
 function SetCuts()

 Important notice: based on the parameters particular sets of cuts will
 be activated for teh V0 selection. If some additional changes to single
 cuts are needed please us the SetXXXcut function (see the header file)

void SetMode(Int_t mode, const char* type)
 overloaded function - please see above

void SetCuts()
 this funciton sets the default cut values based on the selected
 fMode and fType.
 please note that only the cuts that have different values than the default
 cuts are updated here

Bool_t IsKinkMother(const AliAODTrack *const track) const
 Check if track is a kink mother

Bool_t IsKinkDaughter(const AliAODTrack *const track) const
 Check if track is a kink daughter

void SetNTPCclusters(Int_t n)
 setter functions for V0 cut values
 for default values see the constructor
 see the default contructor for comments

 single track cuts
{ fTPCNcls = n; }
void SetTPCrefit(Bool_t r = kTRUE)
{ fTPCrefit = r; }
void SetTPCclusterratio(Float_t r)
{ fTPCclsRatio = r; }
void SetNoKinks(Bool_t k = kTRUE)
{ fNoKinks = k; }
void SetGammaCutChi2NDF(Float_t val)
 gamma cuts
{ fGcutChi2NDF = val; }
void SetGammaCutCosPoint(Float_t *const val)
void SetGammaCutDCA(Float_t *const val)
void SetGammaCutVertexR(Float_t *const val)
void SetGammaCutPsiPair(Float_t *const val)
void SetGammaCutInvMass(Float_t val)
void SetK0CutChi2NDF(Float_t val)
 K0 cuts
{ fK0cutChi2NDF = val; }
void SetK0CutCosPoint(Float_t *const val)
void SetK0CutDCA(Float_t *const val)
void SetK0CutVertexR(Float_t *const val)
void SetK0CutInvMass(Float_t *const val)
void SetLambdaCutChi2NDF(Float_t val)
 lambda & anti-lambda cuts
{ fLcutChi2NDF = val; }
void SetLambdaCutCosPoint(Float_t *const val)
void SetLambdaCutDCA(Float_t *const val)
void SetLambdaCutVertexR(Float_t *const val)
void SetLambdaCutInvMass(Float_t *const val)
Bool_t GammaEffCuts(AliAODv0 *const v0)