HDilepton
class description - source file - inheritance tree (.pdf)
public:
HDilepton(Double_t px = 0., Double_t py = 0., Double_t pz = 0., Double_t m = 0.)
HDilepton(HParticle* p1, HParticle* p2)
HDilepton(const HDilepton&)
HDilepton(const HDilepton*)
virtual ~HDilepton()
static TClass* Class()
Int_t getCharge() const
Float_t getOpeningAngle() const
HParticle* getPart1() const
Int_t getPart1Id() const
HParticle* getPart2() const
Int_t getPart2Id() const
virtual TClass* IsA() const
HDilepton& operator=(const HDilepton&)
void setCharge(Int_t sCharge = 0)
void setInvMass(Float_t sInvMass = 0)
void setPart1(HParticle* p)
void setPart1Id(Int_t sPart1Id = 0)
void setPart2(HParticle* p)
void setPart2Id(Int_t sPart2Id = 0)
void setVect4(const TLorentzVector& v)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TLorentzVector Vect4() const
protected:
HParticle* part1 ! Particle 1
HParticle* part2 ! Particle 2
Int_t part1Id Index of 1st HParticle
Int_t part2Id Index of 2nd HParticle
Float_t invMass added as data member to allow easier access through Draw() commands
Float_t openingAngle DEGREES. Filled when an HParticle is set ( SetPart1(part1)...)
Int_t charge "Charge" of dilepton; -2 = e-e-, 0=e+e-, +2=e+e+
HDilepton - Data container for lepton pairs and their 4-momenta.
This class derives from TLorentzVector, so that all of the functions
available to TLorentzVector can be performed on HDilepton objects.
HDileptons can be e+e- (by default) or like-sign pairs (e+e+ or e-e-). The type
of pair is assigned with the charge data member; a charge of +2 (-2) identifies a
pair of positrons (electrons).
HDilepton's can be initialized as follows:
dilept = new HDilepton();
dilept = new HDilepton(HParticle *p1, HParticle *p2);
dilept = new HDilepton(Double_t px, Double_t py, Double_t pz, Double_t m);
(this constructor assigns openingAngle = 0)
An HDilepton's 4-momenta, openingAngle, and invMass are calculated automatically
whenever an HParticle is set or by using the HDilepton constructor with two
HParticles.
Example code:
HParticle part1(10.,10.,10,0.511);
HParticle part2(10.,15.,20,0.511);
HDilepton dilept(&part1,&part2);
mInv = dilept.M();
(and much more....)
For more information, see the PhyAna documentation.
HDilepton(Double_t px, Double_t py, Double_t pz, Double_t m):
TLorentzVector(px,py,pz, sqrt(px*px+py*py+pz*pz+ m*m ) )
Px, Py, Pz (MeV/c), mass (MeV/c**2)
HDilepton(HParticle *p1, HParticle *p2):
TLorentzVector()
Two HParticles; dilepton's quantities are calculated by constructor
HDilepton(const HDilepton & p):
TLorentzVector( p.Vect4() )
copy constructor
HDilepton(const HDilepton * p):
TLorentzVector( p->Vect4() )
copy constructor
void setPart1 (HParticle *p)
Each time an HParticle is set, the dilepton's 4-vector and opening angle
are recalculated
void setPart2 (HParticle *p)
Each time an HParticle is set, the dilepton's 4-vector and opening angle
are recalculated
Inline Functions
void ~HDilepton()
void setInvMass(Float_t sInvMass = 0)
Int_t getCharge() const
void setCharge(Int_t sCharge = 0)
Int_t getPart1Id() const
void setPart1Id(Int_t sPart1Id = 0)
Int_t getPart2Id() const
void setPart2Id(Int_t sPart2Id = 0)
Float_t getOpeningAngle() const
HParticle* getPart1() const
HParticle* getPart2() const
TLorentzVector Vect4() const
void setVect4(const TLorentzVector& v)
HDilepton& operator=(const HDilepton&)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Dan Magestro
Last update: Fri Jan 26 11:53:52 2007
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.