Belle II Software  release-05-02-19
BelleMCOutputModule.h
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 #pragma once
12 
13 /* Belle 2 headers. */
14 #include <framework/core/Module.h>
15 #include <framework/database/DBObjPtr.h>
16 #include <framework/dataobjects/EventMetaData.h>
17 #include <framework/dataobjects/MCInitialParticles.h>
18 #include <framework/datastore/StoreArray.h>
19 #include <framework/datastore/StoreObjPtr.h>
20 #include <framework/dbobjects/BeamParameters.h>
21 #include <mdst/dataobjects/MCParticle.h>
22 #include <mdst/dataobjects/MCParticleGraph.h>
23 
24 /* Belle headers. */
25 #include <belle_legacy/panther/panther_group.h>
26 
27 namespace Belle2 {
39  class BelleMCOutputModule : public Module {
40 
41  public:
42 
47 
51  virtual ~BelleMCOutputModule();
52 
56  virtual void initialize() override;
57 
61  virtual void beginRun() override;
62 
66  virtual void event() override;
67 
71  virtual void endRun() override;
72 
76  virtual void terminate() override;
77 
78  private:
79 
86  void addParticle(const MCParticle* particle,
88 
90  std::string m_OutputFileName;
91 
94 
97 
100 
103 
106 
109 
112 
114  Belle::Panther_FileIO* m_BelleFile = nullptr;
115 
116  };
117 
119 }
Belle2::BelleMCOutputModule::BelleMCOutputModule
BelleMCOutputModule()
Constructor.
Definition: BelleMCOutputModule.cc:30
Belle2::BelleMCOutputModule::m_MCInitialParticles
StoreObjPtr< MCInitialParticles > m_MCInitialParticles
Initial particles.
Definition: BelleMCOutputModule.h:110
Belle2::BelleMCOutputModule::endRun
virtual void endRun() override
This method is called if the current run ends.
Definition: BelleMCOutputModule.cc:252
Belle2::MCParticleGraph
Class to build, validate and sort a particle decay chain.
Definition: MCParticleGraph.h:48
Belle2::BelleMCOutputModule::m_OutputFileName
std::string m_OutputFileName
Output file name.
Definition: BelleMCOutputModule.h:98
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::BelleMCOutputModule::m_DecayLambdaInGenerator
bool m_DecayLambdaInGenerator
Decay Lambda in generator.
Definition: BelleMCOutputModule.h:104
Belle2::BelleMCOutputModule::event
virtual void event() override
This method is called for each event.
Definition: BelleMCOutputModule.cc:191
Belle2::BelleMCOutputModule::m_DecayKsInGenerator
bool m_DecayKsInGenerator
Decay K_S0 in generator.
Definition: BelleMCOutputModule.h:101
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::BelleMCOutputModule::terminate
virtual void terminate() override
This method is called at the end of the event processing.
Definition: BelleMCOutputModule.cc:256
Belle2::BelleMCOutputModule::addParticle
void addParticle(const MCParticle *particle, MCParticleGraph::GraphParticle *mother)
Add particle to graph.
Definition: BelleMCOutputModule.cc:163
Belle2::BelleMCOutputModule::m_MCParticleGraph
MCParticleGraph m_MCParticleGraph
MC particle graph.
Definition: BelleMCOutputModule.h:119
Belle2::BelleMCOutputModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: BelleMCOutputModule.cc:87
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:43
Belle2::StoreArray< MCParticle >
Belle2::BelleMCOutputModule::m_BeamParameters
DBObjPtr< BeamParameters > m_BeamParameters
Beam parameters.
Definition: BelleMCOutputModule.h:116
Belle2::BelleMCOutputModule::~BelleMCOutputModule
virtual ~BelleMCOutputModule()
Destructor.
Definition: BelleMCOutputModule.cc:43
Belle2::BelleMCOutputModule::m_BelleFile
Belle::Panther_FileIO * m_BelleFile
Belle file input-output handler.
Definition: BelleMCOutputModule.h:122
Belle2::MCParticleGraph::GraphParticle
Class to represent Particle data in graph.
Definition: MCParticleGraph.h:86
Belle2::BelleMCOutputModule::m_MCParticles
StoreArray< MCParticle > m_MCParticles
MC particles.
Definition: BelleMCOutputModule.h:107
Belle2::BelleMCOutputModule::m_EventMetaData
StoreObjPtr< EventMetaData > m_EventMetaData
Event metadata.
Definition: BelleMCOutputModule.h:113
Belle2::BelleMCOutputModule::initialize
virtual void initialize() override
Initializer.
Definition: BelleMCOutputModule.cc:47