ROOT logo
AliRoot » PWGPP » TRD » INFO » AliTRDv0Info

class AliTRDv0Info: public TObject


Reconstruction QA

Gathers all information necessary for reference data selection about
the track and (in case) its corresponding V0.
Carries out the selection of electrons (from gamma conversions),
pions (from K0s decays) and protons (from Lambda and Anti-Lambda
decays) by cuts specific for the respective decay and particle
species.
(M.Heide, 2009/10/06)

Authors:
Alex Bercuci <A.Bercuci@gsi.de>
Alex Wilk    <wilka@uni-muenster.de>
Markus Heide <mheide@uni-muenster.de>


Function Members (Methods)

public:
AliTRDv0Info()
AliTRDv0Info(const AliTRDv0Info& ref)
virtual~AliTRDv0Info()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
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
virtual voidTObject::Copy(TObject& object) 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
Float_tGetChi2ndf(Int_t decay) const
Float_tGetComPID(Int_t iDaughter, Int_t iSpecies) const
Float_tGetDCA() const
Float_tGetDetPID(Int_t iDaughter, Int_t iDetector, Int_t iSpecies) const
Float_tGetDownComPIDneg(Int_t iPart) const
Float_tGetDownComPIDnegPart(Int_t iPart) const
Float_tGetDownComPIDpos(Int_t iPart) const
Float_tGetDownComPIDposPart(Int_t iPart) const
Double_tGetDownInvMass(Int_t iDecay) const
Float_tGetDownOpenAngle(Int_t iDecay) const
Float_tGetDownPsiPair(Int_t iDecay) const
Float_tGetDownRadius(Int_t iDecay) const
Float_tGetDownTPCPIDneg(Int_t iPart) const
Float_tGetDownTPCPIDpos(Int_t iPart) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tGetInvMass(Int_t iDecay) const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Float_tGetOpenAngle() const
virtual Option_t*TObject::GetOption() const
Int_tGetPID(Int_t ipart, AliTRDtrackInfo* track)
Float_tGetPointingAngle() const
Float_tGetPsiPair() const
Int_tGetQuality() const
Float_tGetRadius() const
virtual const char*TObject::GetTitle() const
Float_tGetTPCdEdx(Int_t iDaughter) const
virtual UInt_tTObject::GetUniqueID() const
Float_tGetUpDCA(Int_t iDecay) const
Double_tGetUpInvMass(Int_t iDecay, Int_t iMomentum) const
Float_tGetUpOpenAngle(Int_t iDecay) const
Float_tGetUpPointingAngle(Int_t iDecay) const
Float_tGetUpPsiPair(Int_t iDecay) const
Float_tGetUpRadius(Int_t iDecay) const
AliESDtrack*GetV0Daughter(Int_t sign)
Float_tGetV0Momentum() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Int_tHasTrack(const AliTRDtrackInfo *const track) const
Int_tHasTrack(Int_t ti) 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
Bool_tIsDecay(Int_t type) 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)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") 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)
voidSetChi2ndf(Int_t decay, Float_t SChi2ndf)
voidSetComPID(Int_t iDaughter, Int_t iSpecies, Float_t SComPID)
voidSetDCA(Float_t SDCA)
voidSetDecay(Int_t type, Bool_t s = kTRUE)
voidSetDetPID(Int_t iDaughter, Int_t iDetector, Int_t iSpecies, Float_t SDetPID)
voidSetDownComPIDneg(Int_t iPart, Double_t DownComPIDneg)
voidSetDownComPIDnegPart(Int_t iPart, Double_t DownComPIDnegPart)
voidSetDownComPIDpos(Int_t iPart, Double_t DownComPIDpos)
voidSetDownComPIDposPart(Int_t iPart, Double_t DownComPIDposPart)
voidSetDownInvMass(Int_t iDecay, Double_t DownInvMass)
voidSetDownOpenAngle(Int_t iDecay, Float_t DownOpenAngle)
voidSetDownPsiPair(Int_t iDecay, Float_t DownPsiPair)
voidSetDownRadius(Int_t iDecay, Float_t DownRadius)
voidSetDownTPCPIDneg(Int_t iPart, Double_t DownTPCPIDneg)
voidSetDownTPCPIDpos(Int_t iPart, Double_t DownTPCPIDpos)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetInputEvent(AliVEvent* e)
voidSetInvMass(Int_t iDecay, Float_t SInvMass)
voidSetMagField(Float_t b)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOpenAngle(Float_t SOpenAngle)
voidSetPointingAngle(Float_t SPointingAngle)
voidSetPrimaryVertex(AliKFVertex* v)
voidSetPsiPair(Float_t SPsiPair)
voidSetQuality(Int_t SQuality)
voidSetRadius(Float_t SRadius)
voidSetTPCdEdx(Int_t iDaughter, Float_t STpcdEdx)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUpDCA(Int_t iDecay, Float_t UpDCA)
voidSetUpInvMass(Int_t iDecay, Int_t iMomentum, Double_t UpInvMass)
voidSetUpOpenAngle(Int_t iDecay, Float_t UpOpenAngle)
voidSetUpPointingAngle(Int_t iDecay, Float_t UpPointingAngle)
voidSetUpPsiPair(Int_t iDecay, Float_t UpPsiPair)
voidSetUpRadius(Int_t iDecay, Float_t UpRadius)
voidSetV0Info(const AliESDv0* v0)
voidSetV0Momentum(Float_t SV0Momentum)
voidSetV0tracks(AliESDtrack* p, AliESDtrack* n)
virtual voidShowMembers(TMemberInspector&)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Bool_tArmenteros(const AliESDv0* esdv0, Int_t species)
voidCombinePID()
AliKFParticle*CreateMotherParticle(const AliESDtrack* pdaughter, const AliESDtrack* ndaughter, Int_t pspec, Int_t nspec)
Float_tDCA() const
voidGetDetectorPID()
Bool_tGetTPCdEdx()
Double_tInvMass(Int_t part1, Int_t part2, const AliESDv0* esdv0) const
Double_tKFChi2ndf(Int_t part1, Int_t part2, Int_t decay)
Float_tOpenAngle(const AliESDv0* esdv0)
AliTRDv0Info&operator=(const AliTRDv0Info&)
Float_tPointingAngle() const
Float_tPsiPair(const AliESDv0* esdv0)
Int_tQuality(const AliESDv0 *const esdv0)
Float_tRadius(const AliESDv0* esdv0)
Bool_tTPCdEdxCuts(Int_t part, const AliTRDtrackInfo *const track)
Float_tV0Momentum(const AliESDv0* esdv0) const
Bool_tV0SignCheck()

Data Members

public:
enum ETRDv0Info { kNV0param
kNlayer
kNMomBins
kNArmenteros
};
enum EDaughter { kNeg
kPos
kNDaughters
};
enum EDecayType { kGamma
kK0s
kLambda
kAntiLambda
kNDecays
};
enum EDetector { kTPC
kTOF
kITS
kNDetectors
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Bool_tfArmenteros[4]Array for the Armenteros yes/no decision for all decays
Double_tfChi2ndf[4]Chi2/NDF from KF
Double_tfComPID[2][5]Combined PID, momentarily from TPC and TOF only
Float_tfDCADistance of closest approach of daughter tracks
Double_tfDetPID[2][3][5]PID provided by TPC, TOF and ITS
Float_tfDownComPIDneg[5]Combined PID negatives, lower limit
Float_tfDownComPIDnegPart[5]Combined PID positive partner daughters (NOT the daughter track that would go into the reference data; here: pion daughters from Lambda decays; lower limit
Float_tfDownComPIDpos[5]Combined PID positives, lower limit
Float_tfDownComPIDposPart[5]Combined PID positive partner daughters (NOT the daughter track that would go into the reference data; here: pion daughters from Lambda decays; lower limit
Double_tfDownInvMass[4]invariant mass, lower limit
Float_tfDownOpenAngle[4]opening angle, lower limit
Float_tfDownPsiPair[4]psi angle, lower limit
Float_tfDownRadius[4]radius, lower limit
Float_tfDownTPCPIDneg[5]TPC PID negatives, lower limit
Float_tfDownTPCPIDpos[5]TPC PID positives, lower limit
AliVEvent*fInputEventInput Event
Double_tfInvMass[4]invariant mass for different decay scenarios (conversions, K0s, Lambda->p+pi-, Lambda->p-pi+)
Double_tfMagFieldmagnetic field strength
Int_tfNindexindices of positive and negative daughter track
Float_tfOpenAngleopening angle between daughters
Int_tfPindexindices of positive and negative daughter track
Float_tfPointingAngle= TMath::ACos(esdv0->GetV0CosineOfPointingAngle()); // Cosine of pointing angle
AliKFVertex*fPrimaryVertexprimary vertex
Float_tfPsiPair/Angle between daughter momentum plane and plane perpendicular to magnetic field
Int_tfQualitytrack quality status for both V0 daughters; OnFly, TPCrefit, Kinks, TPC clusters
Float_tfRadiusdistance of decay/conversion from primary vertex in x-y plane
Float_tfTPCdEdx[2]Energy deposition in the TPC
AliESDtrack*fTrackN!negative daughter
AliESDtrack*fTrackP!positive daughter
Double_tfUpChi2ndf[4]upper Chi2/NDF limit
Float_tfUpDCA[4]DCA, upper limit
Double_tfUpInvMass[4][2]invariant mass, upper limit
Float_tfUpOpenAngle[4]opening angle, upper limit
Float_tfUpPointingAngle[4]pointing angle, upper limit
Float_tfUpPsiPair[4]psi angle, upper limit
Float_tfUpRadius[4]radius, upper limit
Float_tfV0MomentumV0 mother's momentum

Class Charts

Inheritance Chart:
TObject
AliTRDv0Info

Function documentation

AliTRDv0Info()
 Default constructor

AliTRDv0Info(const AliTRDv0Info& ref)
 Copy constructor

void SetV0Info(const AliESDv0* v0)
Gets values of ESDv0 and daughter track properties
See header file for description of variables
Float_t V0Momentum(const AliESDv0* esdv0) const
 Reconstructed momentum of V0 mother particle

Double_t InvMass(Int_t part1, Int_t part2, const AliESDv0* esdv0) const
 Invariant mass of reconstructed V0 mother

Float_t OpenAngle(const AliESDv0* esdv0)
Opening angle between two daughter tracks
Float_t PsiPair(const AliESDv0* esdv0)
Angle between daughter momentum plane and plane perpendicular to magnetic field
Double_t KFChi2ndf(Int_t part1, Int_t part2, Int_t decay)
Calculates Kalman filter Chi2/NDF
AliKFParticle * CreateMotherParticle(const AliESDtrack* pdaughter, const AliESDtrack* ndaughter, Int_t pspec, Int_t nspec)
 Creates a mother particle on the HEAP !! User code is responsible for its deletion

Int_t HasTrack(const AliTRDtrackInfo *const track) const
Checks if track is a secondary vertex daughter (due to V0 finder)
Int_t HasTrack(Int_t ti) const
comparing index of track with indices of pos./neg. V0 daughter :
void GetDetectorPID()
PID likelihoods from TPC, TOF, and ITS, for all particle species
void CombinePID()
combined bayesian PID from TPC and TOF
Bool_t GetTPCdEdx()
gets the TPC dE/dx for both daughter tracks
Bool_t TPCdEdxCuts(Int_t part, const AliTRDtrackInfo *const track)
applies cuts on TPC dE/dx according to particle species; cutting lines are drawn shifted to the Bethe-Bloch paremeterization
Float_t Radius(const AliESDv0* esdv0)
distance from secondary vertex to primary vertex in x-y plane
Int_t Quality(const AliESDv0 *const esdv0)
 Checking track and V0 quality status in order to exclude vertices based on poor information

Bool_t V0SignCheck()
 Check if v0 daughters really carry opposite charges

Bool_t Armenteros(const AliESDv0* esdv0, Int_t species)
 computes the Armenteros variables for given V0

Int_t GetPID(Int_t ipart, AliTRDtrackInfo* track)
 Decides if track is accepted for one of the reference data samples
void Print(Option_t* opt = "") const
prints text for debugging etc.
void SetV0tracks(AliESDtrack* p, AliESDtrack* n)
sets the two daughter trex and their indices
AliESDtrack * GetV0Daughter(Int_t sign)
Gets positive of negative daughter of decay
virtual ~AliTRDv0Info()
{}
Int_t GetQuality() const
{return fQuality;}
Float_t GetDCA() const
{return fDCA;}
Float_t GetPointingAngle() const
{return fPointingAngle;}
Float_t GetOpenAngle() const
{return fOpenAngle;}
Float_t GetPsiPair() const
{return fPsiPair;}
Float_t GetRadius() const
{return fRadius;}
Float_t GetV0Momentum() const
{return fV0Momentum;}
Double_t GetInvMass(Int_t iDecay) const
{return fInvMass[iDecay];}
Float_t GetDetPID(Int_t iDaughter, Int_t iDetector, Int_t iSpecies) const
{return fDetPID[iDaughter][iDetector][iSpecies];}
Float_t GetComPID(Int_t iDaughter, Int_t iSpecies) const
{return fComPID[iDaughter][iSpecies];}
Float_t GetTPCdEdx(Int_t iDaughter) const
{return fTPCdEdx[iDaughter];}
Float_t GetChi2ndf(Int_t decay) const
{return fChi2ndf[decay];}
Float_t GetUpDCA(Int_t iDecay) const
Get Cut values:
{return fUpDCA[iDecay];}
Float_t GetUpPointingAngle(Int_t iDecay) const
{return fUpPointingAngle[iDecay];}
Float_t GetUpOpenAngle(Int_t iDecay) const
{return fUpOpenAngle[iDecay];}
Float_t GetDownOpenAngle(Int_t iDecay) const
{return fDownOpenAngle[iDecay];}
Float_t GetUpPsiPair(Int_t iDecay) const
{return fUpPsiPair[iDecay];}
Float_t GetDownPsiPair(Int_t iDecay) const
{return fDownPsiPair[iDecay];}
Float_t GetUpRadius(Int_t iDecay) const
{return fUpRadius[iDecay];}
Float_t GetDownRadius(Int_t iDecay) const
{return fDownRadius[iDecay];}
Double_t GetUpInvMass(Int_t iDecay, Int_t iMomentum) const
{return fUpInvMass[iDecay][iMomentum];}
Double_t GetDownInvMass(Int_t iDecay) const
{return fDownInvMass[iDecay];}
Float_t GetDownTPCPIDneg(Int_t iPart) const
{return fDownTPCPIDneg[iPart];}
Float_t GetDownTPCPIDpos(Int_t iPart) const
{return fDownTPCPIDpos[iPart];}
Float_t GetDownComPIDneg(Int_t iPart) const
{return fDownComPIDneg[iPart];}
Float_t GetDownComPIDpos(Int_t iPart) const
{return fDownComPIDpos[iPart];}
Float_t GetDownComPIDnegPart(Int_t iPart) const
{return fDownComPIDnegPart[iPart];}
Float_t GetDownComPIDposPart(Int_t iPart) const
{return fDownComPIDposPart[iPart];}
Bool_t IsDecay(Int_t type) const
{if(type<0||type>=Int_t(kNDecays)) return kFALSE; return TestBit(BIT(14+type));}
void SetMagField(Float_t b)
{fMagField = b;}
void SetInputEvent(AliVEvent* e)
{ fInputEvent = e; }
void SetPrimaryVertex(AliKFVertex* v)
void SetQuality(Int_t SQuality)
Set values of measured/calculated variables:
{fQuality = SQuality;}
void SetDCA(Float_t SDCA)
{fDCA = SDCA;}
void SetPointingAngle(Float_t SPointingAngle)
{fPointingAngle = SPointingAngle;}
void SetOpenAngle(Float_t SOpenAngle)
{fOpenAngle = SOpenAngle;}
void SetPsiPair(Float_t SPsiPair)
{fPsiPair = SPsiPair;}
void SetRadius(Float_t SRadius)
{fRadius = SRadius;}
void SetInvMass(Int_t iDecay, Float_t SInvMass)
{fInvMass[iDecay] = SInvMass;}
void SetDetPID(Int_t iDaughter, Int_t iDetector, Int_t iSpecies, Float_t SDetPID)
{fDetPID[iDaughter][iDetector][iSpecies] = SDetPID;}
void SetComPID(Int_t iDaughter, Int_t iSpecies, Float_t SComPID)
{fComPID[iDaughter][iSpecies] = SComPID;}
void SetTPCdEdx(Int_t iDaughter, Float_t STpcdEdx)
{fTPCdEdx[iDaughter] = STpcdEdx;}
void SetV0Momentum(Float_t SV0Momentum)
{fV0Momentum = SV0Momentum;}
void SetChi2ndf(Int_t decay, Float_t SChi2ndf)
{fChi2ndf[decay]=SChi2ndf;}
void SetUpDCA(Int_t iDecay, Float_t UpDCA)
Set cut values:
{fUpDCA[iDecay] = UpDCA;}
void SetUpPointingAngle(Int_t iDecay, Float_t UpPointingAngle)
{fUpPointingAngle[iDecay] = UpPointingAngle;}
void SetUpOpenAngle(Int_t iDecay, Float_t UpOpenAngle)
{fUpOpenAngle[iDecay] = UpOpenAngle;}
void SetDownOpenAngle(Int_t iDecay, Float_t DownOpenAngle)
{fDownOpenAngle[iDecay] = DownOpenAngle;}
void SetUpPsiPair(Int_t iDecay, Float_t UpPsiPair)
{fUpPsiPair[iDecay] = UpPsiPair;}
void SetDownPsiPair(Int_t iDecay, Float_t DownPsiPair)
{fDownPsiPair[iDecay] = DownPsiPair;}
void SetUpRadius(Int_t iDecay, Float_t UpRadius)
{fUpRadius[iDecay] = UpRadius;}
void SetDownRadius(Int_t iDecay, Float_t DownRadius)
{fDownRadius[iDecay] = DownRadius;}
void SetUpInvMass(Int_t iDecay, Int_t iMomentum, Double_t UpInvMass)
{fUpInvMass[iDecay][iMomentum] = UpInvMass;}
void SetDownInvMass(Int_t iDecay, Double_t DownInvMass)
{fDownInvMass[iDecay] = DownInvMass;}
void SetDownTPCPIDneg(Int_t iPart, Double_t DownTPCPIDneg)
{fDownTPCPIDneg[iPart] = DownTPCPIDneg;}
void SetDownTPCPIDpos(Int_t iPart, Double_t DownTPCPIDpos)
{fDownTPCPIDpos[iPart] = DownTPCPIDpos;}
void SetDownComPIDneg(Int_t iPart, Double_t DownComPIDneg)
{fDownComPIDneg[iPart] = DownComPIDneg;}
void SetDownComPIDpos(Int_t iPart, Double_t DownComPIDpos)
{fDownComPIDpos[iPart] = DownComPIDpos;}
void SetDownComPIDnegPart(Int_t iPart, Double_t DownComPIDnegPart)
{fDownComPIDnegPart[iPart] = DownComPIDnegPart;}
void SetDownComPIDposPart(Int_t iPart, Double_t DownComPIDposPart)
{fDownComPIDposPart[iPart] = DownComPIDposPart;}
void SetDecay(Int_t type, Bool_t s = kTRUE)
{SetBit(BIT(14+type), s);}
AliTRDv0Info& operator=(const AliTRDv0Info& )
Float_t DCA() const
{return fDCA;}
Float_t PointingAngle() const
{return fPointingAngle;}