Belle II Software  release-06-01-15
PhotosParticle Class Referenceabstract
Inheritance diagram for PhotosParticle:

Public Member Functions

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)
 
virtual bool checkMomentumConservation ()=0
 check that the 4 momentum in conserved at the vertices producing and ending this particle
 
virtual double getPx ()=0
 Returns the px component of the four vector.
 
virtual double getPy ()=0
 Returns the py 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 double getMass ()=0
 Get the invariant mass from the event record.
 
virtual void setPx (double px)=0
 Set the px component of the four vector.
 
virtual void setPy (double py)=0
 Set the px component of the four vector.
 
virtual void setPz (double pz)=0
 Set the pz component of the four vector.
 
virtual void setE (double e)=0
 Set the energy component of the four vector.
 
virtual void setMothers (std::vector< PhotosParticle * > mothers)=0
 Set the mothers of this particle via a vector of PhotosParticle.
 
virtual void setDaughters (std::vector< PhotosParticle * > daughters)=0
 Set the daughters of this particle via a vector of PhotosParticle.
 
virtual void addDaughter (PhotosParticle *daughter)=0
 Add a new daughter to this particle.
 
virtual std::vector< PhotosParticle * > getMothers ()=0
 Returns the mothers of this particle via a vector of PhotosParticle.
 
virtual std::vector< PhotosParticle * > getDaughters ()=0
 Returns the daughters of this particle via a vector of PhotosParticle.
 
virtual std::vector< PhotosParticle * > getAllDecayProducts ()=0
 Returns all particles in the decay tree of this particle via a vector of PhotosParticle.
 
virtual void setPdgID (int pdg_id)=0
 Set the PDG ID code of this particle.
 
virtual void setMass (double mass)=0
 Set the mass of this particle.
 
virtual void setStatus (int status)=0
 Set the status of this particle.
 
virtual int getPdgID ()=0
 Get the PDG ID code of this particle.
 
virtual int getStatus ()=0
 Get the status of this particle.
 
virtual int getBarcode ()=0
 Get the barcode of this particle.
 
virtual PhotosParticlecreateNewParticle (int pdg_id, int status, double mass, double px, double py, double pz, double e)=0
 Create a new particle of the same type, with the given properties. More...
 
virtual void createHistoryEntry ()=0
 Create history entry of this particle before modifications of PHOTOS. More...
 
virtual void createSelfDecayVertex (PhotosParticle *out)=0
 Create a self-decay vertex for this particle with 'out' being the outgoing particle in new vertex.
 
virtual void print ()=0
 Print some information about this particle to standard output.
 

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.
 

Detailed Description

Definition at line 24 of file PhotosParticle.h.

Member Function Documentation

◆ boostAlongZ()

void boostAlongZ ( double  boost_pz,
double  boost_e 
)

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.

◆ createHistoryEntry()

virtual void createHistoryEntry ( )
pure virtual

Create history entry of this particle before modifications of PHOTOS.

Implementation of this method depends strongly on the event record.

Implemented in PhotosHEPEVTParticle.

◆ createNewParticle()

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

Create a new particle of the same type, with the given properties.

The new particle bares no relations to this particle, but it provides a way of creating a intance of the derived class. eg. createNewParticle() is used inside filhep_() so that an eg. PhotosHepMCParticle is created without the method having explicit knowledge of the PhotosHepMCParticle class

Implemented in PhotosHEPEVTParticle.

◆ findLastSelf()

PhotosParticle * findLastSelf ( )

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.

◆ getRotationAngle()

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.

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 
)

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: