Belle II Software  release-05-01-25
TrgEclMaster.h
1 //-----------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------
4 // Filename : TrgEclMaster.h
5 // Section : TRG ECL
6 // Owner : InSoo Lee/Yuuji Unno
7 // Email : islee@hep.hanyang.ac.kr / yunno@post.kek.jp
8 //-----------------------------------------------------------
9 // Description : A class to represent TRG ECL.
10 //-----------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------
13 
14 #ifndef TRGECL_FLAG_
15 #define TRGECL_FLAG_
16 
17 #include <string>
18 #include <vector>
19 #include "trg/ecl/TrgEclCluster.h"
20 #include "trg/ecl/TrgEclTiming.h"
21 #include "trg/ecl/TrgEclBhabha.h"
22 #include "trg/ecl/TrgEclBeamBKG.h"
23 #include "trg/ecl/TrgEclMapping.h"
24 
25 //
26 //
27 //
28 //
29 //
30 namespace Belle2 {
35 //
36 //
37 //
38 //
40  class TrgEclMaster {
41 
42  public:
43 
45  static TrgEclMaster* getTrgEclMaster(void);
46 
47 
49  TrgEclMaster(void);
50 
52  virtual ~TrgEclMaster();
53 
54  public:
55 
57  void initialize(int);
59  void simulate01(int);
61  void simulate02(int);
62 
63  public:
64 
66  std::string name(void) const;
67 
69  std::string version(void) const;
71  // void simulate(int);
73  //int getECLtoGDL(void) { return bitECLtoGDL; }
75  void setRS(std::vector<int>, std::vector<double>, std::vector<double>&, std::vector<std::vector<double>>&);
77  // void getEventTiming(int option);
79  void setClusterMethod(int cluster) {_Clustering = cluster;}
81  void setClusterLimit(int limit) {_ClusterLimit = limit;}
83  void setBhabhaMethod(int bhabha) {_Bhabha = bhabha;}
85  void setEventTimingMethod(int EventTiming) {_EventTiming = EventTiming;}
87  void setTimeWindow(int timewindow) {TimeWindow = timewindow;}
89  void setOverlapWindow(int overlapwindow) {OverlapWindow = overlapwindow;}
91  void setNofTopTC(int noftoptc) {_NofTopTC = noftoptc;}
93  void makeLowMultiTriggerBit(std::vector<int>, std::vector<double>);
95  void makeTriggerBit(int, int, int, int, double, int, int, std::vector<int>, int, int, int, int, int, int, int, int, int);
97  double setTotalEnergy(std::vector<double>);
99  int getTriggerbit(int i) {return _Triggerbit[i];}
101  int getLowmultibit() {return _Lowmultibit;}
103  void set2DBhabhaThreshold(std::vector<double> i2DBhabhaThresholdFWD, std::vector<double> i2DBhabhaThresholdBWD)
104  {
105  _2DBhabhaThresholdFWD = i2DBhabhaThresholdFWD;
106  _2DBhabhaThresholdBWD = i2DBhabhaThresholdBWD;
107  }
109  void set3DBhabhaSelectionThreshold(std::vector<double> i3DBhabhaSelectionThreshold) { _3DBhabhaSelectionThreshold = i3DBhabhaSelectionThreshold; };
111  void set3DBhabhaVetoThreshold(std::vector<double> i3DBhabhaVetoThreshold) { _3DBhabhaVetoThreshold = i3DBhabhaVetoThreshold; };
112 
114  void set3DBhabhaSelectionAngle(std::vector<double> i3DBhabhaSelectionAngle) { _3DBhabhaSelectionAngle = i3DBhabhaSelectionAngle; };
116  void set3DBhabhaVetoAngle(std::vector<double> i3DBhabhaVetoAngle) { _3DBhabhaVetoAngle = i3DBhabhaVetoAngle; };
118  void setmumuThreshold(int mumuThreshold) {_mumuThreshold = mumuThreshold; }
120  void setmumuAngle(std::vector<double> imumuAngle) {_mumuAngle = imumuAngle; }
122  void setn300MeVClusterThreshold(int n300MeVCluster) {_n300MeVCluster = n300MeVCluster; }
124  void setECLBurstThreshold(int ECLBurstThreshold) {_ECLBurstThreshold = ECLBurstThreshold; }
125 
127  void setTotalEnergyThreshold(std::vector<double> iTotalEnergy) {_TotalEnergy = iTotalEnergy; }
129  void setLowMultiplicityThreshold(std::vector<double> iLowMultiThreshold) { _LowMultiThreshold = iLowMultiThreshold;}
130 
131 
132 
133  private:
134 
136  std::vector<std::vector<double>> TCEnergy;
138  std::vector<std::vector<double>> TCTiming;
140  std::vector<std::vector<int>> TCBeamBkgTag;
141 
143  std::vector<int> HitTCId;
145  std::vector<double> TCHitEnergy;
147  std::vector<double> TCHitTiming;
149  std::vector<int> TCHitBeamBkgTag;
150 
152  std::vector< std::vector<double>> PhiRingSum;
154  std::vector<std::vector<std::vector<double>>> ThetaRingSum;
155 
157  // std::vector<double> ClusterEnergy;
159  // std::vector<double> ClusterTiming;
160 
161 
162 
163 
165  double TimeWindow;
168 
169 
172 
174  int _Bhabha;
175 
183  int _Triggerbit[4];
190 
192  std::vector<double> _2DBhabhaThresholdFWD;
194  std::vector<double> _2DBhabhaThresholdBWD;
196  std::vector<double> _3DBhabhaSelectionThreshold;
198  std::vector<double> _3DBhabhaVetoThreshold;
200  std::vector<double> _3DBhabhaSelectionAngle;
202  std::vector<double> _3DBhabhaVetoAngle;
206  std::vector<double> _mumuAngle;
212  std::vector<double> _TotalEnergy;
214  std::vector<double> _LowMultiThreshold;
215 
230 
231 
232  };
233 //
234 //
235 //
237 }
238 
239 #endif /* TRGECL_FLAG_ */
Belle2::TrgEclMaster::set3DBhabhaSelectionAngle
void set3DBhabhaSelectionAngle(std::vector< double > i3DBhabhaSelectionAngle)
set 3D selection Bhabha Energy Angle
Definition: TrgEclMaster.h:114
Belle2::TrgEclMaster::_2DBhabhaThresholdBWD
std::vector< double > _2DBhabhaThresholdBWD
2D Bhabha Energy Threshold
Definition: TrgEclMaster.h:194
Belle2::TrgEclMaster::_PrescaleFactor
int _PrescaleFactor
Bhabha Prescale Factor.
Definition: TrgEclMaster.h:187
Belle2::TrgEclMaster::_EventTiming
int _EventTiming
EventTiming option.
Definition: TrgEclMaster.h:177
Belle2::TrgEclMaster::_NofTopTC
int _NofTopTC
Definition: TrgEclMaster.h:179
Belle2::TrgEclMaster::TCHitTiming
std::vector< double > TCHitTiming
Hit TC Timing in time window.
Definition: TrgEclMaster.h:147
Belle2::TrgEclMaster::setBhabhaMethod
void setBhabhaMethod(int bhabha)
Set Bhabha.
Definition: TrgEclMaster.h:83
Belle2::TrgEclMaster::TCHitBeamBkgTag
std::vector< int > TCHitBeamBkgTag
Hit TC Beam Background tag in time window.
Definition: TrgEclMaster.h:149
Belle2::TrgEclMaster::setTotalEnergyThreshold
void setTotalEnergyThreshold(std::vector< double > iTotalEnergy)
set Total Energy Theshold (low, high, lum)
Definition: TrgEclMaster.h:127
Belle2::TrgEclMaster::_PrescaleCounter
int _PrescaleCounter
Bhabha Prescale Countor.
Definition: TrgEclMaster.h:189
Belle2::TrgEclMaster::simulate02
void simulate02(int)
simulates ECL trigger for Data Analysis
Definition: TrgEclMaster.cc:540
Belle2::TrgEclMaster::_Bhabha
int _Bhabha
Bhabha option.
Definition: TrgEclMaster.h:174
Belle2::TrgEclMaster::setn300MeVClusterThreshold
void setn300MeVClusterThreshold(int n300MeVCluster)
set the number of cluster exceeding 300 MeV
Definition: TrgEclMaster.h:122
Belle2::TrgEclMaster::obj_timing
TrgEclTiming * obj_timing
EventTiming object.
Definition: TrgEclMaster.h:223
Belle2::TrgEclMaster::makeTriggerBit
void makeTriggerBit(int, int, int, int, double, int, int, std::vector< int >, int, int, int, int, int, int, int, int, int)
make Trigger bit except for Low Multiplicity related bit
Definition: TrgEclMaster.cc:1036
Belle2::TrgEclMaster::setRS
void setRS(std::vector< int >, std::vector< double >, std::vector< double > &, std::vector< std::vector< double >> &)
ECL bit information for GDL.
Definition: TrgEclMaster.cc:995
Belle2::TrgEclMaster::HitTCId
std::vector< int > HitTCId
Hit TC Energy in time window.
Definition: TrgEclMaster.h:143
Belle2::TrgEclMaster::_3DBhabhaVetoThreshold
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
Definition: TrgEclMaster.h:198
Belle2::TrgEclMaster::_ecl
static TrgEclMaster * _ecl
ecl object
Definition: TrgEclMaster.h:217
Belle2::TrgEclMaster::_Lowmultibit
int _Lowmultibit
Low Multiplicity bit.
Definition: TrgEclMaster.h:185
Belle2::TrgEclMaster
ETM class.
Definition: TrgEclMaster.h:40
Belle2::TrgEclMaster::setEventTimingMethod
void setEventTimingMethod(int EventTiming)
Set Cluster.
Definition: TrgEclMaster.h:85
Belle2::TrgEclMaster::name
std::string name(void) const
returns name.
Definition: TrgEclMaster.cc:148
Belle2::TrgEclMaster::initialize
void initialize(int)
initialize
Definition: TrgEclMaster.cc:165
Belle2::TrgEclTiming
A Class of ECL Trigger clustering
Definition: TrgEclTiming.h:34
Belle2::TrgEclMaster::set3DBhabhaVetoThreshold
void set3DBhabhaVetoThreshold(std::vector< double > i3DBhabhaVetoThreshold)
set 3D veto Bhabha Energy Threshold
Definition: TrgEclMaster.h:111
Belle2::TrgEclMaster::setTimeWindow
void setTimeWindow(int timewindow)
Set Trigger Decision window size.
Definition: TrgEclMaster.h:87
Belle2::TrgEclMaster::TCTiming
std::vector< std::vector< double > > TCTiming
Hit TC Timing.
Definition: TrgEclMaster.h:138
Belle2::TrgEclMaster::setmumuAngle
void setmumuAngle(std::vector< double > imumuAngle)
set mumu bit Angle selection
Definition: TrgEclMaster.h:120
Belle2::TrgEclMaster::TCHitEnergy
std::vector< double > TCHitEnergy
Hit TC Energy in time window.
Definition: TrgEclMaster.h:145
Belle2::TrgEclMaster::_mumuAngle
std::vector< double > _mumuAngle
mumu bit Angle
Definition: TrgEclMaster.h:206
Belle2::TrgEclDataBase
class TrgEclDataBase;
Definition: TrgEclDataBase.h:24
Belle2::TrgEclMaster::obj_beambkg
TrgEclBeamBKG * obj_beambkg
Beam Backgroud veto object.
Definition: TrgEclMaster.h:227
Belle2::TrgEclMaster::_Triggerbit
int _Triggerbit[4]
ECL Trigger bit.
Definition: TrgEclMaster.h:183
Belle2::TrgEclMaster::simulate01
void simulate01(int)
simulates ECL trigger for Global Cosmic data
Definition: TrgEclMaster.cc:190
Belle2::TrgEclMapping
A class of TC Mapping.
Definition: TrgEclMapping.h:31
Belle2::TrgEclMaster::version
std::string version(void) const
returns version.
Definition: TrgEclMaster.cc:156
Belle2::TrgEclMaster::_2DBhabhaThresholdFWD
std::vector< double > _2DBhabhaThresholdFWD
2D Bhabha Energy Threshold
Definition: TrgEclMaster.h:192
Belle2::TrgEclMaster::getTrgEclMaster
static TrgEclMaster * getTrgEclMaster(void)
get pointer of TrgEclMaster object
Definition: TrgEclMaster.cc:176
Belle2::TrgEclMaster::obj_map
TrgEclMapping * obj_map
Mapping object.
Definition: TrgEclMaster.h:219
Belle2::TrgEclMaster::setOverlapWindow
void setOverlapWindow(int overlapwindow)
Set Trigger Decision overlap window size.
Definition: TrgEclMaster.h:89
Belle2::TrgEclMaster::setLowMultiplicityThreshold
void setLowMultiplicityThreshold(std::vector< double > iLowMultiThreshold)
set Low Multiplicity Threshold
Definition: TrgEclMaster.h:129
Belle2::TrgEclMaster::ThetaRingSum
std::vector< std::vector< std::vector< double > > > ThetaRingSum
Theta ring sum.
Definition: TrgEclMaster.h:154
Belle2::TrgEclMaster::TCBeamBkgTag
std::vector< std::vector< int > > TCBeamBkgTag
Hit TC Beam Background tag.
Definition: TrgEclMaster.h:140
Belle2::TrgEclMaster::_3DBhabhaVetoAngle
std::vector< double > _3DBhabhaVetoAngle
3D Veto Bhabha Energy Angle
Definition: TrgEclMaster.h:202
Belle2::TrgEclMaster::setTotalEnergy
double setTotalEnergy(std::vector< double >)
Set Total Energy.
Definition: TrgEclMaster.cc:1401
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrgEclMaster::setClusterMethod
void setClusterMethod(int cluster)
Get Event timing.
Definition: TrgEclMaster.h:79
Belle2::TrgEclMaster::getLowmultibit
int getLowmultibit()
Get Low Multiplicity Trigger Bit.
Definition: TrgEclMaster.h:101
Belle2::TrgEclMaster::TimeWindow
double TimeWindow
Hit TC Energy in time window.
Definition: TrgEclMaster.h:165
Belle2::TrgEclMaster::~TrgEclMaster
virtual ~TrgEclMaster()
TrgEclMaster Destructor.
Definition: TrgEclMaster.cc:136
Belle2::TrgEclBhabha
A Class of ECL Trigger clustering
Definition: TrgEclBhabha.h:37
Belle2::TrgEclMaster::obj_database
TrgEclDataBase * obj_database
Beam Backgroud veto object.
Definition: TrgEclMaster.h:229
Belle2::TrgEclMaster::_3DBhabhaSelectionThreshold
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
Definition: TrgEclMaster.h:196
Belle2::TrgEclMaster::_ClusterLimit
int _ClusterLimit
The limit number of Cluster.
Definition: TrgEclMaster.h:181
Belle2::TrgEclBeamBKG
A Class of ECL Trigger clustering
Definition: TrgEclBeamBKG.h:34
Belle2::TrgEclMaster::makeLowMultiTriggerBit
void makeLowMultiTriggerBit(std::vector< int >, std::vector< double >)
make LowMultiTriggerBit
Definition: TrgEclMaster.cc:1196
Belle2::TrgEclMaster::_ECLBurstThreshold
double _ECLBurstThreshold
ECL Burst Bit Threshold.
Definition: TrgEclMaster.h:210
Belle2::TrgEclMaster::setECLBurstThreshold
void setECLBurstThreshold(int ECLBurstThreshold)
set mumu bit Threshold
Definition: TrgEclMaster.h:124
Belle2::TrgEclMaster::set2DBhabhaThreshold
void set2DBhabhaThreshold(std::vector< double > i2DBhabhaThresholdFWD, std::vector< double > i2DBhabhaThresholdBWD)
set 2D Bhabha Energy Threshold
Definition: TrgEclMaster.h:103
Belle2::TrgEclMaster::TrgEclMaster
TrgEclMaster(void)
TrgEclMaster Constructor.
Definition: TrgEclMaster.cc:78
Belle2::TrgEclMaster::_3DBhabhaSelectionAngle
std::vector< double > _3DBhabhaSelectionAngle
3D Selection Bhabha Energy Angle
Definition: TrgEclMaster.h:200
Belle2::TrgEclMaster::setmumuThreshold
void setmumuThreshold(int mumuThreshold)
set mumu bit Threshold
Definition: TrgEclMaster.h:118
Belle2::TrgEclMaster::_TotalEnergy
std::vector< double > _TotalEnergy
Total Energy Theshold (low, high, lum)
Definition: TrgEclMaster.h:212
Belle2::TrgEclMaster::setClusterLimit
void setClusterLimit(int limit)
Set the limit # of Cluster.
Definition: TrgEclMaster.h:81
Belle2::TrgEclMaster::_n300MeVCluster
int _n300MeVCluster
The number of Cluster exceeding 300 MeV.
Definition: TrgEclMaster.h:208
Belle2::TrgEclMaster::setNofTopTC
void setNofTopTC(int noftoptc)
set # of considered TC in energy weighted Timing method
Definition: TrgEclMaster.h:91
Belle2::TrgEclMaster::_Clustering
int _Clustering
clutering option
Definition: TrgEclMaster.h:171
Belle2::TrgEclMaster::PhiRingSum
std::vector< std::vector< double > > PhiRingSum
Phi ring sum.
Definition: TrgEclMaster.h:152
Belle2::TrgEclMaster::TCEnergy
std::vector< std::vector< double > > TCEnergy
Hit TC Energy.
Definition: TrgEclMaster.h:136
Belle2::TrgEclMaster::_LowMultiThreshold
std::vector< double > _LowMultiThreshold
Low Multiplicity Threshold.
Definition: TrgEclMaster.h:214
Belle2::TrgEclCluster
A Class of ECL Trigger clustering
Definition: TrgEclCluster.h:35
Belle2::TrgEclMaster::_mumuThreshold
double _mumuThreshold
mumu bit Energy Threshold
Definition: TrgEclMaster.h:204
Belle2::TrgEclMaster::obj_cluster
TrgEclCluster * obj_cluster
Cluster object.
Definition: TrgEclMaster.h:221
Belle2::TrgEclMaster::getTriggerbit
int getTriggerbit(int i)
Get ECL Trigger bit.
Definition: TrgEclMaster.h:99
Belle2::TrgEclMaster::set3DBhabhaSelectionThreshold
void set3DBhabhaSelectionThreshold(std::vector< double > i3DBhabhaSelectionThreshold)
set 3D selection Bhabha Energy Threshold
Definition: TrgEclMaster.h:109
Belle2::TrgEclMaster::obj_bhabha
TrgEclBhabha * obj_bhabha
Bhabha object.
Definition: TrgEclMaster.h:225
Belle2::TrgEclMaster::OverlapWindow
double OverlapWindow
TRG Decision overlap window.
Definition: TrgEclMaster.h:167
Belle2::TrgEclMaster::set3DBhabhaVetoAngle
void set3DBhabhaVetoAngle(std::vector< double > i3DBhabhaVetoAngle)
set 3D veto Bhabha Energy Angle
Definition: TrgEclMaster.h:116