 |
Belle II Software
release-05-02-19
|
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreArray.h>
15 #include <framework/core/RandomGenerator.h>
16 #include <framework/gearbox/Const.h>
17 #include <mdst/dataobjects/MCParticle.h>
19 #include <TLorentzVector.h>
38 class GeneratedVertexDisplacerModule :
public Module {
51 virtual void event()
override;
63 std::vector<MCParticle*>
66 TLorentzVector& displacement);
void displaceDaughter(TLorentzVector &motherDisplacementVector, std::vector< MCParticle * > daughters)
Helper function to loop over subsequent daughters and displaces their vertices corresponding to their...
void displace(MCParticle &particle, float lifetime)
Helper function to displace the mother particles (corresponding to given pdf values).
virtual void event() override
Method is called for each event.
StoreArray< MCParticle > m_mcparticles
store array for the MCParticles
std::vector< int > m_pdgVals
Set the particles whose vertices should be displaced
std::string m_lifetimeOption
Set the lifetime option, either fixed, flat exponential.
float m_maxDecayTime
Set the maximal decayTime for the options 'flat' and 'exponential'.
std::string m_particleList
The name of the MCParticle collection.
Abstract base class for different kinds of events.
std::vector< float > m_lifetime
Set the numerical value of the lifetime ctau [cm]
void getDisplacement(const MCParticle &particle, float lifetime, TLorentzVector &displacement)
Helper function to calculate the numerical value of the vertex displacement (x,y,z,...
A Class to store the Monte Carlo particle information.
bool m_ctau
Input unit option.
virtual void terminate() override
Terminates the module.
GeneratedVertexDisplacerModule()
Constructor: Sets the description, the properties and the parameters of the module.
virtual void initialize() override
Register input and output data, initialises the module.