13 #include "trg/ecl/TrgEclMapping.h"
14 #include "trg/ecl/TrgEclDataBase.h"
60 int GetBhabhaAddition(
void);
67 const std::vector<double>& i2DBhabhaThresholdBWD)
99 m_3DBhabhaAddAngleCut = i3DBhabhaAddAngleCut;
102 void set3DBhabhaVetoInTrackThetaRegion(
const std::vector<int>& i3DBhabhaVetoInTrackThetaRegion)
104 m_3DBhabhaVetoInTrackThetaRegion = i3DBhabhaVetoInTrackThetaRegion;
108 void setTaub2bAngleCut(
const std::vector<int>& iTaub2bAngleCut)
110 m_taub2bAngleCut = iTaub2bAngleCut;
113 void setTaub2bEtotCut(
const double iTaub2bEtotCut)
115 m_taub2bEtotCut = iTaub2bEtotCut;
118 void setTaub2bClusterECut(
const double iTaub2bClusterECut1,
119 const double iTaub2bClusterECut2)
121 m_taub2bClusterECut1 = iTaub2bClusterECut1;
122 m_taub2bClusterECut2 = iTaub2bClusterECut2;
125 void setTaub2b2Cut(
const std::vector<int>& iTaub2b2AngleCut,
126 const double iTaub2b2EtotCut,
127 const double iTaub2b2CLEEndcapCut,
128 const double iTaub2b2CLECut)
130 m_taub2b2AngleCut = iTaub2b2AngleCut;
131 m_taub2b2EtotCut = iTaub2b2EtotCut;
132 m_taub2b2CLEEndcapCut = iTaub2b2CLEEndcapCut;
133 m_taub2b2CLECut = iTaub2b2CLECut;
137 int get3DBhabhaVetoInTrackFlag(
void)
139 return m_3DBhabhaVetoInTrackFlag;
142 int get3DBhabhaVetoClusterTCId(
int cl_idx)
144 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterTCIds.size() != 2) {
147 return m_3DBhabhaVetoClusterTCIds[cl_idx];
151 int get3DBhabhaVetoClusterThetaId(
int cl_idx)
153 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterThetaIds.size() != 2) {
156 return m_3DBhabhaVetoClusterThetaIds[cl_idx];
159 double get3DBhabhaVetoClusterEnergy(
int cl_idx)
161 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterEnergies.size() != 2) {
164 return m_3DBhabhaVetoClusterEnergies[cl_idx];
167 double get3DBhabhaVetoClusterTiming(
int cl_idx)
169 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaVetoClusterTimings.size() != 2) {
172 return m_3DBhabhaVetoClusterTimings[cl_idx];
182 int get3DBhabhaSelectionThetaFlag(
void)
184 return m_3DBhabhaSelectionThetaFlag;
187 int get3DBhabhaSelectionClusterTCId(
int cl_idx)
189 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterTCIds.size() != 2) {
192 return m_3DBhabhaSelectionClusterTCIds[cl_idx];
196 int get3DBhabhaSelectionClusterThetaId(
int cl_idx)
198 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterThetaIds.size() != 2) {
201 return m_3DBhabhaSelectionClusterThetaIds[cl_idx];
204 double get3DBhabhaSelectionClusterEnergy(
int cl_idx)
206 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterEnergies.size() != 2) {
209 return m_3DBhabhaSelectionClusterEnergies[cl_idx];
212 double get3DBhabhaSelectionClusterTiming(
int cl_idx)
214 if (cl_idx < 0 || cl_idx > 1 || m_3DBhabhaSelectionClusterTimings.size() != 2) {
217 return m_3DBhabhaSelectionClusterTimings[cl_idx];
220 int getTaub2bAngleFlag(
void) {
return m_taub2bAngleFlag; }
222 int getTaub2bEtotFlag(
void) {
return m_taub2bEtotFlag; }
224 int getTaub2bClusterEFlag(
void) {
return m_taub2bClusterEFlag; }
234 void get2CLETP(
int,
int,
int&,
int&,
int&,
int&);
263 std::vector<double> m_3DBhabhaAddAngleCut;
265 std::vector<int> m_taub2bAngleCut;
267 double m_taub2bEtotCut;
269 double m_taub2bClusterECut1;
270 double m_taub2bClusterECut2;
272 int m_taub2bAngleFlag;
274 int m_taub2bEtotFlag;
276 int m_taub2bClusterEFlag;
278 double m_taub2b2EtotCut;
280 std::vector<int> m_taub2b2AngleCut;
282 double m_taub2b2CLEEndcapCut;
284 double m_taub2b2CLECut;
287 int m_3DBhabhaVetoInTrackFlag;
289 std::vector<int> m_3DBhabhaVetoClusterTCIds;
291 std::vector<int> m_3DBhabhaVetoClusterThetaIds;
293 std::vector<double> m_3DBhabhaVetoClusterEnergies;
295 std::vector<double> m_3DBhabhaVetoClusterTimings;
297 std::vector<int> m_3DBhabhaVetoInTrackThetaRegion;
299 int m_3DBhabhaSelectionThetaFlag = std::numeric_limits<int>::quiet_NaN();
301 std::vector<int> m_3DBhabhaSelectionClusterTCIds;
303 std::vector<int> m_3DBhabhaSelectionClusterThetaIds;
305 std::vector<double> m_3DBhabhaSelectionClusterEnergies;
307 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
bool GetTaub2b2(double)
Taub2b selection (tighter selection than Taub2b)
Abstract base class for different kinds of events.