Belle II Software development
|
Generate Collision. More...
#include <InitialParticleGeneration.h>
Public Member Functions | |
InitialParticleGeneration (int allowedFlags=0) | |
constructor | |
MCInitialParticles & | generate () |
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: | |
const BeamParameters & | getBeamParameters () 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 ConditionalGaussGenerator & | getLorentzGenerator () |
Get the generator for the Lorentz transformation. | |
Private Member Functions | |
MCInitialParticles & | generate (int allowedFlags) |
Generate a new event wit a particular set of allowed flags. | |
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 | |
ROOT::Math::PxPyPzEVector | generateBeam (const ROOT::Math::PxPyPzEVector &initial, const TMatrixDSym &cov, MultivariateNormalGenerator &gen) const |
generate 4 vector for one beam | |
Private Attributes | |
DBObjPtr< BeamParameters > | m_beamParams |
Datastore object containing the nominal beam parameters. | |
StoreObjPtr< MCInitialParticles > | m_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. | |
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.
|
inlineexplicit |
constructor
allowedFlags | allowed generation flags from MCInitialParticles. Default is to allow no smearing. Generation in CMS is always permitted |
Definition at line 41 of file InitialParticleGeneration.h.
|
inline |
Return reference to nominal beam parameters.
Definition at line 69 of file InitialParticleGeneration.h.
|
inline |
Get the generator for the Lorentz transformation.
Definition at line 91 of file InitialParticleGeneration.h.
|
inline |
|
inline |
Get spread of CMS collision energy calculated from beam parameters.
Definition at line 88 of file InitialParticleGeneration.h.
|
inline |
Set allowed flags.
Definition at line 75 of file InitialParticleGeneration.h.
|
private |
Allowed generation flags.
Definition at line 134 of file InitialParticleGeneration.h.
|
private |
Datastore object containing the nominal beam parameters.
Definition at line 120 of file InitialParticleGeneration.h.
|
private |
Datastore object containing the generated event.
Definition at line 122 of file InitialParticleGeneration.h.
|
private |
Generator for HER.
Definition at line 124 of file InitialParticleGeneration.h.
|
private |
Generator for LER.
Definition at line 126 of file InitialParticleGeneration.h.
|
private |
Generator of the Lorentz transformation.
Definition at line 131 of file InitialParticleGeneration.h.
|
private |
Generator for Vertex.
Definition at line 128 of file InitialParticleGeneration.h.