Belle II Software  release-05-02-19
EvtGenInputModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Susanne Koblitz, Torben Ferber *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <generators/evtgen/EvtGenInterface.h>
14 
15 #include <generators/utilities/InitialParticleGeneration.h>
16 #include <mdst/dataobjects/MCParticleGraph.h>
17 
18 #include <framework/core/Module.h>
19 
20 #include <string>
21 
22 namespace Belle2 {
35  class EvtGenInputModule : public Module {
36 
37  public:
38 
44 
46  virtual ~EvtGenInputModule() {}
47 
49  virtual void initialize() override;
50 
52  virtual void beginRun() override;
53 
55  virtual void event() override;
56 
57  protected:
58 
66  TLorentzVector createBeamParticle(double minMass = 0.0,
67  double maxMass = std::numeric_limits<double>::infinity());
68 
71  std::string m_DECFileName;
72  std::string m_userDECFileName;
73  std::string m_parentParticle;
74  int m_inclusiveType;
75  bool m_coherentMixing = true;
76  std::string m_inclusiveParticle;
77  int m_maxTries;
78  EvtId m_parentId;
79  TVector3 m_PrimaryVertex;
81  private:
82 
85 
86  bool m_initialized{false};
90  };
91 
93 } // end namespace Belle2
94 
Belle2::EvtGenInputModule::m_coherentMixing
bool m_coherentMixing
Decay the B's in coherent or incoherent mode.
Definition: EvtGenInputModule.h:83
Belle2::EvtGenInputModule::event
virtual void event() override
Method is called for each event.
Definition: EvtGenInputModule.cc:105
Belle2::EvtGenInputModule::~EvtGenInputModule
virtual ~EvtGenInputModule()
Destructor.
Definition: EvtGenInputModule.h:54
Belle2::EvtGenInputModule::createBeamParticle
TLorentzVector createBeamParticle(double minMass=0.0, double maxMass=std::numeric_limits< double >::infinity())
Create a "beam particle" from LER and HER direction, energy and energy spread and make sure it's insi...
Definition: EvtGenInputModule.cc:81
Belle2::EvtGenInputModule::m_initial
InitialParticleGeneration m_initial
initial particle used by BeamParameter class
Definition: EvtGenInputModule.h:97
Belle2::EvtGenInputModule::initialize
virtual void initialize() override
Initializes the module.
Definition: EvtGenInputModule.cc:54
Belle2::MCParticleGraph
Class to build, validate and sort a particle decay chain.
Definition: MCParticleGraph.h:48
Belle2::EvtGenInputModule::m_parentParticle
std::string m_parentParticle
Standard input parent particle.
Definition: EvtGenInputModule.h:81
Belle2::EvtGenInputModule::mpg
MCParticleGraph mpg
An instance of the MCParticle graph.
Definition: EvtGenInputModule.h:77
Belle2::EvtGenInputModule::m_userDECFileName
std::string m_userDECFileName
Standard input user decay file.
Definition: EvtGenInputModule.h:80
Belle2::InitialParticleGeneration
Generate Collision.
Definition: InitialParticleGeneration.h:35
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::EvtGenInputModule::m_beamParams
DBObjPtr< BeamParameters > m_beamParams
BeamParameter.
Definition: EvtGenInputModule.h:95
Belle2::EvtGenInputModule::EvtGenInputModule
EvtGenInputModule()
Constructor.
Definition: EvtGenInputModule.cc:30
Belle2::EvtGenInputModule::initializeGenerator
void initializeGenerator()
Method is called to initialize the generator.
Definition: EvtGenInputModule.cc:141
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::EvtGenInputModule::m_PrimaryVertex
TVector3 m_PrimaryVertex
primary vertex incl.
Definition: EvtGenInputModule.h:87
Belle2::EvtGenInterface
Class to interface EvtGen.
Definition: EvtGenInterface.h:44
Belle2::EvtGenInputModule::m_maxTries
int m_maxTries
Maximum number of tries for generating the parent particle.
Definition: EvtGenInputModule.h:85
Belle2::EvtGenInputModule::m_initialized
bool m_initialized
True if generator has been initialized.
Definition: EvtGenInputModule.h:94
Belle2::EvtGenInputModule::beginRun
virtual void beginRun() override
Method is called for each run.
Definition: EvtGenInputModule.cc:76
Belle2::EvtGenInputModule::m_parentId
EvtId m_parentId
EvtGen Id of the parent particle we want to generate.
Definition: EvtGenInputModule.h:86
Belle2::EvtGenInputModule::m_inclusiveType
int m_inclusiveType
Inclusive type 0 : generic, 1 : m_inclusiveParticle inclusive, 2 : m_inclusiveParticle + c....
Definition: EvtGenInputModule.h:82
Belle2::EvtGenInputModule::m_Ievtgen
EvtGenInterface m_Ievtgen
An instance of the EvtGen Interface.
Definition: EvtGenInputModule.h:78
Belle2::EvtGenInputModule::m_DECFileName
std::string m_DECFileName
Standard input decay file.
Definition: EvtGenInputModule.h:79
Belle2::EvtGenInputModule::m_inclusiveParticle
std::string m_inclusiveParticle
inclusive Particle
Definition: EvtGenInputModule.h:84