Belle II Software development
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
21namespace Belle2 {
28 class TRGECLModule : public Module {
29
30
31 public:
32
35
37 virtual ~TRGECLModule();
38
40 virtual void initialize() override;
41
43 virtual void beginRun() override;
44
46 virtual void event() override;
47
49 virtual void endRun() override;
50
52 virtual void terminate() override;
53
54 public:
55
57 std::string version(void) const;
58
59 private:
60
63
65 std::string _configFilename;
66
69
70 protected:
72 std::string m_inColName;
74 std::string m_eclHitOutColName;
77
80 int m_hitNum = 0;
82 int m_hitTCNum = 0;
83
84 private:
85
86 // double m_timeCPU; // CPU time
88 int m_nRun = 0;
90 int m_nEvent = 0;
110 std::vector<double> _2DBhabhaThresholdFWD;
112 std::vector<double> _2DBhabhaThresholdBWD;
114 std::vector<double> _3DBhabhaSelectionThreshold;
116 std::vector<double> _3DBhabhaVetoThreshold;
118 std::vector<double> _3DBhabhaSelectionAngle;
120 std::vector<double> _3DBhabhaVetoAngle;
124 std::vector<double> _mumuAngle;
126 std::vector<double> m_3DBhabhaAddAngleCut;
132 std::vector<double> _TotalEnergy;
134 std::vector<double> _LowMultiThreshold;
141 std::vector<int> m_taub2bAngleCut;
151 std::vector<int> m_taub2b2AngleCut;
159 std::vector<int> m_taub2b3AngleCut;
174
175 };
176
178} // 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:28
double m_taub2b3CLELowCut
taub2b3 cluster energy low cut in lab for all clusters (GeV)
Definition: TRGECLModule.h:163
int _Clustering
Clustering option.
Definition: TRGECLModule.h:94
double _ECLBurstThreshold
ECL Burst Bit Threshold.
Definition: TRGECLModule.h:130
double m_taub2bEtotCut
taub2b total energy (TC theta ID =1-17) (GeV)
Definition: TRGECLModule.h:143
double m_taub2b3CLEHighCut
taub2b3 cluster energy high cut in lab for all clusters (GeV)
Definition: TRGECLModule.h:165
std::string _configFilename
Config.
Definition: TRGECLModule.h:65
int _ConditionDB
Flag to use Condition DB.
Definition: TRGECLModule.h:108
int _debugLevel
Parameters.
Definition: TRGECLModule.h:62
int _ClusterLimit
Cluster Limit.
Definition: TRGECLModule.h:96
std::vector< double > m_EventTimingQualityThresholds
Energy threshold(low, high) of event timing quality flag (GeV)
Definition: TRGECLModule.h:138
std::vector< int > m_taub2bAngleCut
taub2b 2 cluster angle cut (degree) (dphi low, dphi high, theta_sum low, theta_sum high)
Definition: TRGECLModule.h:141
DBArray< TRGECLETMPara > m_ETMPara
ETN Parameters.
Definition: TRGECLModule.h:173
double _mumuThreshold
mumu bit Energy Threshold
Definition: TRGECLModule.h:122
StoreArray< TRGECLTrg > m_TRGECLTrg
output for TRGECLTrg
Definition: TRGECLModule.h:169
std::vector< int > m_3DBhabhaVetoInTrackThetaRegion
Theta region (low, high) of 3D Bhabha Veto InTrack.
Definition: TRGECLModule.h:136
int m_hitNum
The current number of created hits in an event.
Definition: TRGECLModule.h:80
std::string m_eclTCHitOutColName
Output array name for TC.
Definition: TRGECLModule.h:76
int m_hitTCNum
TC Hit number.
Definition: TRGECLModule.h:82
int _n300MeVCluster
The number of Cluster exceeding 300 MeV.
Definition: TRGECLModule.h:128
int _SelectEvent
Event selection.
Definition: TRGECLModule.h:106
int m_nRun
Run number.
Definition: TRGECLModule.h:88
std::vector< double > _TotalEnergy
Total Energy Theshold (low, high, lum)
Definition: TRGECLModule.h:132
std::vector< double > _mumuAngle
mumu bit Angle
Definition: TRGECLModule.h:124
std::vector< double > m_3DBhabhaAddAngleCut
Angle selection of additional Bhabha veto in CM frame.
Definition: TRGECLModule.h:126
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
Definition: TRGECLModule.h:116
double m_taub2b2EtotCut
taub2b2 total energy cut (GeV)
Definition: TRGECLModule.h:149
double _TimeWindow
Trigger decision time window.
Definition: TRGECLModule.h:100
std::vector< double > _LowMultiThreshold
Low Multiplicity Threshold.
Definition: TRGECLModule.h:134
int m_nEvent
Event number.
Definition: TRGECLModule.h:90
int _EventTiming
Eventtiming option.
Definition: TRGECLModule.h:98
int _Bhabha
Bhabha option.
Definition: TRGECLModule.h:92
std::vector< double > _3DBhabhaSelectionAngle
3D Selection Bhabha Energy Angle
Definition: TRGECLModule.h:118
std::vector< double > _2DBhabhaThresholdBWD
2D Bhabha Energy Threshold
Definition: TRGECLModule.h:112
StoreArray< TRGECLCluster > m_TRGECLCluster
output for TRGECLCluster
Definition: TRGECLModule.h:171
double m_taub2bClusterECut2
taub2b Cluster energy selection (GeV)
Definition: TRGECLModule.h:147
std::vector< int > m_taub2b2AngleCut
taub2b2 two Cluster angle cut (degree)
Definition: TRGECLModule.h:151
double m_taub2b3EtotCut
taub2b3 total energy cut in lab (GeV)
Definition: TRGECLModule.h:157
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
Definition: TRGECLModule.h:114
std::string m_inColName
A pointer to a TRGECL TrgEcl* _ecl; *‍/.
Definition: TRGECLModule.h:72
std::string m_eclHitOutColName
Output array name for Xtal.
Definition: TRGECLModule.h:74
double m_taub2b3CLEb2bCut
taub2b3 cluster energy cut in lab for one of b2b clusters (GeV)
Definition: TRGECLModule.h:161
StoreArray< TRGECLHit > m_TRGECLHit
output for TRGECLHit
Definition: TRGECLModule.h:167
double m_taub2bClusterECut1
taub2b Cluster energy selection (GeV)
Definition: TRGECLModule.h:145
double _OverlapWindow
Trigger decision overlap window in oder to avoid boundary effect.
Definition: TRGECLModule.h:102
double m_taub2b2CLECut
taub2b2 cluster energy cut (GeV)
Definition: TRGECLModule.h:155
std::vector< double > _2DBhabhaThresholdFWD
2D Bhabha Energy Threshold
Definition: TRGECLModule.h:110
std::vector< double > _3DBhabhaVetoAngle
3D Veto Bhabha Energy Angle
Definition: TRGECLModule.h:120
double m_taub2b2CLEEndcapCut
taub2b2 cluster energy cut for endcap cluster (GeV)
Definition: TRGECLModule.h:153
std::vector< int > m_taub2b3AngleCut
taub2b3 two Cluster angle cut in cms (degree)
Definition: TRGECLModule.h:159
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.