Belle II Software  release-05-02-19
OverrideGenerationFlagsModule.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2021 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Kirill Chilikin *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <generators/modules/OverrideGenerationFlagsModule.h>
12 #include <framework/database/Database.h>
13 
14 using namespace Belle2;
15 
16 //-----------------------------------------------------------------
17 // Register the Module
18 //-----------------------------------------------------------------
19 REG_MODULE(OverrideGenerationFlags)
20 
21 //-----------------------------------------------------------------
22 // Implementation
23 //-----------------------------------------------------------------
24 
26 {
27  setDescription("Ovverride generation flags for BeamParameters "
28  "from database.");
29  addParam("smearEnergy", m_SmearEnergy,
30  "Smear energy when generating initial events.", true);
31  addParam("smearDirection", m_SmearDirection,
32  "Smear beam direction when generating initial events.", true);
33  addParam("smearVertex", m_SmearVertex,
34  "Smear vertex position when generating initial events.", true);
35  addParam("generateCMS", m_GenerateCMS,
36  "Generate events in CMS, not lab system.", false);
37 }
38 
40 {
41 }
42 
44 {
45 }
46 
48 {
49 }
50 
52 {
53  BeamParameters* beamParameters = new BeamParameters(*m_BeamParameters);
54  int flags = 0;
55  if (m_GenerateCMS)
57  if (m_SmearEnergy)
59  if (m_SmearDirection)
61  if (m_SmearVertex)
63  beamParameters->setGenerationFlags(flags);
64  /* Override for one run. */
65  DBStore::Instance().addConstantOverride("BeamParameters", beamParameters,
66  true);
67 }
68 
70 {
71 }
72 
74 {
75 }
Belle2::MCInitialParticles::c_smearBeamEnergy
@ c_smearBeamEnergy
smear energy of HER and LER (but not direction)
Definition: MCInitialParticles.h:44
Belle2::OverrideGenerationFlagsModule::m_SmearEnergy
bool m_SmearEnergy
Smear energy when generating initial events.
Definition: OverrideGenerationFlagsModule.h:83
Belle2::DBStore::addConstantOverride
void addConstantOverride(const std::string &name, TObject *obj, bool oneRun=false)
Add constant override payload.
Definition: DBStore.cc:204
Belle2::OverrideGenerationFlagsModule::~OverrideGenerationFlagsModule
virtual ~OverrideGenerationFlagsModule()
Destructor.
Definition: OverrideGenerationFlagsModule.cc:39
Belle2::OverrideGenerationFlagsModule::m_SmearVertex
bool m_SmearVertex
Smear vertex position when generating initial events.
Definition: OverrideGenerationFlagsModule.h:89
REG_MODULE
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Definition: Module.h:652
Belle2::OverrideGenerationFlagsModule::terminate
virtual void terminate() override
This method is called at the end of the event processing.
Definition: OverrideGenerationFlagsModule.cc:47
Belle2::MCInitialParticles::c_smearBeamDirection
@ c_smearBeamDirection
smear direction of HER and LER (but not energy)
Definition: MCInitialParticles.h:46
Belle2::OverrideGenerationFlagsModule::initialize
virtual void initialize() override
Initializer.
Definition: OverrideGenerationFlagsModule.cc:43
Belle2::OverrideGenerationFlagsModule::m_SmearDirection
bool m_SmearDirection
Smear beam direction when generating initial events.
Definition: OverrideGenerationFlagsModule.h:86
Belle2::MCInitialParticles::setGenerationFlags
void setGenerationFlags(int flags)
Set the generation flags to be used for event generation (ORed combination of EGenerationFlags)
Definition: MCInitialParticles.h:134
Belle2::OverrideGenerationFlagsModule::event
virtual void event() override
This method is called for each event.
Definition: OverrideGenerationFlagsModule.cc:73
Belle2::MCInitialParticles::c_smearVertex
@ c_smearVertex
smear vertex
Definition: MCInitialParticles.h:50
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::OverrideGenerationFlagsModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: OverrideGenerationFlagsModule.cc:51
Belle2::MCInitialParticles::c_generateCMS
@ c_generateCMS
generate initial event in CMS instead of lab
Definition: MCInitialParticles.h:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DBStore::Instance
static DBStore & Instance()
Instance of a singleton DBStore.
Definition: DBStore.cc:36
Belle2::OverrideGenerationFlagsModule::m_BeamParameters
DBObjPtr< BeamParameters > m_BeamParameters
Beam parameters.
Definition: OverrideGenerationFlagsModule.h:80
Belle2::OverrideGenerationFlagsModule::endRun
virtual void endRun() override
This method is called if the current run ends.
Definition: OverrideGenerationFlagsModule.cc:69
Belle2::BeamParameters
This class contains the nominal beam parameters and the parameters used for smearing of the primary v...
Definition: BeamParameters.h:33
Belle2::OverrideGenerationFlagsModule
Ovverride generation flags.
Definition: OverrideGenerationFlagsModule.h:38
Belle2::OverrideGenerationFlagsModule::m_GenerateCMS
bool m_GenerateCMS
Generate events in CMS, not lab system.
Definition: OverrideGenerationFlagsModule.h:92