86 StatusCode
sc(StatusCode::SUCCESS);
97 sc = StatusCode::FAILURE;
109 sc = StatusCode::FAILURE;
115 sc = StatusCode::FAILURE;
121 sc = StatusCode::FAILURE;
127 sc = StatusCode::FAILURE;
133 sc = StatusCode::FAILURE;
139 sc = StatusCode::FAILURE;
141 if (
sc == StatusCode::FAILURE) {
143 "Exceeded the number of allowed cuts in TForwardElectronIsEMSelector");
153 for (
int i = 0; i < 7; i++) {
154 const unsigned int mask = (0x1 << i) &
m_isEMMask;
181 unsigned int iflag)
const
186 int ibin_nvtx =
bins.at(0);
187 int ibin_eta =
bins.at(1);
188 int ibin_combined =
bins.at(2);
197 if (ibin_eta >= 0 && ibin_nvtx >= 0 && ibin_combined >= 0) {
213 << secondLambda <<
" > "
232 << longitudinal <<
" > "
250 << centerLambda <<
" > "
270 ibin_nvtx = ibinNVTX;
275 ibin_nvtx = ibinNVTX;
279 ibin_nvtx = ibinNVTX;
305 int ibin_combined = -1;
307 ibin_combined = ibin_nvtx * ibin_eta - 1;
308 }
else if (ibin_eta == 1) {
309 ibin_combined = 2 * (ibin_nvtx * ibin_eta - 1);
315 std::vector<int>
bins{ ibin_nvtx, ibin_eta, ibin_combined };
339 unsigned int etaTRTNB = 1;
342 unsigned int combinedNB = 0;
343 unsigned int combinedTRTNB = 0;
347 combinedNB = (etaNB - 1) * (etNB - 1);
352 combinedTRTNB = etaTRTNB;
356 if (
vec.size() != 1) {
364 if (
vec.size() != etaNB) {
372 if (
vec.size() != etaTRTNB) {
381 if (
vec.size() != etNB) {
390 if (
vec.size() != combinedNB) {
399 if (
vec.size() != combinedTRTNB) {
410 const std::vector<float>&
vec,
Scalar eta() const
pseudorapidity method
std::vector< size_t > vec
static const std::vector< std::string > bins
int m_cutPositionLONGITUDINAL_ForwardElectron
const std::string m_cutNameSECONDLAMBDA_ForwardElectron
asg::AcceptData fillAccept(unsigned int isEM) const
std::vector< float > m_cutLONGITUDINAL_ForwardElectron
cut on longitudinal
std::vector< float > m_cutCELLMAXFRAC_ForwardElectron
cut on maxFrac
unsigned int calocuts_electrons(float eta, float nvtx, float secondLambda, float lateral, float longitudinal, float fracMax, float centerLambda, float secondR, unsigned int iflag) const
int m_cutPositionCENTERLAMBDA_ForwardElectron
bool checkVar(const std::vector< T > &vec, int choice) const
TForwardElectronIsEMSelector(const char *name="TForwardElectronIsEMSelector")
Standard constructor.
std::vector< float > m_cutLATERAL_ForwardElectron
cut on lateral
std::vector< float > m_cutCENTERLAMBDA_ForwardElectron
cut on centerlambda
std::vector< float > m_cutBinEta_ForwardElectron
range of eta bins for e-ID
const std::string m_cutNameLATERAL_ForwardElectron
unsigned int m_isEMMask
which subset of cuts to apply
std::vector< int > findNvtxEtaBin(float nvtx, double eta) const
std::vector< float > m_cutSECONDR_ForwardElectron
cut values for cut on secondR
const std::string m_cutNameSECONDR_ForwardElectron
const std::string m_cutNameLONGITUDINAL_ForwardElectron
StatusCode initialize()
Initialize this class.
std::vector< float > m_cutSECONDLAMBDA_ForwardElectron
cut on secondlambda
int m_cutPositionCELLMAXFRAC_ForwardElectron
~TForwardElectronIsEMSelector()
Standard destructor.
int m_cutPositionBinEta_ForwardElectron
cluster eta range
int m_cutPositionSECONDR_ForwardElectron
std::vector< float > m_cutVxp_ForwardElectron
range of NPV bins for e-ID
const std::string m_cutNameBinEta_ForwardElectron
asg::AcceptInfo m_acceptInfo
Accept info.
int m_cutPositionSECONDLAMBDA_ForwardElectron
int m_cutPositionLATERAL_ForwardElectron
const std::string m_cutNameCELLMAXFRAC_ForwardElectron
const std::string m_cutNameCENTERLAMBDA_ForwardElectron
void setCutResult(const std::string &cutName, bool cutResult)
Set the result of a cut, based on the cut name (safer)
AsgMessaging(const std::string &name)
Constructor with a name.
@ LONGITUDINAL_ForwardElectron
Longitudinal shape moment.
@ CENTERLAMBDA_ForwardElectron
center lambda shape moment
@ SECONDR_ForwardElectron
secondR shape moment
@ CELLMAXFRAC_ForwardElectron
cell max frac shape moment
@ LATERAL_ForwardElectron
lateral shape moment
@ SECONDLAMBDA_ForwardElectron
second lambda shape moment
@ BinEta_ForwardElectron
cluster eta range