Belle II Software  release-08-01-10
InitialParticleGeneration Class Reference

Generate Collision. More...

#include <InitialParticleGeneration.h>

Collaboration diagram for InitialParticleGeneration:

Public Member Functions

 InitialParticleGeneration (int allowedFlags=0)
 constructor More...
 
MCInitialParticlesgenerate ()
 Generate a new event.
 
ROOT::Math::XYZVector getVertexConditional ()
 Generate vertex position and possibly update the generator of Lorentz transformation.
 
ROOT::Math::XYZVector updateVertex (bool force=false)
 Update the vertex position: More...
 
const BeamParametersgetBeamParameters () const
 Return reference to nominal beam parameters.
 
void initialize ()
 function to be executed on initialize()
 
void setAllowedFlags (int allowedFlags)
 Set allowed flags.
 
ConditionalGaussGenerator initConditionalGenerator (const ROOT::Math::PxPyPzEVector &pHER, const ROOT::Math::PxPyPzEVector &pLER, const TMatrixDSym &covHER, const TMatrixDSym &covLER)
 Initialize the conditional generator using HER & LER 4-vectors and HER & LER covariance matrices describing spread.
 
double getNominalEcms ()
 Get the CMS energy of collisions.
 
double getNominalEcmsSpread ()
 Get spread of CMS collision energy calculated from beam parameters.
 
const ConditionalGaussGeneratorgetLorentzGenerator ()
 Get the generator for the Lorentz transformation.
 

Private Member Functions

MCInitialParticlesgenerate (int allowedFlags)
 Generate a new event wit a particular set of allowed flags. More...
 
TMatrixDSym adjustCovMatrix (TMatrixDSym cov) const
 adjust smearing covariance matrix based on the generation flags
 
ROOT::Math::XYZVector generateVertex (const ROOT::Math::XYZVector &initial, const TMatrixDSym &cov, MultivariateNormalGenerator &gen) const
 generate the vertex More...
 
ROOT::Math::PxPyPzEVector generateBeam (const ROOT::Math::PxPyPzEVector &initial, const TMatrixDSym &cov, MultivariateNormalGenerator &gen) const
 generate 4 vector for one beam More...
 

Private Attributes

DBObjPtr< BeamParametersm_beamParams
 Datastore object containing the nominal beam parameters.
 
StoreObjPtr< MCInitialParticlesm_event
 Datastore object containing the generated event.
 
MultivariateNormalGenerator m_generateHER
 Generator for HER.
 
MultivariateNormalGenerator m_generateLER
 Generator for LER.
 
MultivariateNormalGenerator m_generateVertex
 Generator for Vertex.
 
ConditionalGaussGenerator m_generateLorentzTransformation
 Generator of the Lorentz transformation.
 
int m_allowedFlags
 Allowed generation flags.
 

Detailed Description

Generate Collision.

This class is meant to be a common interface to be used by physics generators for generating the initial beam collision.

A generator module should have this class as a member. In each event, a call to generate() will return the initial event information and also automatically put it in the datastore.

Definition at line 35 of file InitialParticleGeneration.h.

Constructor & Destructor Documentation

◆ InitialParticleGeneration()

InitialParticleGeneration ( int  allowedFlags = 0)
inlineexplicit

constructor

Parameters
allowedFlagsallowed generation flags from MCInitialParticles. Default is to allow no smearing. Generation in CMS is always permitted

Definition at line 41 of file InitialParticleGeneration.h.

int m_allowedFlags
Allowed generation flags.
@ c_generateCMS
generate initial event in CMS instead of lab

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