ROOT logo
AliRoot » MUON » AliMUONTrackLight

class AliMUONTrackLight: public TObject

 Compact information for the muon generated tracks in the MUON arm
 useful at the last stage of the analysis chain
 provides a link between the reconstructed track and the generated particle
 stores kinematical information at gen. and rec. level and
 the decay history of the muon, allowing the identification of the
 mother process

 To be used together with AliMUONPairLight

 This class was prepared by INFN Cagliari, July 2006
 (authors: H.Woehri, A.de Falco)

Function Members (Methods)

public:
AliMUONTrackLight()
AliMUONTrackLight(AliESDMuonTrack* muonTrack)
AliMUONTrackLight(const AliMUONTrackLight& muonCopy)
virtual~AliMUONTrackLight()
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
voidFillFromAliMUONTrack(AliMUONTrack* trackReco, Double_t zvert = -9999)
voidFillFromESD(AliESDMuonTrack* muonTrack, Double_t zvert = -9999)
voidFillMuonHistory(AliStack* stack, TParticle* part)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetCharge() const
Double_tGetChi2() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
Int_tGetNParents() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Bool_tGetOscillation() const
Int_tGetParentFlavour(Int_t idParent = 0) const
Int_tGetParentPDGCode(Int_t index = 0) const
Int_tGetParentPythiaLine(Int_t index = 0) const
TLorentzVectorGetPGen() const
TLorentzVectorGetPRec() const
Int_tGetQuarkPDGCode(Int_t index = 0) const
Int_tGetQuarkPythiaLine(Int_t index = 0) const
virtual const char*TObject::GetTitle() const
Int_tGetTrackPDGCode() const
Int_tGetTrackPythiaLine() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*GetVertex()
Double_tGetWeight() const
Double_tGetX() const
Double_tGetY() const
Double_tGetZ() 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
Bool_tIsAMuon() const
Bool_tIsB0(Int_t intTest) const
Bool_tIsDiquark(Int_t pdg) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsMotherAResonance(Int_t index = 0) const
Bool_tTObject::IsOnHeap() const
Bool_tIsParentPionOrKaon(Int_t idParent = 0)
virtual Bool_tTObject::IsSortable() const
Bool_tIsTriggered() 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)
AliMUONTrackLight&operator=(const AliMUONTrackLight&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual voidPrintInfo(Option_t* opt)
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)
voidSetCharge(Int_t charge)
voidSetChi2(Double_t chi2)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPGen(TLorentzVector pgen)
voidSetPRec(TLorentzVector prec)
voidSetPxPyPz(Double_t px, Double_t py, Double_t pz)
voidSetTrackPDGCode(Int_t trackPdg)
voidSetTrackPythiaLine(Int_t trackLine)
voidSetTriggered(Bool_t isTriggered)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVertex(Double_t* xyz)
voidSetWeight(Double_t w)
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()
voidResetQuarkInfo()
voidSetOscillation(Bool_t oscillation)
voidSetParentPDGCode(Int_t index, Int_t pdg)
voidSetParentPythiaLine(Int_t index, Int_t line)
voidSetQuarkPDGCode(Int_t index, Int_t pdg)
voidSetQuarkPythiaLine(Int_t index, Int_t line)

Data Members

protected:
Float_tfCentr/< centrality
Int_tfCharge/< muon charge
Double_tfChi2/< chi2 / ndf in the MUON track fit
Bool_tfIsTriggered/< flag for trigger
Int_tfNParents/< acually filled no. of *fragmented* parents
Bool_tfOscillation/< flag for oscillation
Int_tfParentPDGCode[5]/< hadronised parents and grandparents
Int_tfParentPythiaLine[5]/< line of Pythia output for hadronised parents & grandparents
TLorentzVectorfPgen/< 4-momentum of the generated particle
TLorentzVectorfPrec/< reconstructed 4-momentum
Int_tfQuarkPDGCode[4]/< pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
Int_tfQuarkPythiaLine[4]/< line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
Int_tfTrackPDGCode/< pdg code of the rec. track (in general will be a muon)
Int_tfTrackPythiaLine/< line of kin. stack where rec. track (in general, the muon) is stored
Double_tfWeight/< weight assigned to the muon
Double_tfXYZ[3]/< primary vertex position from the ITS
static const Int_tfgkNParentsMax/< maximum number of parents

Class Charts

Inheritance Chart:
TObject
AliMUONTrackLight

Function documentation

AliMUONTrackLight()
 default constructor
AliMUONTrackLight(const AliMUONTrackLight& muonCopy)
 copy constructor
AliMUONTrackLight(AliESDMuonTrack* muonTrack)
 constructor
~AliMUONTrackLight()
 Destructor
AliMUONTrackLight& operator=(const AliMUONTrackLight& )
 check assignment to self
void FillFromAliMUONTrack(AliMUONTrack* trackReco, Double_t zvert = -9999)
 this method sets the muon reconstructed momentum according to the value given by AliMUONTrack
void FillFromESD(AliESDMuonTrack* muonTrack, Double_t zvert = -9999)
 computes prec and charge from ESD track
void SetPxPyPz(Double_t px, Double_t py, Double_t pz)
 set the reconstructed 4-momentum, assuming the particle is a muon
void FillMuonHistory(AliStack* stack, TParticle* part)
 scans the muon history to determine parents pdg code and pythia line
void ResetQuarkInfo()
 resets parton information
Bool_t IsB0(Int_t intTest) const
 checks if the particle is a B0
Bool_t IsMotherAResonance(Int_t index = 0) const
 checks if mother is a resonance
Int_t GetParentFlavour(Int_t idParent = 0) const
 returns the flavour of parent idParent (idParent=0 is the oldest
 hadronized parent)
void PrintInfo(Option_t* opt)
 prints information about the track:
 - "H" muon's decay history
 - "K" muon kinematics
 - "A" all variables
Bool_t IsParentPionOrKaon(Int_t idParent = 0)
 checks if a muon comes from a pion or kaon or a particle that decays into one of these two
Bool_t IsDiquark(Int_t pdg) const
 check if the provided pdg code corresponds to a diquark
void SetPGen(TLorentzVector pgen)
 Set 4-momentum of the generated particle
{fPgen = pgen;}
TLorentzVector GetPGen() const
 Return 4-momentum of the generated particle
{return fPgen;}
void SetPRec(TLorentzVector prec)
 Set reconstructed 4-momentum
{fPrec = prec;}
TLorentzVector GetPRec() const
 Return reconstructed 4-momentum
{return fPrec;}
void SetVertex(Double_t* xyz)
 Set primary vertex position from the ITS
{for (Int_t i=0; i<3; i++) fXYZ[i]=xyz[i];}
Double_t GetX() const
 Return primary vertex x position from the ITS
{ return fXYZ[0]; }
Double_t GetY() const
 Return primary vertex y position from the ITS
{ return fXYZ[1]; }
Double_t GetZ() const
 Return primary vertex z position from the ITS
{ return fXYZ[2]; }
Double_t* GetVertex()
 Return  primary vertex position from the ITS
{ return fXYZ; }
void SetChi2(Double_t chi2)
 Set chi2 / ndf in the MUON track fit
{fChi2=chi2;}
Double_t GetChi2() const
 Return chi2 / ndf in the MUON track fit
{ return fChi2; }
void SetWeight(Double_t w)
 Set weight assigned to the muon
{fWeight=w;}
Double_t GetWeight() const
 Return weight assigned to the muon
{ return fWeight; }
void SetCharge(Int_t charge)
 Set muon charge
{fCharge = charge;}
Int_t GetCharge() const
 Return muon charge
{return fCharge;}
Int_t GetParentPDGCode(Int_t index = 0) const
 Return hadronised parents and grandparents
{ return fParentPDGCode[index]; }
Int_t GetParentPythiaLine(Int_t index = 0) const
 Return line of Pythia output for hadronised parents & grandparents
{ return fParentPythiaLine[index]; }
Int_t GetQuarkPDGCode(Int_t index = 0) const
 Return pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
{ return fQuarkPDGCode[index]; }
Int_t GetQuarkPythiaLine(Int_t index = 0) const
 Return line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
{ return fQuarkPythiaLine[index]; }
Int_t GetTrackPythiaLine() const
 Return line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
Int_t GetTrackPDGCode() const
 Return pdg code of the rec. track (in general will be a muon)
{return fTrackPDGCode;}
void SetTrackPythiaLine(Int_t trackLine)
 Set line of kin. stack where rec. track (in general, the muon) is stored
{fTrackPythiaLine = trackLine;}
void SetTrackPDGCode(Int_t trackPdg)
 Set pdg code of the rec. track (in general will be a muon)
{fTrackPDGCode = trackPdg;}
Bool_t IsAMuon() const
 Return info if is a muon
{ return (TMath::Abs(fTrackPDGCode)==13); }
void SetTriggered(Bool_t isTriggered)
 Set flag for trigger
{ fIsTriggered = isTriggered; }
Bool_t IsTriggered() const
 Return flag for trigger
{ return fIsTriggered; }
Int_t GetNParents() const
 Return acually filled no. of *fragmented* parents
{return fNParents;}
Bool_t GetOscillation() const
 Return flag for oscillation
{return fOscillation;}
void SetOscillation(Bool_t oscillation)
 Set flag for oscillation
{ fOscillation = oscillation; }
void SetParentPDGCode(Int_t index, Int_t pdg)
 Set hadronised parents and grandparents
{ fParentPDGCode[index] = pdg; }
void SetParentPythiaLine(Int_t index, Int_t line)
 Set line of Pythia output for hadronised parents & grandparents
{ fParentPythiaLine[index] = line; }
void SetQuarkPDGCode(Int_t index, Int_t pdg)
 Set pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
{ fQuarkPDGCode[index] = pdg; }
void SetQuarkPythiaLine(Int_t index, Int_t line)
 Set line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
{ fQuarkPythiaLine[index] = line; }