Belle II Software  release-05-02-19
ARICHNtupleModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luka Santelj, Dino Tahirovic *
7  * *
8  * The purpose of this module is to test the reconstruction of *
9  * the particles with ARICH. *
10  * *
11  * This software is provided "as is" without any warranty. *
12  **************************************************************************/
13 
14 #ifndef ARICHNTUPLEMODULE_H
15 #define ARICHNTUPLEMODULE_H
16 
17 #include <framework/datastore/StoreArray.h>
18 #include <framework/core/Module.h>
19 
20 #include <mdst/dataobjects/Track.h>
21 #include <mdst/dataobjects/MCParticle.h>
22 
23 #include <arich/dataobjects/ARICHLikelihood.h>
24 #include <arich/dataobjects/ARICHAeroHit.h>
25 #include <arich/dataobjects/ARICHTrack.h>
26 #include <arich/dataobjects/ARICHInfo.h>
27 
28 
29 // ROOT
30 #include <string>
31 #include <TFile.h>
32 #include <TTree.h>
33 #include <arich/modules/arichNtuple/ARICHNtupleStruct.h>
34 
35 namespace Belle2 {
62  class ARICHNtupleModule : public Module {
63 
64  public:
65 
70 
74  virtual ~ARICHNtupleModule();
75 
80  virtual void initialize() override;
81 
86  virtual void beginRun() override;
87 
91  virtual void event() override;
92 
97  virtual void endRun() override;
98 
103  virtual void terminate() override;
104 
105  private:
106 
107  // required input
108  StoreArray<ARICHTrack> m_arichTracks;
109  StoreArray<ARICHLikelihood> m_arichLikelihoods;
111  // optional input
112  StoreArray<Track> m_tracks;
113  StoreArray<MCParticle> m_arichMCPs;
114  StoreArray<ARICHAeroHit> m_arichAeroHits;
115  StoreArray<ARICHInfo> m_arichInfo;
117  std::string m_outputFile;
119  TFile* m_file;
120  TTree* m_tree;
123  };
124 
126 } // Belle2 namespace
127 
128 #endif
Belle2::ARICHNtupleModule::m_arichInfo
StoreArray< ARICHInfo > m_arichInfo
Optional input array of ARICHInfo.
Definition: ARICHNtupleModule.h:126
Belle2::ARICHNtupleModule::terminate
virtual void terminate() override
Termination action.
Definition: ARICHNtupleModule.cc:355
Belle2::ARICHNtupleModule::m_tracks
StoreArray< Track > m_tracks
Optional input array of Tracks.
Definition: ARICHNtupleModule.h:123
Belle2::ARICHNtupleModule::m_arichLikelihoods
StoreArray< ARICHLikelihood > m_arichLikelihoods
Required array of input ARICHLikelihoods.
Definition: ARICHNtupleModule.h:120
Belle2::ARICHNtupleModule::event
virtual void event() override
Event processor.
Definition: ARICHNtupleModule.cc:149
Belle2::ARICHNtupleModule::m_arichTracks
StoreArray< ARICHTrack > m_arichTracks
Required array of input ARICHTracks.
Definition: ARICHNtupleModule.h:119
Belle2::ARICHNtupleModule::m_arichAeroHits
StoreArray< ARICHAeroHit > m_arichAeroHits
Optional input array of ARICHAeroHits.
Definition: ARICHNtupleModule.h:125
Belle2::ARICHNtupleModule::m_outputFile
std::string m_outputFile
output root file
Definition: ARICHNtupleModule.h:128
Belle2::ARICHNtupleModule::endRun
virtual void endRun() override
End-of-run action.
Definition: ARICHNtupleModule.cc:351
Belle2::ARICHNtupleModule::m_arichMCPs
StoreArray< MCParticle > m_arichMCPs
Optional input array of MCParticles.
Definition: ARICHNtupleModule.h:124
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ARICHNtupleModule::m_file
TFile * m_file
pointer to output root file
Definition: ARICHNtupleModule.h:130
Belle2::ARICHNtupleModule::ARICHNtupleModule
ARICHNtupleModule()
Constructor.
Definition: ARICHNtupleModule.cc:61
Belle2::ARICH::ARICHTree
Structure of a flat ntuple.
Definition: ARICHNtupleStruct.h:79
Belle2::ARICHNtupleModule::m_arich
ARICH::ARICHTree m_arich
ntuple structure
Definition: ARICHNtupleModule.h:133
Belle2::ARICHNtupleModule::~ARICHNtupleModule
virtual ~ARICHNtupleModule()
Destructor.
Definition: ARICHNtupleModule.cc:72
Belle2::ARICHNtupleModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: ARICHNtupleModule.cc:76
Belle2::ARICHNtupleModule::m_tree
TTree * m_tree
pointer to output tree
Definition: ARICHNtupleModule.h:131
Belle2::ARICHNtupleModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: ARICHNtupleModule.cc:145