13 #include "trg/ecl/TrgEclMapping.h"
14 #include "trg/ecl/TrgEclDataBase.h"
58 int GetBhabhaAddition(
void);
65 const std::vector<double>& i2DBhabhaThresholdBWD)
97 m_3DBhabhaAddAngleCut = i3DBhabhaAddAngleCut;
100 void set3DBhabhaVetoInTrackThetaRegion(
const std::vector<int>& i3DBhabhaVetoInTrackThetaRegion)
102 m_3DBhabhaVetoInTrackThetaRegion = i3DBhabhaVetoInTrackThetaRegion;
106 void setTaub2bAngleCut(
const std::vector<int>& iTaub2bAngleCut)
108 m_Taub2bAngleCut = iTaub2bAngleCut;
111 void setTaub2bEtotCut(
const double iTaub2bEtotCut)
113 m_Taub2bEtotCut = iTaub2bEtotCut;
116 void setTaub2bClusterECut(
const double iTaub2bClusterECut1,
117 const double iTaub2bClusterECut2)
119 m_Taub2bClusterECut1 = iTaub2bClusterECut1;
120 m_Taub2bClusterECut2 = iTaub2bClusterECut2;
124 int get3DBhabhaVetoInTrackFlag(
void)
126 return m_3DBhabhaVetoInTrackFlag;
129 int get3DBhabhaVetoClusterTCId(
int cl_idx)
131 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterTCIds.size() != 2) {
134 return m_3DBhabhaVetoClusterTCIds[cl_idx];
138 int get3DBhabhaVetoClusterThetaId(
int cl_idx)
140 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterThetaIds.size() != 2) {
143 return m_3DBhabhaVetoClusterThetaIds[cl_idx];
146 double get3DBhabhaVetoClusterEnergy(
int cl_idx)
148 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterEnergies.size() != 2) {
151 return m_3DBhabhaVetoClusterEnergies[cl_idx];
154 double get3DBhabhaVetoClusterTiming(
int cl_idx)
156 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterTimings.size() != 2) {
159 return m_3DBhabhaVetoClusterTimings[cl_idx];
169 int get3DBhabhaSelectionThetaFlag(
void)
171 return m_3DBhabhaSelectionThetaFlag;
174 int get3DBhabhaSelectionClusterTCId(
int cl_idx)
176 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterTCIds.size() != 2) {
179 return m_3DBhabhaSelectionClusterTCIds[cl_idx];
183 int get3DBhabhaSelectionClusterThetaId(
int cl_idx)
185 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterThetaIds.size() != 2) {
188 return m_3DBhabhaSelectionClusterThetaIds[cl_idx];
191 double get3DBhabhaSelectionClusterEnergy(
int cl_idx)
193 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterEnergies.size() != 2) {
196 return m_3DBhabhaSelectionClusterEnergies[cl_idx];
199 double get3DBhabhaSelectionClusterTiming(
int cl_idx)
201 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterTimings.size() != 2) {
204 return m_3DBhabhaSelectionClusterTimings[cl_idx];
207 int getTaub2bAngleFlag(
void) {
return m_Taub2bAngleFlag; }
209 int getTaub2bEtotFlag(
void) {
return m_Taub2bEtotFlag; }
211 int getTaub2bClusterEFlag(
void) {
return m_Taub2bClusterEFlag; }
221 void get2CLETP(
int,
int,
int&,
int&,
int&,
int&);
250 std::vector<double> m_3DBhabhaAddAngleCut;
252 std::vector<int> m_Taub2bAngleCut;
254 double m_Taub2bEtotCut;
256 double m_Taub2bClusterECut1;
257 double m_Taub2bClusterECut2;
259 int m_Taub2bAngleFlag;
261 int m_Taub2bEtotFlag;
263 int m_Taub2bClusterEFlag;
266 int m_3DBhabhaVetoInTrackFlag;
268 std::vector<int> m_3DBhabhaVetoClusterTCIds;
270 std::vector<int> m_3DBhabhaVetoClusterThetaIds;
272 std::vector<double> m_3DBhabhaVetoClusterEnergies;
274 std::vector<double> m_3DBhabhaVetoClusterTimings;
276 std::vector<int> m_3DBhabhaVetoInTrackThetaRegion;
278 int m_3DBhabhaSelectionThetaFlag = std::numeric_limits<int>::quiet_NaN();
280 std::vector<int> m_3DBhabhaSelectionClusterTCIds;
282 std::vector<int> m_3DBhabhaSelectionClusterThetaIds;
284 std::vector<double> m_3DBhabhaSelectionClusterEnergies;
286 std::vector<double> m_3DBhabhaSelectionClusterTimings;
A Class of ECL Trigger clustering
bool GetBhabha00(std::vector< double >)
Belle 2D Bhabha veto method.
bool Getmumu()
MuMu selection for calibration.
std::vector< double > GetBhabhaComb()
Output 2D Bhabha combination.
std::vector< double > MaxTCId
Max TC Id.
TrgEclBhabha()
Constructor.
void get2CLETP(int, int, int &, int &, int &, int &)
2 cluster energies, phi difference and theta sum
void set3DBhabhaAddAngleCut(const std::vector< double > &i3DBhabhaAddAngleCut)
set 3D Bhabha addtion Angle selection
std::vector< TVector3 > ClusterPosition
Cluster Timing.
double _mumuThreshold
mumu bit Energy Threshold
TrgEclDataBase * _database
Object of Trigger ECL DataBase.
std::vector< double > _mumuAngle
mumu bit Angle
std::vector< double > _3DBhabhaVetoThreshold
3D Veto Bhabha Energy Threshold
TrgEclBhabha(TrgEclBhabha &)=delete
Destructor.
std::vector< double > ClusterTiming
Cluster Timing.
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
bool GetBhabha02()
Belle II 3D Bhabha method for selection.
TrgEclBhabha & operator=(TrgEclBhabha &)=delete
Assignement operator, deleted.
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
std::vector< double > _3DBhabhaSelectionAngle
3D Selection Bhabha Energy Angle
std::vector< double > _2DBhabhaThresholdBWD
2D Bhabha Energy Threshold
std::vector< double > BhabhaComb
Bhabha Combination.
std::vector< double > _3DBhabhaSelectionThreshold
3D Selection Bhabha Energy Threshold
bool GetTaub2b(double)
Taub2b selection.
bool GetBhabha01()
Belle II 3D Bhabha method for veto.
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
virtual ~TrgEclBhabha()
Constructor.
std::vector< double > ClusterEnergy
Cluster Energy.
TrgEclMapping * _TCMap
Object of TC Mapping.
std::vector< double > _2DBhabhaThresholdFWD
2D Bhabha Energy Threshold
std::vector< double > _3DBhabhaVetoAngle
3D Veto Bhabha Energy Angle
Abstract base class for different kinds of events.