Belle II Software  release-08-01-10
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:
63 
66 
68  std::string _configFilename;
69 
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;
129  std::vector<double> m_3DBhabhaAddAngleCut;
135  std::vector<double> _TotalEnergy;
137  std::vector<double> _LowMultiThreshold;
141  std::vector<double> m_EventTimingQualityThresholds;
144  std::vector<int> m_taub2bAngleCut;
154  std::vector<int> m_taub2b2AngleCut;
162  std::vector<int> m_taub2b3AngleCut;
177 
178  };
179 
181 } // 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
double m_taub2b3CLELowCut
taub2b3 cluster energy low cut in lab for all clusters (GeV)
Definition: TRGECLModule.h:166
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
double m_taub2b3CLEHighCut
taub2b3 cluster energy high cut in lab for all clusters (GeV)
Definition: TRGECLModule.h:168
std::string _configFilename
Config.
Definition: TRGECLModule.h:68
int _ConditionDB
Flag to use Condition DB.
Definition: TRGECLModule.h:111
int _debugLevel
Parameters.
Definition: TRGECLModule.h:65
int _ClusterLimit
Cluster Limit.
Definition: TRGECLModule.h:99
std::vector< double > m_EventTimingQualityThresholds
Energy threshold(low, high) of event timing quality flag (GeV)
Definition: TRGECLModule.h:141
std::vector< int > m_taub2bAngleCut
taub2b 2 cluster angle cut (degree) (dphi low, dphi high, theta_sum low, theta_sum high)
Definition: TRGECLModule.h:144
DBArray< TRGECLETMPara > m_ETMPara
ETN Parameters.
Definition: TRGECLModule.h:176
double _mumuThreshold
mumu bit Energy Threshold
Definition: TRGECLModule.h:125
StoreArray< TRGECLTrg > m_TRGECLTrg
output for TRGECLTrg
Definition: TRGECLModule.h:172
std::vector< int > m_3DBhabhaVetoInTrackThetaRegion
Theta region (low, high) of 3D Bhabha Veto InTrack.
Definition: TRGECLModule.h:139
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 > m_3DBhabhaAddAngleCut
Angle selection of additional Bhabha veto in CM frame.
Definition: TRGECLModule.h:129
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
Definition: TRGECLModule.h:119
double m_taub2b2EtotCut
taub2b2 total energy cut (GeV)
Definition: TRGECLModule.h:152
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:174
double m_taub2bClusterECut2
taub2b Cluster energy selection (GeV)
Definition: TRGECLModule.h:150
std::vector< int > m_taub2b2AngleCut
taub2b2 two Cluster angle cut (degree)
Definition: TRGECLModule.h:154
double m_taub2b3EtotCut
taub2b3 total energy cut in lab (GeV)
Definition: TRGECLModule.h:160
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
Definition: TRGECLModule.h:117
std::string m_inColName
A pointer to a TRGECL TrgEcl* _ecl; *‍/.
Definition: TRGECLModule.h:75
std::string m_eclHitOutColName
Output array name for Xtal.
Definition: TRGECLModule.h:77
double m_taub2b3CLEb2bCut
taub2b3 cluster energy cut in lab for one of b2b clusters (GeV)
Definition: TRGECLModule.h:164
StoreArray< TRGECLHit > m_TRGECLHit
output for TRGECLHit
Definition: TRGECLModule.h:170
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
double m_taub2b2CLECut
taub2b2 cluster energy cut (GeV)
Definition: TRGECLModule.h:158
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
double m_taub2b2CLEEndcapCut
taub2b2 cluster energy cut for endcap cluster (GeV)
Definition: TRGECLModule.h:156
std::vector< int > m_taub2b3AngleCut
taub2b3 two Cluster angle cut in cms (degree)
Definition: TRGECLModule.h:162
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.