Belle II Software  release-08-01-10
BelleMCOutputModule.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 /* Basf2 headers. */
12 #include <framework/core/Module.h>
13 #include <framework/database/DBObjPtr.h>
14 #include <framework/dataobjects/EventMetaData.h>
15 #include <framework/dataobjects/MCInitialParticles.h>
16 #include <framework/datastore/StoreArray.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 #include <framework/dbobjects/BeamParameters.h>
19 #include <mdst/dataobjects/MCParticle.h>
20 #include <mdst/dataobjects/MCParticleGraph.h>
21 
22 /* Belle headers. */
23 #include <belle_legacy/panther/panther_group.h>
24 
25 namespace Belle2 {
37  class BelleMCOutputModule : public Module {
38 
39  public:
40 
45 
49  virtual ~BelleMCOutputModule();
50 
54  virtual void initialize() override;
55 
59  virtual void beginRun() override;
60 
64  virtual void event() override;
65 
69  virtual void endRun() override;
70 
74  virtual void terminate() override;
75 
76  private:
77 
84  void addParticle(const MCParticle* particle,
86 
88  std::string m_OutputFileName;
89 
92 
95 
98 
101 
104 
107 
110 
112  Belle::Panther_FileIO* m_BelleFile = nullptr;
113 
114  };
115 
117 }
KLM digitization module.
void addParticle(const MCParticle *particle, MCParticleGraph::GraphParticle *mother)
Add particle to graph.
StoreObjPtr< MCInitialParticles > m_MCInitialParticles
Initial particles.
virtual void initialize() override
Initializer.
bool m_DecayKsInGenerator
Decay K_S0 in generator.
virtual void event() override
This method is called for each event.
Belle::Panther_FileIO * m_BelleFile
Belle file input-output handler.
virtual void endRun() override
This method is called if the current run ends.
virtual void terminate() override
This method is called at the end of the event processing.
virtual void beginRun() override
Called when entering a new run.
DBObjPtr< BeamParameters > m_BeamParameters
Beam parameters.
virtual ~BelleMCOutputModule()
Destructor.
bool m_DecayLambdaInGenerator
Decay Lambda in generator.
std::string m_OutputFileName
Output file name.
StoreObjPtr< EventMetaData > m_EventMetaData
Event metadata.
StoreArray< MCParticle > m_MCParticles
MC particles.
MCParticleGraph m_MCParticleGraph
MC particle graph.
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
Class to represent Particle data in graph.
Class to build, validate and sort a particle decay chain.
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:32
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.