Belle II Software  release-08-01-10
AafhInputModule.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/datastore/StoreArray.h>
12 
13 #include <mdst/dataobjects/MCParticle.h>
14 
15 #include <generators/modules/GeneratorBaseModule.h>
16 #include <generators/aafh/AAFHInterface.h>
17 #include <generators/utilities/InitialParticleGeneration.h>
18 
19 #include <string>
20 
21 namespace Belle2 {
33 
34  public:
35 
40 
42  virtual void generatorInitialize() override;
43 
45  virtual void generatorEvent() override;
46 
48  virtual void terminate() override;
49 
50  private:
52  int m_mode;
53 
56 
59 
62 
65 
67  double m_minMass;
68 
70  std::string m_particle;
71 
73  std::vector<double> m_subgeneratorWeights;
74 
76  std::vector<double> m_suppressionLimits;
77 
80 
83 
85  void initializeGenerator();
86 
87  bool m_initialized{false};
92  };
94 }
95 
Class to inferface AAFH/DIAG36 Generator written in Fortran.
Definition: AAFHInterface.h:29
AAFH Generator to generate 2-fermion events like e+e- -> e+e-e+e-.
double m_minMass
minimum invariant mass of generated fermion pair
DBObjPtr< BeamParameters > m_beamParams
BeamParameter.
bool m_initialized
True if generator has been initialized.
int m_rejection
Rejection mode.
std::vector< double > m_suppressionLimits
suppression limits for the matrix element calculations
StoreArray< MCParticle > m_mcparticles
MCParticle collection.
int m_mode
Generator mode.
std::string m_particle
name of the generated particle for modes c_MuonParticle and c_ElectronParticle
virtual void terminate() override
calculate cross section
int m_maxTries
maximum number of tries for generating an event
virtual void generatorInitialize() override
initialize generator
std::vector< double > m_subgeneratorWeights
relative subgenerator weights
AafhInputModule()
Constructor: Sets the description, the properties and the parameters of the module.
double m_maxSubgeneratorWeight
maximum expected subgenerator weight for rejection scheme
InitialParticleGeneration m_initial
initial particle used by BeamParameter class
double m_maxFinalWeight
maximum expected final weight for rejection scheme
AAFHInterface m_generator
interface to the generator
void initializeGenerator()
Method is called to initialize the generator.
virtual void generatorEvent() override
generate event
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
The base module for generator modules, which sets the generator information as EventExtraInfo.
Abstract base class for different kinds of events.