Belle II Software  release-05-02-19
BeamBkgTagSetterModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric, Igal Jaegle *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <framework/core/Module.h>
14 #include <framework/datastore/StoreArray.h>
15 #include <simulation/background/BeamBGTypes.h>
16 #include <framework/dataobjects/BackgroundMetaData.h>
17 #include <string>
18 
19 // SimHits
20 #include <pxd/dataobjects/PXDSimHit.h>
21 #include <svd/dataobjects/SVDSimHit.h>
22 #include <cdc/dataobjects/CDCSimHit.h>
23 #include <top/dataobjects/TOPSimHit.h>
24 #include <arich/dataobjects/ARICHSimHit.h>
25 #include <ecl/dataobjects/ECLSimHit.h>
26 #include <ecl/dataobjects/ECLHit.h>
27 #include <klm/dataobjects/bklm/BKLMSimHit.h>
28 #include <klm/dataobjects/eklm/EKLMSimHit.h>
29 
30 // BEAST SimHits
31 #include <beast/beamabort/dataobjects/BeamabortSimHit.h>
32 #include <beast/claw/dataobjects/ClawSimHit.h>
33 #include <beast/claws/dataobjects/CLAWSSimHit.h>
34 #include <beast/fangs/dataobjects/FANGSSimHit.h>
35 #include <beast/plume/dataobjects/PlumeSimHit.h>
36 #include <beast/pindiode/dataobjects/PindiodeSimHit.h>
37 #include <beast/he3tube/dataobjects/He3tubeSimHit.h>
38 #include <beast/microtpc/dataobjects/MicrotpcSimHit.h>
39 #include <beast/qcsmonitor/dataobjects/QcsmonitorSimHit.h>
40 #include <beast/bgo/dataobjects/BgoSimHit.h>
41 #include <beast/csi/dataobjects/CsiSimHit.h>
42 
43 
44 namespace Belle2 {
58  class BeamBkgTagSetterModule : public Module {
59 
60  public:
61 
66 
70  virtual ~BeamBkgTagSetterModule();
71 
76  virtual void initialize() override;
77 
82  virtual void beginRun() override;
83 
87  virtual void event() override;
88 
93  virtual void endRun() override;
94 
99  virtual void terminate() override;
100 
101  private:
102 
103  std::string m_backgroundType;
104  double m_realTime;
105  int m_phase;
106  std::string m_specialFor;
139  template<class SIMHIT>
141  {
142  if (!simHits.isValid()) return 0;
143 
144  int numEntries = simHits.getEntries();
145  for (int i = 0; i < numEntries; i++) {
146  SIMHIT* simHit = simHits[i];
147  simHit->setBackgroundTag(m_backgroundTag);
148  }
149  return numEntries;
150  }
151 
152 
153  };
154 
156 } // Belle2 namespace
157 
Belle2::BeamBkgTagSetterModule::m_pinSimHits
StoreArray< PindiodeSimHit > m_pinSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:135
Belle2::BeamBkgTagSetterModule::m_eclSimHits
StoreArray< ECLSimHit > m_eclSimHits
ECL simulated hits.
Definition: BeamBkgTagSetterModule.h:125
Belle2::BeamBkgTagSetterModule::m_clw2SimHits
StoreArray< CLAWSSimHit > m_clw2SimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:131
Belle2::BeamBkgTagSetterModule::m_specialFor
std::string m_specialFor
ordinary or special file for ECL, PXD
Definition: BeamBkgTagSetterModule.h:114
Belle2::BeamBkgTagSetterModule::m_tpcSimHits
StoreArray< MicrotpcSimHit > m_tpcSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:137
Belle2::BeamBkgTagSetterModule::m_eklmSimHits
StoreArray< EKLMSimHit > m_eklmSimHits
EKLM simulated hits.
Definition: BeamBkgTagSetterModule.h:128
Belle2::BeamBkgTagSetterModule::~BeamBkgTagSetterModule
virtual ~BeamBkgTagSetterModule()
Destructor.
Definition: BeamBkgTagSetterModule.cc:71
Belle2::BeamBkgTagSetterModule::m_eclHits
StoreArray< ECLHit > m_eclHits
ECL simulated hits (short version)
Definition: BeamBkgTagSetterModule.h:126
Belle2::BeamBkgTagSetterModule::m_sciSimHits
StoreArray< QcsmonitorSimHit > m_sciSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:138
Belle2::BeamBkgTagSetterModule::m_phase
int m_phase
Phase that corresponds to beam background sample.
Definition: BeamBkgTagSetterModule.h:113
Belle2::BeamBkgTagSetterModule::m_pxdSimHits
StoreArray< PXDSimHit > m_pxdSimHits
PXD simulated hits.
Definition: BeamBkgTagSetterModule.h:120
Belle2::BeamBkgTagSetterModule::beginRun
virtual void beginRun() override
Called when entering a new run.
Definition: BeamBkgTagSetterModule.cc:127
Belle2::BeamBkgTagSetterModule::m_arichSimHits
StoreArray< ARICHSimHit > m_arichSimHits
ARICH simulated hits.
Definition: BeamBkgTagSetterModule.h:124
Belle2::BackgroundMetaData::EFileType
EFileType
Enum for BG file types.
Definition: BackgroundMetaData.h:77
Belle2::BeamBkgTagSetterModule::m_topSimHits
StoreArray< TOPSimHit > m_topSimHits
TOP simulated hits.
Definition: BeamBkgTagSetterModule.h:123
Belle2::BeamBkgTagSetterModule::m_bgTypes
background::BeamBGTypes m_bgTypes
defined BG types
Definition: BeamBkgTagSetterModule.h:116
Belle2::BeamBkgTagSetterModule::event
virtual void event() override
Event processor.
Definition: BeamBkgTagSetterModule.cc:131
Belle2::BeamBkgTagSetterModule::m_backgroundTag
BackgroundMetaData::BG_TAG m_backgroundTag
background tag to set (from BG type)
Definition: BeamBkgTagSetterModule.h:117
Belle2::BeamBkgTagSetterModule::endRun
virtual void endRun() override
End-of-run action.
Definition: BeamBkgTagSetterModule.cc:178
Belle2::BeamBkgTagSetterModule::m_clw1SimHits
StoreArray< ClawSimHit > m_clw1SimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:132
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BeamBkgTagSetterModule::m_plmSimHits
StoreArray< PlumeSimHit > m_plmSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:134
Belle2::BeamBkgTagSetterModule::initialize
virtual void initialize() override
Initialize the Module.
Definition: BeamBkgTagSetterModule.cc:75
Belle2::StoreArray::isValid
bool isValid() const
Check wether the array was registered.
Definition: StoreArray.h:298
Belle2::BeamBkgTagSetterModule::m_bklmSimHits
StoreArray< BKLMSimHit > m_bklmSimHits
BKLM simulated hits.
Definition: BeamBkgTagSetterModule.h:127
Belle2::BeamBkgTagSetterModule::m_diaSimHits
StoreArray< BeamabortSimHit > m_diaSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:130
Belle2::background::BeamBGTypes
Class to define BG types and to convert between BG types and tags or v.v.
Definition: BeamBGTypes.h:37
Belle2::BeamBkgTagSetterModule::m_csiSimHits
StoreArray< CsiSimHit > m_csiSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:140
Belle2::BeamBkgTagSetterModule::m_he3SimHits
StoreArray< He3tubeSimHit > m_he3SimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:136
Belle2::BeamBkgTagSetterModule::m_bgoSimHits
StoreArray< BgoSimHit > m_bgoSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:139
Belle2::BeamBkgTagSetterModule::m_backgroundType
std::string m_backgroundType
BG type.
Definition: BeamBkgTagSetterModule.h:111
Belle2::BeamBkgTagSetterModule::m_realTime
double m_realTime
real time that corresponds to beam background sample
Definition: BeamBkgTagSetterModule.h:112
Belle2::BeamBkgTagSetterModule::BeamBkgTagSetterModule
BeamBkgTagSetterModule()
Constructor.
Definition: BeamBkgTagSetterModule.cc:44
Belle2::BeamBkgTagSetterModule::setBackgroundTag
int setBackgroundTag(StoreArray< SIMHIT > &simHits)
functions that set background tag in SimHits
Definition: BeamBkgTagSetterModule.h:148
Belle2::BeamBkgTagSetterModule::m_cdcSimHits
StoreArray< CDCSimHit > m_cdcSimHits
CDC simulated hits.
Definition: BeamBkgTagSetterModule.h:122
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::BeamBkgTagSetterModule::m_svdSimHits
StoreArray< SVDSimHit > m_svdSimHits
SVD simulated hits.
Definition: BeamBkgTagSetterModule.h:121
Belle2::BeamBkgTagSetterModule::m_fngSimHits
StoreArray< FANGSSimHit > m_fngSimHits
beast simulated hits
Definition: BeamBkgTagSetterModule.h:133
Belle2::BeamBkgTagSetterModule::terminate
virtual void terminate() override
Termination action.
Definition: BeamBkgTagSetterModule.cc:182
Belle2::StoreArray::getEntries
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:226
Belle2::BeamBkgTagSetterModule::m_fileType
BackgroundMetaData::EFileType m_fileType
file type to set
Definition: BeamBkgTagSetterModule.h:118
Belle2::BackgroundMetaData::BG_TAG
BG_TAG
Enum for background tags.
Definition: BackgroundMetaData.h:41