Belle II Software  release-06-01-15
TRGECLModule.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 <string>
12 #include <framework/core/Module.h>
13 #include <framework/datastore/StoreArray.h>
14 #include <framework/database/DBArray.h>
15 
16 #include "trg/ecl/dataobjects/TRGECLHit.h"
17 #include "trg/ecl/dataobjects/TRGECLTrg.h"
18 #include "trg/ecl/dataobjects/TRGECLCluster.h"
19 #include "trg/ecl/dbobjects/TRGECLETMPara.h"
20 
21 namespace Belle2 {
31  class TRGECLModule : public Module {
32 
33 
34  public:
35 
37  TRGECLModule();
38 
40  virtual ~TRGECLModule();
41 
43  virtual void initialize() override;
44 
46  virtual void beginRun() override;
47 
49  virtual void event() override;
50 
52  virtual void endRun() override;
53 
55  virtual void terminate() override;
56 
57  public:
58 
60  std::string version(void) const;
61 
62  private: // Parameters
63 
66 
68  std::string _configFilename;
69 
71  // TrgEcl* _ecl; */
72 
73  protected:
75  std::string m_inColName;
77  std::string m_eclHitOutColName;
79  std::string m_eclTCHitOutColName;
80 
83  int m_hitNum = 0;
85  int m_hitTCNum = 0;
86 
87  private:
88 
89  // double m_timeCPU; // CPU time
91  int m_nRun = 0;
93  int m_nEvent = 0;
95  int _Bhabha;
103  double _TimeWindow;
113  std::vector<double> _2DBhabhaThresholdFWD;
115  std::vector<double> _2DBhabhaThresholdBWD;
117  std::vector<double> _3DBhabhaSelectionThreshold;
119  std::vector<double> _3DBhabhaVetoThreshold;
121  std::vector<double> _3DBhabhaSelectionAngle;
123  std::vector<double> _3DBhabhaVetoAngle;
127  std::vector<double> _mumuAngle;
128  // Angle selection of additional Bhabha veto in CM frame
129  std::vector<double> m_3DBhabhaAddAngleCut;
135  std::vector<double> _TotalEnergy;
137  std::vector<double> _LowMultiThreshold;
138  // Theta region (low, high) of 3D Bhabha Veto InTrack
139  std::vector<int> m_3DBhabhaVetoInTrackThetaRegion;
140  // Energy threshold(low, high) of event timing quality flag (GeV)
141  std::vector<double> m_EventTimingQualityThresholds;
143  // (dphi low, dphi high, theta_sum low, theta_sum high)
144  std::vector<int> m_taub2bAngleCut;
149  double m_taub2bClusterECut2;
150  // taub2b2 total energy cut (GeV)
151  double m_taub2b2EtotCut;
152  // taub2b2 two Cluster angle cut (degree)
153  std::vector<int> m_taub2b2AngleCut;
154  // taub2b2 cluster energy cut for endcap cluster (GeV)
155  double m_taub2b2CLEEndcapCut;
156  // taub2b2 cluster energy cut (GeV)
157  double m_taub2b2CLECut;
159 
168 
169  };
170 
172 } // namespace Belle2
Class for accessing arrays of objects in the database.
Definition: DBArray.h:26
Base class for Modules.
Definition: Module.h:72
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
A module of ETM.
Definition: TRGECLModule.h:31
int _Clustering
Clustering option.
Definition: TRGECLModule.h:97
double _ECLBurstThreshold
ECL Burst Bit Threshold.
Definition: TRGECLModule.h:133
double m_taub2bEtotCut
taub2b total energy (TC theta ID =1-17) (GeV)
Definition: TRGECLModule.h:146
std::string _configFilename
Config.
Definition: TRGECLModule.h:68
int _ConditionDB
Flag to use Condition DB.
Definition: TRGECLModule.h:111
int _debugLevel
Debug level.
Definition: TRGECLModule.h:65
int _ClusterLimit
Cluster Limit.
Definition: TRGECLModule.h:99
std::vector< int > m_taub2bAngleCut
taub2b 2 cluster angle cut (degree)
Definition: TRGECLModule.h:144
DBArray< TRGECLETMPara > m_ETMPara
ETN Parameters.
Definition: TRGECLModule.h:167
double _mumuThreshold
mumu bit Energy Threshold
Definition: TRGECLModule.h:125
StoreArray< TRGECLTrg > m_TRGECLTrg
output for TRGECLTrg
Definition: TRGECLModule.h:163
int m_hitNum
The current number of created hits in an event.
Definition: TRGECLModule.h:83
std::string m_eclTCHitOutColName
Output array name for TC.
Definition: TRGECLModule.h:79
int m_hitTCNum
TC Hit number.
Definition: TRGECLModule.h:85
int _n300MeVCluster
The number of Cluster exceeding 300 MeV.
Definition: TRGECLModule.h:131
int _SelectEvent
Event selection.
Definition: TRGECLModule.h:109
int m_nRun
Run number.
Definition: TRGECLModule.h:91
std::vector< double > _TotalEnergy
Total Energy Theshold (low, high, lum)
Definition: TRGECLModule.h:135
std::vector< double > _mumuAngle
mumu bit Angle
Definition: TRGECLModule.h:127
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
Definition: TRGECLModule.h:119
double _TimeWindow
Trigger decision time window.
Definition: TRGECLModule.h:103
std::vector< double > _LowMultiThreshold
Low Multiplicity Threshold.
Definition: TRGECLModule.h:137
int m_nEvent
Event number.
Definition: TRGECLModule.h:93
int _EventTiming
Eventtiming option.
Definition: TRGECLModule.h:101
int _Bhabha
Bhabha option.
Definition: TRGECLModule.h:95
std::vector< double > _3DBhabhaSelectionAngle
3D Selection Bhabha Energy Angle
Definition: TRGECLModule.h:121
std::vector< double > _2DBhabhaThresholdBWD
2D Bhabha Energy Threshold
Definition: TRGECLModule.h:115
StoreArray< TRGECLCluster > m_TRGECLCluster
output for TRGECLCluster
Definition: TRGECLModule.h:165
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
Definition: TRGECLModule.h:117
std::string m_inColName
A pointer to a TRGECL;*‍/.
Definition: TRGECLModule.h:75
std::string m_eclHitOutColName
Output array name for Xtal.
Definition: TRGECLModule.h:77
StoreArray< TRGECLHit > m_TRGECLHit
The number of Cluster exceeding 300 MeV.
Definition: TRGECLModule.h:161
double m_taub2bClusterECut1
taub2b Cluster energy selection (GeV)
Definition: TRGECLModule.h:148
double _OverlapWindow
Trigger decision overlap window in oder to avoid boundary effect.
Definition: TRGECLModule.h:105
std::vector< double > _2DBhabhaThresholdFWD
2D Bhabha Energy Threshold
Definition: TRGECLModule.h:113
std::vector< double > _3DBhabhaVetoAngle
3D Veto Bhabha Energy Angle
Definition: TRGECLModule.h:123
virtual ~TRGECLModule()
Destructor
virtual void initialize() override
Initilizes TRGECLModule.
virtual void event() override
Called event by event.
virtual void endRun() override
Called when run ended.
virtual void terminate() override
Called when processing ended.
virtual void beginRun() override
Called when new run started.
std::string version(void) const
returns version of TRGECLModule.
Definition: TRGECLModule.cc:37
TRGECLModule()
Constructor.
Definition: TRGECLModule.cc:44
Abstract base class for different kinds of events.