Belle II Software  release-06-02-00
BeamBkgTagSetterModule.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/core/Module.h>
12 #include <framework/datastore/StoreArray.h>
13 #include <simulation/background/BeamBGTypes.h>
14 #include <framework/dataobjects/BackgroundMetaData.h>
15 #include <string>
16 
17 // SimHits
18 #include <pxd/dataobjects/PXDSimHit.h>
19 #include <svd/dataobjects/SVDSimHit.h>
20 #include <cdc/dataobjects/CDCSimHit.h>
21 #include <top/dataobjects/TOPSimHit.h>
22 #include <arich/dataobjects/ARICHSimHit.h>
23 #include <ecl/dataobjects/ECLSimHit.h>
24 #include <ecl/dataobjects/ECLHit.h>
25 #include <klm/dataobjects/bklm/BKLMSimHit.h>
26 #include <klm/dataobjects/eklm/EKLMSimHit.h>
27 
28 // BEAST SimHits
29 #include <beast/beamabort/dataobjects/BeamabortSimHit.h>
30 #include <beast/claw/dataobjects/ClawSimHit.h>
31 #include <beast/claws/dataobjects/CLAWSSimHit.h>
32 #include <beast/fangs/dataobjects/FANGSSimHit.h>
33 #include <beast/plume/dataobjects/PlumeSimHit.h>
34 #include <beast/pindiode/dataobjects/PindiodeSimHit.h>
35 #include <beast/he3tube/dataobjects/He3tubeSimHit.h>
36 #include <beast/microtpc/dataobjects/MicrotpcSimHit.h>
37 #include <beast/qcsmonitor/dataobjects/QcsmonitorSimHit.h>
38 #include <beast/bgo/dataobjects/BgoSimHit.h>
39 #include <beast/csi/dataobjects/CsiSimHit.h>
40 
41 
42 namespace Belle2 {
56  class BeamBkgTagSetterModule : public Module {
57 
58  public:
59 
64 
68  virtual ~BeamBkgTagSetterModule();
69 
74  virtual void initialize() override;
75 
80  virtual void beginRun() override;
81 
85  virtual void event() override;
86 
91  virtual void endRun() override;
92 
97  virtual void terminate() override;
98 
99  private:
100 
101  std::string m_backgroundType;
102  double m_realTime;
103  int m_phase;
104  std::string m_specialFor;
137  template<class SIMHIT>
139  {
140  if (!simHits.isValid()) return 0;
141 
142  int numEntries = simHits.getEntries();
143  for (int i = 0; i < numEntries; i++) {
144  SIMHIT* simHit = simHits[i];
145  simHit->setBackgroundTag(m_backgroundTag);
146  }
147  return numEntries;
148  }
149 
150 
151  };
152 
154 } // Belle2 namespace
155 
EFileType
Enum for BG file types.
BG_TAG
Enum for background tags.
A module that sets m_backgroundTag variable in SimHits (see BackgroundMetaData.h).
int setBackgroundTag(StoreArray< SIMHIT > &simHits)
functions that set background tag in SimHits
StoreArray< FANGSSimHit > m_fngSimHits
beast simulated hits
StoreArray< PindiodeSimHit > m_pinSimHits
beast simulated hits
StoreArray< EKLMSimHit > m_eklmSimHits
EKLM simulated hits.
int m_phase
Phase that corresponds to beam background sample.
StoreArray< BeamabortSimHit > m_diaSimHits
beast simulated hits
background::BeamBGTypes m_bgTypes
defined BG types
StoreArray< PXDSimHit > m_pxdSimHits
PXD simulated hits.
BackgroundMetaData::EFileType m_fileType
file type to set
std::string m_specialFor
ordinary or special file for ECL, PXD
StoreArray< ECLSimHit > m_eclSimHits
ECL simulated hits.
StoreArray< CLAWSSimHit > m_clw2SimHits
beast simulated hits
StoreArray< ARICHSimHit > m_arichSimHits
ARICH simulated hits.
StoreArray< MicrotpcSimHit > m_tpcSimHits
beast simulated hits
double m_realTime
real time that corresponds to beam background sample
StoreArray< CDCSimHit > m_cdcSimHits
CDC simulated hits.
StoreArray< BgoSimHit > m_bgoSimHits
beast simulated hits
StoreArray< QcsmonitorSimHit > m_sciSimHits
beast simulated hits
StoreArray< ECLHit > m_eclHits
ECL simulated hits (short version)
StoreArray< BKLMSimHit > m_bklmSimHits
BKLM simulated hits.
StoreArray< CsiSimHit > m_csiSimHits
beast simulated hits
StoreArray< He3tubeSimHit > m_he3SimHits
beast simulated hits
BackgroundMetaData::BG_TAG m_backgroundTag
background tag to set (from BG type)
StoreArray< ClawSimHit > m_clw1SimHits
beast simulated hits
StoreArray< SVDSimHit > m_svdSimHits
SVD simulated hits.
StoreArray< TOPSimHit > m_topSimHits
TOP simulated hits.
StoreArray< PlumeSimHit > m_plmSimHits
beast simulated hits
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
bool isValid() const
Check wether the array was registered.
Definition: StoreArray.h:288
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:216
Class to define BG types and to convert between BG types and tags or v.v.
Definition: BeamBGTypes.h:27
virtual void initialize() override
Initialize the Module.
virtual void event() override
Event processor.
virtual void endRun() override
End-of-run action.
virtual void terminate() override
Termination action.
virtual ~BeamBkgTagSetterModule()
Destructor.
virtual void beginRun() override
Called when entering a new run.
Abstract base class for different kinds of events.