ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » (UNKNOWN) » HParticleGeantPair

class HParticleGeantPair: public TLorentzVector

_HADES_CLASS_DESCRIPTION



 HParticleGeantPair

 a pair build of 2 HGeantKine objects. Opening Angle + Vertex variables
 are calulated when the pair is set.


Function Members (Methods)

public:
HParticleGeantPair()
HParticleGeantPair(const HParticleGeantPair&)
virtual~HParticleGeantPair()
voidTObject::AbstractMethod(const char* method) const
Double_tTLorentzVector::Angle(const TVector3& v) const
virtual voidTObject::AppendPad(Option_t* option = "")
Double_tTLorentzVector::Beta() const
voidTLorentzVector::Boost(const TVector3& b)
voidTLorentzVector::Boost(Double_t, Double_t, Double_t)
TVector3TLorentzVector::BoostVector() const
virtual voidTObject::Browse(TBrowser* b)
Bool_tcalcVectors(Int_t pid1, Int_t pid2, Int_t motherpid, HGeomVector& vertex)
Bool_tcheckStatus(UInt_t flag)
static TClass*Class()
virtual const char*TObject::ClassName() const
voidclear()
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
Double_tTLorentzVector::CosTheta() const
virtual voidTObject::Delete(Option_t* option = "")MENU
Double_tTLorentzVector::DeltaPhi(const TLorentzVector& v) const
Double_tTLorentzVector::DeltaR(const TLorentzVector& v) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
Double_tTLorentzVector::Dot(const TLorentzVector& q) const
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
Double_tTLorentzVector::DrEtaPhi(const TLorentzVector& v) const
virtual voidTObject::Dump() constMENU
Double_tTLorentzVector::E() const
Double_tTLorentzVector::Energy() const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
Double_tTLorentzVector::Et() const
Double_tTLorentzVector::Et(const TVector3& v) const
Double_tTLorentzVector::Et2() const
Double_tTLorentzVector::Et2(const TVector3& v) const
Double_tTLorentzVector::Eta() const
TVector2TLorentzVector::EtaPhiVector()
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
Double_tTLorentzVector::Gamma() const
HGeantKine*getCand(Int_t ind)
Int_tgetCandPID(Int_t ind)
TLorentzVector&getCandVect(Int_t ind)
HGeomVector&getDecayVertex()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
HGeomVector&getEventVertex()
virtual const char*TObject::GetIconName() const
Float_tgetMinDistCandidates()
HGeantKine*getMother()
Int_tgetMotherPID()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Float_tgetOpeningAngle()
virtual Option_t*TObject::GetOption() const
Float_tgetPhi()
UInt_tgetStatusFlags()
Float_tgetTheta()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Float_tgetVerDistMother()
Float_tgetVerMinDistCand(Int_t ind)
Float_tgetVerMinDistMother()
voidTLorentzVector::GetXYZT(Double_t* carray) const
voidTLorentzVector::GetXYZT(Float_t* carray) 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
Int_tisFakePair()
virtual Bool_tTObject::IsFolder() const
Bool_tisInAcceptance(Int_t ver = -1)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tisTruePair()
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
Double_tTLorentzVector::M() const
Double_tTLorentzVector::M2() const
Double_tTLorentzVector::Mag() const
Double_tTLorentzVector::Mag2() const
voidTObject::MayNotUse(const char* method) const
Double_tTLorentzVector::Minus() const
Double_tTLorentzVector::Mt() const
Double_tTLorentzVector::Mt2() 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)
Bool_tTLorentzVector::operator!=(const TLorentzVector& q) const
Double_tTLorentzVector::operator()(int i) const
Double_t&TLorentzVector::operator()(int i)
TLorentzVectorTLorentzVector::operator*(Double_t a) const
Double_tTLorentzVector::operator*(const TLorentzVector& q) const
TLorentzVector&TLorentzVector::operator*=(Double_t a)
TLorentzVector&TLorentzVector::operator*=(const TRotation& m)
TLorentzVector&TLorentzVector::operator*=(const TLorentzRotation&)
TLorentzVectorTLorentzVector::operator+(const TLorentzVector& q) const
TLorentzVector&TLorentzVector::operator+=(const TLorentzVector& q)
TLorentzVectorTLorentzVector::operator-() const
TLorentzVectorTLorentzVector::operator-(const TLorentzVector& q) const
TLorentzVector&TLorentzVector::operator-=(const TLorentzVector& q)
HParticleGeantPair&operator=(const HParticleGeantPair&)
Bool_tTLorentzVector::operator==(const TLorentzVector& q) const
Double_tTLorentzVector::operator[](int i) const
Double_t&TLorentzVector::operator[](int i)
Double_tTLorentzVector::P() const
virtual voidTObject::Paint(Option_t* option = "")
Double_tTLorentzVector::Perp() const
Double_tTLorentzVector::Perp(const TVector3& v) const
Double_tTLorentzVector::Perp2() const
Double_tTLorentzVector::Perp2(const TVector3& v) const
Double_tTLorentzVector::Phi() const
Double_tTLorentzVector::Plus() const
virtual voidTObject::Pop()
voidprint(UInt_t selection = 31)
virtual voidTLorentzVector::Print(Option_t* option = "") const
Double_tTLorentzVector::PseudoRapidity() const
Double_tTLorentzVector::Pt() const
Double_tTLorentzVector::Pt(const TVector3& v) const
Double_tTLorentzVector::Px() const
Double_tTLorentzVector::Py() const
Double_tTLorentzVector::Pz() const
Double_tTLorentzVector::Rapidity() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
Double_tTLorentzVector::Rho() const
voidTLorentzVector::Rotate(Double_t a, const TVector3& v)
voidTLorentzVector::RotateUz(TVector3& newUzVector)
voidTLorentzVector::RotateX(Double_t angle)
voidTLorentzVector::RotateY(Double_t angle)
voidTLorentzVector::RotateZ(Double_t angle)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
static voidsetAcceptanceCheck(Bool_t doit)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTLorentzVector::SetE(Double_t a)
static voidTObject::SetObjectStat(Bool_t stat)
Bool_tsetPair(HGeantKine* cnd1, HGeantKine* cnd2, HGeantKine* mother, Int_t motherpid, HGeomVector& vertex)
Bool_tsetPair(HGeantKine* cnd1, Int_t pid1, HGeantKine* cnd2, Int_t pid2, HGeantKine* mother, Int_t motherpid, HGeomVector& vertex)
voidTLorentzVector::SetPerp(Double_t r)
voidTLorentzVector::SetPhi(Double_t phi)
voidTLorentzVector::SetPtEtaPhiE(Double_t pt, Double_t eta, Double_t phi, Double_t e)
voidTLorentzVector::SetPtEtaPhiM(Double_t pt, Double_t eta, Double_t phi, Double_t m)
voidTLorentzVector::SetPx(Double_t a)
voidTLorentzVector::SetPxPyPzE(Double_t px, Double_t py, Double_t pz, Double_t e)
voidTLorentzVector::SetPy(Double_t a)
voidTLorentzVector::SetPz(Double_t a)
voidTLorentzVector::SetRho(Double_t rho)
voidTLorentzVector::SetT(Double_t a)
voidTLorentzVector::SetTheta(Double_t th)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTLorentzVector::SetVect(const TVector3& p)
voidTLorentzVector::SetVectM(const TVector3& spatial, Double_t mass)
voidTLorentzVector::SetVectMag(const TVector3& spatial, Double_t magnitude)
voidTLorentzVector::SetX(Double_t a)
voidTLorentzVector::SetXYZM(Double_t x, Double_t y, Double_t z, Double_t m)
voidTLorentzVector::SetXYZT(Double_t x, Double_t y, Double_t z, Double_t t)
voidTLorentzVector::SetY(Double_t a)
voidTLorentzVector::SetZ(Double_t a)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Double_tTLorentzVector::T() const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Double_tTLorentzVector::Theta() const
TLorentzVector&TLorentzVector::Transform(const TRotation& m)
TLorentzVector&TLorentzVector::Transform(const TLorentzRotation&)
virtual voidTObject::UseCurrentStyle()
TVector3TLorentzVector::Vect() 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
Double_tTLorentzVector::X() const
Double_tTLorentzVector::Y() const
Double_tTLorentzVector::Z() const
protected:
Bool_tcalcVertex()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

protected:
HGeomVectorfDecayVertexsecondary vertex of both candidates
HGeomVectorfEventVertexused event vertex
Float_tfMinDistCandidatesvertex cut vars : mindist between cand1 and cand2
Int_tfMotherPIDassigned PID for Mother
Int_tfPID[2]assigned PID for cand1 and cand2
Float_tfVerDistMothervertex cut vars
Float_tfVerMinDistCand[2]vertex cut vars : mindist cand1 and cand2 to event vertex
Float_tfVerMinDistMothervertex cut vars : mindist mother to event vertex
static Bool_tfbCheckAcceptance! run acceptance check (default: kTRUE)
TLorentzVectorfc[2]local copy of lorentz vector of cand1 and cand2
HGeantKine*fcand[2]! pointer to cand1 (reference: should be a lepton candidate) and cand2
HGeantKine*fmother! pointer to other particle
Float_tfoAngleopening angle of pair [deg]
UInt_tfstatusFlagsbit 0x01 true pair

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HParticleGeantPair()
~HParticleGeantPair()
Bool_t isTruePair()
 true if daughters are from source

Bool_t isInAcceptance(Int_t ver = -1)
Int_t isFakePair()
Bool_t calcVertex()
Bool_t calcVectors(Int_t pid1, Int_t pid2, Int_t motherpid, HGeomVector& vertex)
 sets fPID1,fPID2,fMotherPID and fills lorentz vectors
 opening Angle etc.
Bool_t setPair(HGeantKine* cnd1, Int_t pid1, HGeantKine* cnd2, Int_t pid2, HGeantKine* mother, Int_t motherpid, HGeomVector& vertex)
 sets candidates and calls
 calcvectors. Supposed to be called at initial
 filling. uses provided pids for mass calculation.
 if  fmother!=0 && motherpid > 0    fMotherPID = motherpid
 if  fmother!=0 && motherpid <= 0   fMotherPID = GeantmotherPID
 if  fmother==0 && motherpid > 0    fMotherPID = motherid
 vertex = event vertex
Bool_t setPair(HGeantKine* cnd1, HGeantKine* cnd2, HGeantKine* mother, Int_t motherpid, HGeomVector& vertex)
 sets candidates and calls
 calcvectors. Supposed to be called at initial
 filling. uses Geant id for mass calculation
 if  fmother!=0 && motherpid > 0    fMotherPID = motherpid
 if  fmother!=0 && motherpid <= 0   fMotherPID = GeantmotherPID
 if  fmother==0 && motherpid > 0    fMotherPID = motherid
 vertex = event vertex
void print(UInt_t selection = 31)
 print option bits
 bit   1 : print particle infos                      (selection == 1)
       2 : print pids, oAngle and polarities         (selection == 2)
       3 : print vertex infos                        (selection == 4)
 default : print all
void clear()
 clears all data elements but not vectors!
HParticleGeantPair()
HGeantKine* getCand(Int_t ind)
{ return fcand[ind]; }
HGeantKine* getMother()
{ return fmother; }
Float_t getOpeningAngle()
{ return foAngle; }
Float_t getPhi()
{ return (Phi() < 0 ? Phi()*TMath::RadToDeg()+360 : Phi()*TMath::RadToDeg());}
Float_t getTheta()
{ return Theta()*TMath::RadToDeg();}
TLorentzVector& getCandVect(Int_t ind)
{ return fc[ind];}
Int_t getCandPID(Int_t ind)
{ return fPID[ind];}
Int_t getMotherPID()
{ return fMotherPID;}
Float_t getVerMinDistCand(Int_t ind)
{ return fVerMinDistCand[ind];}
Float_t getVerMinDistMother()
Float_t getMinDistCandidates()
Float_t getVerDistMother()
{ return fVerDistMother;}
HGeomVector& getEventVertex()
{ return fEventVertex; }
HGeomVector& getDecayVertex()
{ return fDecayVertex; }
UInt_t getStatusFlags()
{ return fstatusFlags; }
Bool_t checkStatus(UInt_t flag)
{ return (fstatusFlags|flag) == flag ? kTRUE: kFALSE; }
void setAcceptanceCheck(Bool_t doit)