ROOT logo
AliRoot » MUON » AliMUONPairLight

class AliMUONPairLight: public TObject

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

 Compact information for the generated muon pairs in the MUON arm
 useful at the last stage of the analysis chain
 Pairs are built with two AliMUONTrackLight objects
 Using the class AliMUONTrackLight this class combines the decay
 information ("history") of the reconstructed tracks and fills
 a series of flags for the formed reconstructed dimuon:
 fIsCorrelated, fCreationProcess, fIsFeedDown, ...
 for information about the dimuon, use PrintInfo with the appropriate
 printflag
 To be used together with AliMUONTrackLight

Function Members (Methods)

public:
AliMUONPairLight()
AliMUONPairLight(AliMUONPairLight& dimuCopy)
virtual~AliMUONPairLight()
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
Int_tGetCauseOfCorrelation() const
Int_tGetCharge()
Int_tGetCreationProcess() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
AliMUONTrackLight*GetMuon(Int_t index)
Int_tGetMuonMotherPDG(Int_t imuon, Int_t mother = 0)
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Double_tGetOpeningAngle()
virtual Option_t*TObject::GetOption() const
TLorentzVectorGetPGen()
TLorentzVectorGetPRec()
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
Bool_tIsAResonance()
Bool_tIsCorrelated() const
Bool_tIsDimuonFromCorrPiK()
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsFeedDown() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsOneMuonFromPionOrKaon()
Bool_tIsOneTrackNotAMuon()
Bool_tTObject::IsOnHeap() const
Bool_tIsOpenBeauty()
Bool_tIsOpenCharm()
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)
AliMUONPairLight&operator=(const AliMUONPairLight&)
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)
voidSetCauseOfCorrelation(Int_t pdg)
voidSetCorrelated(Bool_t answer)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFeedDown(Int_t answer)
virtual voidSetMuons(const AliMUONTrackLight& mu0, const AliMUONTrackLight& mu1)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
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()
voidSetProcess()

Data Members

protected:
Int_tfCauseOfCorrelation/<pdg of common mother
Int_tfCreationProcess/<0: pair creation, 1: gluon splitting, 2: flavour excitation, 3: same fragmented mother, -1: resonance
Bool_tfIsCorrelated/<tells if the two muons are of correlated origin
Int_tfIsFeedDown/< tells if the process is from feeddown
AliMUONTrackLightfMu0/< first muon
AliMUONTrackLightfMu1/< second muon

Class Charts

Inheritance Chart:
TObject
AliMUONPairLight

Function documentation

AliMUONPairLight()
 default constructor
AliMUONPairLight(AliMUONPairLight& dimuCopy)
~AliMUONPairLight()
 destructor
AliMUONPairLight& operator=(const AliMUONPairLight& )
 check assignment to self
Bool_t IsAResonance()
 checks if muon pair comes from a resonance decay
AliMUONTrackLight* GetMuon(Int_t index)
 return muon 0 or 1
Int_t GetMuonMotherPDG(Int_t imuon, Int_t mother = 0)
 return muon mother pdg code
void SetProcess()
 finds the process related to the muon pair (open charm/beauty, resonance,
 uncorrelated...)
void SetMuons(const AliMUONTrackLight& mu0, const AliMUONTrackLight& mu1)
 set the two muons
void PrintInfo(Option_t* opt)
 print information about muon pairs
 Options:
 - "H" single muons' decay histories
 - "K" dimuon kinematics
 - "F" dimuon flags
 - "A" all variables
Double_t GetOpeningAngle()
 opening angle between the two muons in the lab frame (in degrees)
Bool_t IsDimuonFromCorrPiK()
check if we have a correlated pi/K
Bool_t IsOpenCharm()
 returns kTRUE if the creation process of the pair was "open charm" (kFALSE... otherwise)
{return (TMath::Abs(fMu0.GetParentFlavour(0))==4 && TMath::Abs(fMu1.GetParentFlavour(0))==4 && fIsCorrelated && !IsAResonance());}
Bool_t IsOpenBeauty()
 returns kTRUE if the creation process of the pair was "open beauty" (kFALSE... otherwise)
{return (TMath::Abs(fMu0.GetParentFlavour(0))==5 && TMath::Abs(fMu1.GetParentFlavour(0))==5 && fIsCorrelated && !IsAResonance());}
Bool_t IsOneMuonFromPionOrKaon()
 returns kTRUE if at least one of the first hadronised parent is a pi or a K (kFALSE... otherwise)
Bool_t IsCorrelated() const
 Return the info if the two muons are of correlated origin
{return fIsCorrelated;}
Int_t GetCauseOfCorrelation() const
 Return the pdg of common mother
Bool_t IsFeedDown() const
 Return the info if the process is from feeddown
{return fIsFeedDown;}
Bool_t IsOneTrackNotAMuon()
 returns kTRUE if at least one of the reconstructed tracks is not a muon (kFALSE... otherwise)
{return (!( fMu0.IsAMuon() && fMu1.IsAMuon() )) ;}
Int_t GetCharge()
 returns the charge of the created pair
{return fMu0.GetCharge() + fMu1.GetCharge();}
Int_t GetCreationProcess() const
 \brief Return the info ablout creation process
0: pair creation, 1: gluon splitting, 2: flavour excitation, 3: same fragmented mother, -1: resonance
void SetCorrelated(Bool_t answer)
 Set the info ablout creation process
{fIsCorrelated = answer; }
void SetCauseOfCorrelation(Int_t pdg)
 Set the pdg of common mother
void SetFeedDown(Int_t answer)
 Set the info if the process is from feeddown
{fIsFeedDown = answer;}
TLorentzVector GetPRec()
 returns a TLorentzVector containing the reconstructed kinematics of the pair
{return fMu0.GetPRec()+fMu1.GetPRec();}
TLorentzVector GetPGen()
 returns a TLorentzVector containing the generated kinematics of the pair
{return fMu0.GetPGen()+fMu1.GetPGen();}