9#define TRGECL_SHORT_NAMES
11#include <framework/core/ModuleParamList.templateDetails.h>
12#include <framework/core/ModuleParamList.h>
14#include "trg/ecl/TrgEclMaster.h"
16#include "trg/trg/Debug.h"
17#include "trg/ecl/modules/trgecl/TRGECLModule.h"
18#include "trg/ecl/dbobjects/TRGECLETMPara.h"
39 return string(
"TRGECLModule 1.00");
46 _Clustering(1), _ClusterLimit(6), _EventTiming(1),
47 _TimeWindow(250.0), _OverlapWindow(125.0), _NofTopTC(3),
48 _SelectEvent(1), _ConditionDB(0), _mumuThreshold(20),
49 _n300MeVCluster(1), _ECLBurstThreshold(200)
52 string desc =
"TRGECLModule(" +
version() +
")";
62 "TRGECL Bhabha method 0 : Belle I, 1 :belle II(defult)",
66 "TRGECL Clustering method 0 : use only ICN, 1 : ICN + Energy(Defult)",
70 "The Limit number of cluster (Defult:6)",
74 "TRGECL EventTiming method 0 : Belle I, 1 : Energetic TC, 2 : Energy Weighted timing (defult)",
78 "TRGECL # of considered TC in energy weighted Timing method(Only work for EvenTiming Method 2)",
82 "TRGECL Trigger decision Time Window",
86 "TRGECL Trigger decision Time Window",
90 "TRGECL Select one trigger window for logic study",
94 "Flag to use Condition Database(Defult 0)",
96 addParam(
"3DBhabhaVetoInTrackThetaRegion",
98 "set 3DBhabhaVetoInTrackThetaRegion (low TCID and high TCID)",
100 addParam(
"EventTimingQualityThresholds",
102 "set EventTimingQualityThresholds (low energy(GeV) and high energy(GeV))",
106 "set Angle Cut of Bhbaha Additional veto for hie (dphi low and high, theta sum low and high(degree)",
110 "set Taub2bAngleCut(dphi low and high, theta sum low and high(degree)",
114 "set Taub2b total energy cut in TC ThetaID 1-17(GeV)",
118 "set Taub2b 1 cluster energy Cut (GeV) for CL1 : ",
122 "set Taub2b 1 cluster energy Cut (GeV) for CL2 : ",
127 "set Taub2b2AngleCut(dphi low and high, theta sum low and high(degree))",
131 "set Taub2b2 total energy cut in TC ThetaID 1-17(GeV)",
135 "set Taub2b2 energy Cut (GeV) for cluseter in endcap (GeV) : ",
139 "set Taub2b2 cluster energy Cut (GeV) : ",
144 "set Taub2b3AngleCut(dphi low and high, theta sum low and high in cms (degree))",
148 "set Taub2b3 total energy cut in lab in ThetaID 1-17(GeV)",
152 "set Taub2b3 cluster energy Cut in lab for one of b2b clusters (GeV) : ",
156 "set Taub2b3 cluster energy low Cut in lab for all clusters (GeV) : ",
160 "set Taub2b3 cluster energy high Cut in lab for all clusters (GeV) : ",
179 _2DBhabhaThresholdFWD = {40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 30, 35};
180 _2DBhabhaThresholdBWD = {25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 30, 30};
211 std::cout <<
"TRGECLModule ... created" << std::endl;
220 std::cout <<
"TRGECLModule ... destructed " << std::endl;
234 std::cout <<
"TRGECLModule::initialize ... options" << std::endl;
260 (double)para.getELow(),
261 (double)para.getELow()
263 for (
int index = 0; index < 14; index ++) {
268 (double)para.get3DBhabhaVetoThreshold(0),
269 (double)para.get3DBhabhaVetoThreshold(1)
272 (double)para.get3DBhabhaSelectionThreshold(0),
273 (double)para.get3DBhabhaSelectionThreshold(1)
276 (double)para.get3DBhabhaVetoAngle(0),
277 (double)para.get3DBhabhaVetoAngle(1),
278 (double)para.get3DBhabhaVetoAngle(2),
279 (double)para.get3DBhabhaVetoAngle(3)
282 (double)para.get3DBhabhaSelectionAngle(0),
283 (double)para.get3DBhabhaSelectionAngle(1),
284 (double)para.get3DBhabhaSelectionAngle(2),
285 (double)para.get3DBhabhaSelectionAngle(3)
288 (double)(para.getmumuThreshold());
290 (double)para.getmumuAngle(0),
291 (double)para.getmumuAngle(1),
292 (double)para.getmumuAngle(2)
295 (double)para.getLowMultiThreshold(0),
296 (double)para.getLowMultiThreshold(1),
297 (double)para.getLowMultiThreshold(2),
298 (double)para.getLowMultiThreshold(3)
303 B2INFO(
"[TRGECLModule] 3DBhabhaVetoInTrackThetaRegion (low : high) = ("
307 B2INFO(
"[TRGECLModule] EventTimingQualityThresholds (low : high)= ("
311 B2INFO(
"[TRGECLModule] Taub2b two CL Angle cut in CM (degree) (dphi L, H, theta sum L, H ) = ("
316 B2INFO(
"[TRGECLModule] Taub2b Total Energy Cut in lab. (GeV) = "
318 B2INFO(
"[TRGECLModule] Taub2b Cluster Energy Cut in lab. (GeV) : (E(CL1), E(CL2)) = ("
321 B2INFO(
"[TRGECLModule] Bhabha Add Angle cut in CM (degree) (dphi L, H, theta sum L, H) = ("
327 B2INFO(
"[TRGECLModule] Taub2b2 two CL Angle cut in CM (degree) (dphi L, H, theta sum L, H) = ("
332 B2INFO(
"[TRGECLModule] Taub2b2 Total Energy Cut in lab. (GeV) = "
334 B2INFO(
"[TRGECLModule] Taub2b2 Energy Cut in lab. for cluster in endcap (GeV) = "
336 B2INFO(
"[TRGECLModule] Taub2b2 Cluster energy cut in lab. (GeV) = "
339 B2INFO(
"[TRGECLModule] Taub2b3 two CL Angle cut in CM (degree) (dphi L, H, theta sum L, H) = ("
344 B2INFO(
"[TRGECLModule] Taub2b3 Total Energy Cut in lab. (GeV) = "
346 B2INFO(
"[TRGECLModule] Taub2b3 Cluster energy cut in lab. for one of b2b clusters (GeV) = "
348 B2INFO(
"[TRGECLModule] Taub2b3 Cluster energy low cut in lab. for all clusters (GeV) = "
350 B2INFO(
"[TRGECLModule] Taub2b3 Cluster energy high cut in lab. for all clusters(GeV) = "
354 std::cout <<
"TRGECLModule ... beginRun called " << std::endl;
367 std::cout <<
"TRGECLMoudle ... event called" << std::endl;
431 std::cout <<
"TRGECLModule ... endRun called " << std::endl;
441 std::cout <<
"TRGECLModule ... terminate called " << std::endl;
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
double m_taub2b3CLELowCut
taub2b3 cluster energy low cut in lab for all clusters (GeV)
int _Clustering
Clustering option.
double _ECLBurstThreshold
ECL Burst Bit Threshold.
double m_taub2bEtotCut
taub2b total energy (TC theta ID =1-17) (GeV)
double m_taub2b3CLEHighCut
taub2b3 cluster energy high cut in lab for all clusters (GeV)
int _ConditionDB
Flag to use Condition DB.
int _debugLevel
Parameters.
int _ClusterLimit
Cluster Limit.
std::vector< double > m_EventTimingQualityThresholds
Energy threshold(low, high) of event timing quality flag (GeV)
std::vector< int > m_taub2bAngleCut
taub2b 2 cluster angle cut (degree) (dphi low, dphi high, theta_sum low, theta_sum high)
DBArray< TRGECLETMPara > m_ETMPara
ETN Parameters.
double _mumuThreshold
mumu bit Energy Threshold
StoreArray< TRGECLTrg > m_TRGECLTrg
output for TRGECLTrg
std::vector< int > m_3DBhabhaVetoInTrackThetaRegion
Theta region (low, high) of 3D Bhabha Veto InTrack.
int m_hitNum
The current number of created hits in an event.
int m_hitTCNum
TC Hit number.
int _n300MeVCluster
The number of Cluster exceeding 300 MeV.
int _SelectEvent
Event selection.
std::vector< double > _TotalEnergy
Total Energy Theshold (low, high, lum)
std::vector< double > _mumuAngle
mumu bit Angle
std::vector< double > m_3DBhabhaAddAngleCut
Angle selection of additional Bhabha veto in CM frame.
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
double m_taub2b2EtotCut
taub2b2 total energy cut (GeV)
double _TimeWindow
Trigger decision time window.
std::vector< double > _LowMultiThreshold
Low Multiplicity Threshold.
int m_nEvent
Event number.
int _EventTiming
Eventtiming option.
int _Bhabha
Bhabha option.
std::vector< double > _3DBhabhaSelectionAngle
3D Selection Bhabha Energy Angle
std::vector< double > _2DBhabhaThresholdBWD
2D Bhabha Energy Threshold
StoreArray< TRGECLCluster > m_TRGECLCluster
output for TRGECLCluster
double m_taub2bClusterECut2
taub2b Cluster energy selection (GeV)
std::vector< int > m_taub2b2AngleCut
taub2b2 two Cluster angle cut (degree)
double m_taub2b3EtotCut
taub2b3 total energy cut in lab (GeV)
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
double m_taub2b3CLEb2bCut
taub2b3 cluster energy cut in lab for one of b2b clusters (GeV)
StoreArray< TRGECLHit > m_TRGECLHit
output for TRGECLHit
double m_taub2bClusterECut1
taub2b Cluster energy selection (GeV)
double _OverlapWindow
Trigger decision overlap window in oder to avoid boundary effect.
double m_taub2b2CLECut
taub2b2 cluster energy cut (GeV)
std::vector< double > _2DBhabhaThresholdFWD
2D Bhabha Energy Threshold
std::vector< double > _3DBhabhaVetoAngle
3D Veto Bhabha Energy Angle
double m_taub2b2CLEEndcapCut
taub2b2 cluster energy cut for endcap cluster (GeV)
std::vector< int > m_taub2b3AngleCut
taub2b3 two Cluster angle cut in cms (degree)
void setLowMultiplicityThreshold(const std::vector< double > &iLowMultiThreshold)
set Low Multiplicity Threshold
void setEventTimingQualityThresholds(const std::vector< double > &iEventTimingQualityThresholds)
set energy threshold(low and high) of event timing quality flag (GeV)
void setNofTopTC(int noftoptc)
set # of considered TC in energy weighted Timing method
void setBhabhaMethod(int bhabha)
Set Bhabha.
void setTaub2bAngleCut(const std::vector< int > &itaub2bAngleCut)
set tau b2b 2 cluster angle cut
void set3DBhabhaAddAngleCut(const std::vector< double > &i3DBhabhaAddAngleCut)
set 3D Bhabha addtion Angle selection
void simulate02(int)
simulates ECL trigger for Data Analysis
void setTimeWindow(int timewindow)
Set Trigger Decision window size.
void initialize(int)
initialize
void setEventTimingMethod(int EventTiming)
Set Cluster.
void setTaub2bEtotCut(double itaub2bEtotCut)
set tau b2b total energy cut
void setClusterLimit(int limit)
Set the limit # of Cluster.
void setClusterMethod(int cluster)
Get Event timing.
void setTotalEnergyThreshold(const std::vector< double > &iTotalEnergy)
set Total Energy Theshold (low, high, lum)
void setmumuThreshold(int mumuThreshold)
set mumu bit Threshold
void set2DBhabhaThreshold(const std::vector< double > &i2DBhabhaThresholdFWD, const std::vector< double > &i2DBhabhaThresholdBWD)
set 2D Bhabha Energy Threshold
void set3DBhabhaVetoAngle(const std::vector< double > &i3DBhabhaVetoAngle)
set 3D veto Bhabha Energy Angle
void setTaub2b2Cut(const std::vector< int > &iTaub2b2AngleCut, const double iTaub2b2EtotCut, const double iTaub2b2CLEEndcapCut, const double iTaub2b2CLECut)
set taub2b2 cut
void set3DBhabhaSelectionAngle(const std::vector< double > &i3DBhabhaSelectionAngle)
set 3D selection Bhabha Energy Angle
void set3DBhabhaSelectionThreshold(const std::vector< double > &i3DBhabhaSelectionThreshold)
set 3D selection Bhabha Energy Threshold
void setECLBurstThreshold(int ECLBurstThreshold)
set mumu bit Threshold
void simulate01(int)
simulates ECL trigger for Global Cosmic data
void setOverlapWindow(int overlapwindow)
Set Trigger Decision overlap window size.
void set3DBhabhaVetoInTrackThetaRegion(const std::vector< int > &i3DBhabhaVetoInTrackThetaRegion)
set theta ID region (low and high) of 3DBhabhaVeto InTrack for gg selection
void setn300MeVClusterThreshold(int n300MeVCluster)
set the number of cluster exceeding 300 MeV
void set3DBhabhaVetoThreshold(const std::vector< double > &i3DBhabhaVetoThreshold)
set 3D veto Bhabha Energy Threshold
void setmumuAngle(const std::vector< double > &imumuAngle)
set mumu bit Angle selection
void setTaub2b3Cut(const std::vector< int > &iTaub2b3AngleCut, const double iTaub2b3EtotCut, const double iTaub2b3CLEb2bCut, const double iTaub2b3CLELowCut, const double iTaub2b3CLEHighCut)
set taub2b3 cut
void setTaub2bClusterECut(double itaub2bClusterECut1, double itaub2bClusterECut2)
set tau b2b 1Cluster energy cut
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
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.
TRGECLModule()
Constructor.
static std::string tab(void)
returns tab spaces.
static int level(void)
returns the debug level.
Abstract base class for different kinds of events.