Belle II Software  release-05-02-19
BKLMSimHistogrammerModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dataobjects/bklm/BKLMHit1d.h>
15 #include <klm/dataobjects/bklm/BKLMHit2d.h>
16 
17 /* Belle 2 headers. */
18 #include <framework/core/Module.h>
19 #include <framework/datastore/StoreArray.h>
20 #include <mdst/dataobjects/MCParticle.h>
21 
22 /* ROOT headers. */
23 #include <TFile.h>
24 #include <TH1D.h>
25 #include <TH1I.h>
26 #include <TH2D.h>
27 
28 /* C++ headers. */
29 #include <string>
30 
31 namespace Belle2 {
37  class BKLMSimHit;
38  class KLMDigit;
39 
41 
44  class BKLMSimHistogrammerModule : public Module {
45 
46  public:
47 
50 
53 
55  virtual void initialize() override;
56 
58  virtual void beginRun() override;
59 
61  virtual void event() override;
62 
64  virtual void endRun() override;
65 
67  virtual void terminate() override;
68 
69  protected:
70 
71 
74 
76  TH1D* m_hEvt;
78  TH1D* m_hSimHitPhiRPC;
80  TH2D* m_bgSourcePerLayer;
88  TH1D* m_bgSource;
90  TH1D* m_bgSource2D;
91 
92 
93 
95  TH1D* m_hSimHitPhiScinti;
97  TH1D* m_hSimHitThetaRPC;
101  TH1I* m_hSimHit_layer;
104 
106  TH2D* m_hSimHitThetaPhiRPC;
109  private:
110 
111 
132  TFile* m_file;
135  std::string m_filename;
137  float m_realTime;
139  float m_weight;
150 
151 
152  };
153 
155 } // end of namespace Belle2
Belle2::BKLMSimHistogrammerModule::m_hSimHitThetaScinti
TH1D * m_hSimHitThetaScinti
histogram for sim hit theta scint
Definition: BKLMSimHistogrammerModule.h:107
Belle2::BKLMSimHistogrammerModule::m_hSimHit_layer2D
TH1I * m_hSimHit_layer2D
histogram for the layers of 2D hits
Definition: BKLMSimHistogrammerModule.h:111
Belle2::BKLMSimHistogrammerModule::m_realTime
float m_realTime
time this simulation corrsponds to
Definition: BKLMSimHistogrammerModule.h:145
Belle2::BKLMSimHistogrammerModule::m_hSimHitThetaPhiRPC
TH2D * m_hSimHitThetaPhiRPC
2D histogram for sim hit phi/theta
Definition: BKLMSimHistogrammerModule.h:114
Belle2::BKLMSimHistogrammerModule::m_hSimHitThetaRPC
TH1D * m_hSimHitThetaRPC
histogram for sim hit theta
Definition: BKLMSimHistogrammerModule.h:105
Belle2::BKLMSimHistogrammerModule::m_hSimHit_layer
TH1I * m_hSimHit_layer
histogram for the layers of 1D hits
Definition: BKLMSimHistogrammerModule.h:109
Belle2::BKLMSimHistogrammerModule::simHits
StoreArray< BKLMSimHit > simHits
BKLMSimHit StoreArray.
Definition: BKLMSimHistogrammerModule.h:149
Belle2::BKLMSimHistogrammerModule::m_hSimHitPhiScinti
TH1D * m_hSimHitPhiScinti
histogram for sim hit phi
Definition: BKLMSimHistogrammerModule.h:103
Belle2::BKLMSimHistogrammerModule::m_file
TFile * m_file
Digitize hit(s) in one scintillator strip with pulse-shape fit.
Definition: BKLMSimHistogrammerModule.h:141
Belle2::BKLMSimHistogrammerModule::hits2D
StoreArray< BKLMHit2d > hits2D
hits2D StoreArray
Definition: BKLMSimHistogrammerModule.h:155
Belle2::BKLMSimHistogrammerModule::m_hEvt
TH1D * m_hEvt
keep track of events
Definition: BKLMSimHistogrammerModule.h:84
Belle2::BKLMSimHistogrammerModule::hits1D
StoreArray< BKLMHit1d > hits1D
hits1D StoreArray
Definition: BKLMSimHistogrammerModule.h:157
Belle2::BKLMSimHistogrammerModule::m_filename
std::string m_filename
filename for the root file
Definition: BKLMSimHistogrammerModule.h:143
Belle2::BKLMSimHistogrammerModule::m_bgSourcePerLayer2D
TH2D * m_bgSourcePerLayer2D
bg source of 2D hits
Definition: BKLMSimHistogrammerModule.h:90
Belle2::BKLMSimHistogrammerModule::m_bgSourceVsPhi
TH2D * m_bgSourceVsPhi
bg source of 2D hits vs phi
Definition: BKLMSimHistogrammerModule.h:92
Belle2::BKLMSimHistogrammerModule::m_hSimHitPhiRPC
TH1D * m_hSimHitPhiRPC
histogram for sim hit phi
Definition: BKLMSimHistogrammerModule.h:86
Belle2::BKLMSimHistogrammerModule::digits
StoreArray< KLMDigit > digits
digits StoreArray
Definition: BKLMSimHistogrammerModule.h:151
Belle2::BKLMSimHistogrammerModule::m_weight
float m_weight
weight for each event (inverse of the realTime)
Definition: BKLMSimHistogrammerModule.h:147
Belle2::BKLMSimHistogrammerModule::mcParticles
StoreArray< MCParticle > mcParticles
mcParticles StoreArray
Definition: BKLMSimHistogrammerModule.h:153
Belle2::BKLMSimHistogrammerModule::beginRun
virtual void beginRun() override
Do any needed actions at the start of a simulation run.
Definition: BKLMSimHistogrammerModule.cc:107
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BKLMSimHistogrammerModule::initialize
virtual void initialize() override
Initialize at start of job.
Definition: BKLMSimHistogrammerModule.cc:74
Belle2::BKLMSimHistogrammerModule::BKLMSimHistogrammerModule
BKLMSimHistogrammerModule()
Constructor.
Definition: BKLMSimHistogrammerModule.cc:41
Belle2::BKLMSimHistogrammerModule::event
virtual void event() override
Digitize one event and write hits, digis, and relations into DataStore.
Definition: BKLMSimHistogrammerModule.cc:113
Belle2::BKLMSimHistogrammerModule::m_bgSource
TH1D * m_bgSource
bg source of 1D hits
Definition: BKLMSimHistogrammerModule.h:96
Belle2::BKLMSimHistogrammerModule::m_bgSourceVsTheta
TH2D * m_bgSourceVsTheta
bg source of 2D hits vs theta
Definition: BKLMSimHistogrammerModule.h:94
Belle2::BKLMSimHistogrammerModule::m_hSimHitPerChannelLayer
TH2D * m_hSimHitPerChannelLayer
hits per channel
Definition: BKLMSimHistogrammerModule.h:81
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::BKLMSimHistogrammerModule::m_bgSource2D
TH1D * m_bgSource2D
bg source of 2D hits
Definition: BKLMSimHistogrammerModule.h:98
Belle2::BKLMSimHistogrammerModule::terminate
virtual void terminate() override
Terminate at the end of job.
Definition: BKLMSimHistogrammerModule.cc:377
Belle2::BKLMSimHistogrammerModule::~BKLMSimHistogrammerModule
virtual ~BKLMSimHistogrammerModule()
Destructor.
Definition: BKLMSimHistogrammerModule.cc:70
Belle2::BKLMSimHistogrammerModule::m_hSimHitThetaPhiScinti
TH2D * m_hSimHitThetaPhiScinti
2D histogram for sim hit phi/theta
Definition: BKLMSimHistogrammerModule.h:116
Belle2::BKLMSimHistogrammerModule::endRun
virtual void endRun() override
Do any needed actions at the end of a simulation run.
Definition: BKLMSimHistogrammerModule.cc:373
Belle2::BKLMSimHistogrammerModule::m_bgSourcePerLayer
TH2D * m_bgSourcePerLayer
bg source of 1D hits
Definition: BKLMSimHistogrammerModule.h:88