5#ifndef DECISIONHANDLING_TRIG3VARCOMBOHYPOTOOL_H
6#define DECISIONHANDLING_TRIG3VARCOMBOHYPOTOOL_H
23 const std::string& name,
24 const IInterface* parent);
29 static constexpr float FLOATDEFAULT = std::numeric_limits<float>::lowest();
56 bool test(
float value)
const {
63 using KineInfo = std::tuple<float,float,float>;
68 StatusCode
decide(Combo::LegDecisionsMap& passingLegs,
const EventContext& )
const final;
75 bool fillLegDecisions_diffLeg(std::tuple<Combo::LegDecision,Combo::LegDecision,Combo::LegDecision>& legtrio,
const Combination& combination, uint32_t legA, uint32_t legB, uint32_t legC)
const;
81 Gaudi::Property<std::vector<std::string>>
m_varTag_vec {
this,
"Variables" , {
""},
"Variables to cut on"};
82 Gaudi::Property<std::vector<bool> >
m_useMin_vec {
this,
"UseMinVec" , {
false},
"Array with the apply_min_cut setting"};
83 Gaudi::Property<std::vector<bool> >
m_useMax_vec {
this,
"UseMaxVec" , {
false},
"Array with the apply_max_cut setting"};
86 Gaudi::Property<std::vector<uint32_t>>
m_legA_vec {
this,
"LegAVec" , {0},
"Array with the first Leg ID"};
87 Gaudi::Property<std::vector<uint32_t>>
m_legB_vec {
this,
"LegBVec" , {0},
"Array with the second Leg ID"};
88 Gaudi::Property<std::vector<uint32_t>>
m_legC_vec {
this,
"LegCVec" , {0},
"Array with the third Leg ID"};
89 Gaudi::Property<std::vector< bool >>
m_isLegA_MET_vec {
this,
"IsLegA_METVec", {
false},
"Array with the first Leg MET identifier"};
90 Gaudi::Property<std::vector< bool >>
m_isLegB_MET_vec {
this,
"IsLegB_METVec", {
false},
"Array with the second Leg MET identifier"};
91 Gaudi::Property<std::vector< bool >>
m_isLegC_MET_vec {
this,
"IsLegC_METVec", {
false},
"Array with the third Leg MET identifier"};
94 Gaudi::Property<std::vector<float>>
m_varMin_vec {
this,
"LowerCutVec", {
FLOATDEFAULT},
"Array with the lower cut for legs pair"};
95 Gaudi::Property<std::vector<float>>
m_varMax_vec {
this,
"UpperCutVec", {
FLOATDEFAULT},
"Array with the upper cut for legs pair"};
98 ToolHandleArray<GenericMonitoringTool>
m_monTool_vec {
this,
"MonTools", {},
"Monitoring tools" };
static thread_local std::ostringstream errmsg