Belle II Software  release-06-01-15
PhotosHEPEVTParticle Class Reference
Inheritance diagram for PhotosHEPEVTParticle:
Collaboration diagram for PhotosHEPEVTParticle:

Public Member Functions

 ~PhotosHEPEVTParticle ()
 Default destructor.
 
 PhotosHEPEVTParticle (int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
 Default constructor.
 
void addDaughter (PhotosParticle *daughter)
 Add a new daughter to this particle.
 
void setMothers (std::vector< PhotosParticle * > mothers)
 Set the mothers of this particle via a vector of PhotosParticle.
 
void setDaughters (std::vector< PhotosParticle * > daughters)
 Set the daughters of this particle via a vector of PhotosParticle.
 
std::vector< PhotosParticle * > getMothers ()
 Returns the mothers of this particle via a vector of PhotosParticle.
 
std::vector< PhotosParticle * > getDaughters ()
 Returns the daughters of this particle via a vector of PhotosParticle.
 
std::vector< PhotosParticle * > getAllDecayProducts ()
 Returns all particles in the decay tree of this particle via a vector of PhotosParticle.
 
bool checkMomentumConservation ()
 Check that the 4 momentum in conserved in the decay of this particle.
 
PhotosHEPEVTParticlecreateNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e)
 Creates a new particle of type PhotosHEPEVTParticle, with the given properties. More...
 
void createHistoryEntry ()
 Creating history entries not implemented in HEPEVT.
 
void createSelfDecayVertex (PhotosParticle *out)
 Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex.
 
bool isDaughterOf (PhotosHEPEVTParticle *p)
 Check if particle 'p' is daughter of this particle.
 
bool isMotherOf (PhotosHEPEVTParticle *p)
 Check if particle 'p' is mother of this particle.
 
void print ()
 Print information on this particle into standard output.
 
void setPdgID (int pdg_id)
 Set the PDG ID code of this particle.
 
void setStatus (int statu)
 Set the status of this particle.
 
void setMass (double mass)
 Set the mass of this particle.
 
int getPdgID ()
 Get the PDG ID code of this particle.
 
int getStatus ()
 Get the status of this particle.
 
double getMass ()
 Get the mass stored (i.e. More...
 
double getPx ()
 Returns the px component of the four vector.
 
double getPy ()
 Returns the py component of the four vector.
 
double getPz ()
 Returns the pz component of the four vector.
 
double getE ()
 Returns the energy component of the four vector.
 
void setPx (double px)
 Set the px component of the four vector.
 
void setPy (double py)
 Set the px component of the four vector.
 
void setPz (double pz)
 Set the pz component of the four vector.
 
void setE (double e)
 Set the energy component of the four vector.
 
int getBarcode ()
 Get the barcode (position in list) of this particle.
 
void setBarcode (int barcode)
 Set barcode (position in list) of this particle.
 
void setEvent (PhotosHEPEVTEvent *event)
 Set event of this particle.
 
int getFirstMotherIndex ()
 Get index of first mother.
 
int getSecondMotherIndex ()
 Get index of second mother.
 
int getDaughterRangeStart ()
 Get index of first daughter.
 
int getDaughterRangeEnd ()
 Get index of last daughter.
 
bool hasDaughters ()
 Return whether the particle has any chidren.
 
PhotosParticlefindLastSelf ()
 Traverse the event structure and find the final version of this particle which does not have a particle of it's own type as it's daughter. More...
 
std::vector< PhotosParticle * > findProductionMothers ()
 Traverse the event structure and find the first set of mothers which are not of the same type as this particle.
 
std::vector< PhotosParticle * > getDecayTree ()
 Return whole decay tree starting from this particle.
 
void boostToRestFrame (PhotosParticle *boost)
 Transform this particles four momentum from the lab frome into the rest frame of the paramter PhotosParticle.
 
void boostDaughtersToRestFrame (PhotosParticle *boost)
 Transform the four momentum of all the daughters recursively into the frame of the "particle" PhotosParticle.
 
void boostFromRestFrame (PhotosParticle *boost)
 Transform this particles four momentum from the rest frame of the paramter PhotosParticle, back into the lab frame.
 
void boostDaughtersFromRestFrame (PhotosParticle *boost)
 Transform this particles four momentum from the lab frame to the rest frame of the parameter PhotosParticle.
 
void boostAlongZ (double pz, double e)
 Do a Lorenz transformation along the Z axis. More...
 
void rotate (int axis, double phi, int second_axis=Z_AXIS)
 rotate this particles 4-momentum by an angle phi from the axisis "axis" towards the axis "second_axis". More...
 
void rotateDaughters (int axis, double phi, int second_axis=Z_AXIS)
 rotate 4-momentum of daughters of this particle by an angle phi from the axisis "axis" towards the axis "second_axis".
 
double getRotationAngle (int axis, int second_axis=Z_AXIS)
 Returns the angle around the axis "axis" needed to rotate the four momenum is such a way that the non-Z component disappears and Z>0. More...
 
double getP ()
 Get scalar momentum.
 
double getP (int axis)
 Get momentum component in the direction of "axis" (x,y,z)
 
void setP (int axis, double p_component)
 Set momentum component in the direction of "axis" (x,y,z)
 
virtual double getVirtuality ()
 Get sqrt(e^2-p^2)
 

Static Public Attributes

static const int STABLE = 1
 Stable particle status.
 
static const int DECAYED = 2
 Decayed particle status.
 
static const int HISTORY = 3
 History particle status.
 
static const int X_AXIS = 1
 X Axis.
 
static const int Y_AXIS = 2
 Y Axis.
 
static const int Z_AXIS = 3
 Z Axis.
 
static const int Z0 = 23
 Z0 particle.
 
static const int HIGGS = 25
 H particle.
 
static const int HIGGS_H = 35
 H0 particle.
 
static const int HIGGS_A = 36
 A0 particle.
 
static const int HIGGS_PLUS = 37
 H+ particle.
 
static const int HIGGS_MINUS = -37
 H- particle.
 
static const int W_PLUS = 24
 W+ particle.
 
static const int W_MINUS = -24
 W- particle.
 
static const int GAMMA = 22
 photon
 
static const int TAU_PLUS = -15
 tau+ particle
 
static const int TAU_MINUS = 15
 tau- particle
 
static const int TAU_NEUTRINO = 16
 tau neutrino particle
 
static const int TAU_ANTINEUTRINO = -16
 tau antineutrino particle
 
static const int MUON_PLUS = -13
 muon+ particle
 
static const int MUON_MINUS = 13
 muon- particle
 
static const int MUON_NEUTRINO = 14
 muon neutrino particle
 
static const int MUON_ANTINEUTRINO = -14
 muon antineutrino particle
 
static const int POSITRON = -11
 e+ particle
 
static const int ELECTRON = 11
 e- particle
 
static const int ELECTRON_NEUTRINO = 12
 e neutrino particle
 
static const int ELECTRON_ANTINEUTRINO = -12
 e antineutrino particle
 
static const int UP = 2
 up quark
 
static const int ANTIUP = -2
 anti-up quark
 
static const int DOWN = 1
 down quark
 
static const int ANTIDOWN = -1
 anti-down quark
 
static const int OTHER = 0
 All other particle types.
 

Private Member Functions

void setDaughterRangeStart (int i)
 Set index of first daughter.
 
void setDaughterRangeEnd (int i)
 Set index of last daughter.
 

Private Attributes

PhotosHEPEVTEventm_event
 Event from which this particle is taken.
 
int m_barcode
 Position in the event record.
 
int m_first_mother
 Indexes of mothers (-1 if do not have mothers)
 
int m_second_mother
 
int m_daughter_start
 Range of indexes of daughters (-1 if do not have daughters)
 
int m_daughter_end
 
int m_pdgid
 PDG ID.
 
int m_status
 Status (stable, decayed)
 
double m_px
 Momentum.
 
double m_py
 
double m_pz
 
double m_e
 
double m_generated_mass
 Mass saved at generation step.
 
vector< PhotosHEPEVTParticle * > cache
 List of created particles - if they are not in the event, they will be deleted when no longer needed.
 

Detailed Description

Definition at line 31 of file PhotosHEPEVTParticle.h.

Member Function Documentation

◆ boostAlongZ()

void boostAlongZ ( double  boost_pz,
double  boost_e 
)
inherited

Do a Lorenz transformation along the Z axis.

Boost this vector along the Z direction.

Assume no momentum components in the X or Y directions.

Definition at line 148 of file PhotosParticle.cc.

149  {
150  // Boost along the Z axis
151  double m_tau = sqrt(boost_e * boost_e - boost_pz * boost_pz);
152 
153  double p = getPz();
154  double e = getE();
155 
156  setPz((boost_e * p + boost_pz * e) / m_tau);
157  setE((boost_pz * p + boost_e * e) / m_tau);
158  }
virtual void setE(double e)=0
Set the energy component of the four vector.
virtual double getPz()=0
Returns the pz component of the four vector.
virtual double getE()=0
Returns the energy component of the four vector.
virtual void setPz(double pz)=0
Set the pz component of the four vector.

◆ createNewParticle()

PhotosHEPEVTParticle * createNewParticle ( int  pdg_id,
int  status,
double  mass,
double  px,
double  py,
double  pz,
double  e 
)
virtual

Creates a new particle of type PhotosHEPEVTParticle, with the given properties.

The new particle bares no relations to this particle, but ‘this particle’ provides only a way of creating an instance of this derived class. eg. createNewParticle() is used inside filhep_() so that a PhotosHEPEVTParticle can be created without the method having explicit knowledge of the PhotosHEPEVTParticle class

Implements PhotosParticle.

Definition at line 287 of file PhotosHEPEVTParticle.cc.

290  {
291 
292  // New particles created using this method are added to cache
293  // They will be deleted when this particle will be deleted
294 
295  cache.push_back(new PhotosHEPEVTParticle(pdg_id, status, px, py, pz, e, mass, -1, -1, -1, -1));
296  return cache.back();
297  }
PhotosHEPEVTParticle(int pdgid, int status, double px, double py, double pz, double e, double m, int ms, int me, int ds, int de)
Default constructor.
vector< PhotosHEPEVTParticle * > cache
List of created particles - if they are not in the event, they will be deleted when no longer needed.

◆ findLastSelf()

PhotosParticle * findLastSelf ( )
inherited

Traverse the event structure and find the final version of this particle which does not have a particle of it's own type as it's daughter.

eg. Generally the final stable copy

Definition at line 15 of file PhotosParticle.cc.

◆ getMass()

double getMass ( void  )
virtual

Get the mass stored (i.e.

not calculated from four vector) at generation step

Implements PhotosParticle.

Definition at line 362 of file PhotosHEPEVTParticle.cc.

◆ getRotationAngle()

double getRotationAngle ( int  axis,
int  second_axis = Z_AXIS 
)
inherited

Returns the angle around the axis "axis" needed to rotate the four momenum is such a way that the non-Z component disappears and Z>0.

Get the angle needed to rotate the 4 momentum vector so that the x (y) component disapears.

This is used to in rotating the coordinate system into a frame with only a Z component before calling boostAlongZ().

(and the Z component is > 0)

if(getP(axis)==0){ if(getPz()>0) return 0; //no rotaion required else return M_PI; }

Definition at line 129 of file PhotosParticle.cc.

◆ rotate()

void rotate ( int  axis,
double  phi,
int  second_axis = Z_AXIS 
)
inherited

rotate this particles 4-momentum by an angle phi from the axisis "axis" towards the axis "second_axis".

Rotation around an axis X or Y.

Definition at line 161 of file PhotosParticle.cc.


The documentation for this class was generated from the following files: