80 m_gtEnergySumTemplate = eSumTempl;
94 bool condResult =
false;
101 (combinationsInCond()).
clear();
104 objectsInComb.clear();
109 int useBx = bxEval + m_gtEnergySumTemplate->condRelativeBx();
112 if ((useBx < candVec->getFirstBX()) || (useBx > candVec->
getLastBX())) {
117 int numberObjects = candVec->
size(useBx);
118 if (numberObjects < 1) {
123 bool MissingEnergy =
false;
125 switch ((m_gtEnergySumTemplate->objectType())[0]) {
128 MissingEnergy =
true;
132 MissingEnergy =
false;
136 MissingEnergy =
false;
140 MissingEnergy =
true;
144 MissingEnergy =
false;
148 MissingEnergy =
true;
152 MissingEnergy =
false;
156 MissingEnergy =
false;
160 MissingEnergy =
false;
164 MissingEnergy =
false;
168 MissingEnergy =
false;
172 MissingEnergy =
false;
176 MissingEnergy =
false;
180 MissingEnergy =
false;
184 MissingEnergy =
false;
189 MissingEnergy =
false;
194 MissingEnergy =
false;
199 MissingEnergy =
false;
204 MissingEnergy =
false;
209 MissingEnergy =
false;
214 MissingEnergy =
false;
219 MissingEnergy =
false;
224 MissingEnergy =
false;
229 <<
"Unmatched object type from template to EtSumType, (m_gtEnergySumTemplate->objectType())[0] = "
230 << (m_gtEnergySumTemplate->objectType())[0] << std::endl;
236 unsigned int candEt = 0;
237 unsigned int candPhi = 0;
238 bool candOverflow =
false;
239 for (
int iEtSum = 0; iEtSum < numberObjects; ++iEtSum) {
243 candEt = cand.
hwPt();
244 candPhi = cand.
hwPhi();
259 bool condGEqVal = m_gtEnergySumTemplate->condGEq();
262 bool myres = checkBit(candEt, centbit);
265 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed Centrality bit" << std::endl;
271 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkThreshold" << std::endl;
275 if (!condGEqVal && candOverflow)
284 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkRange(phi)" << std::endl;
293 objectsInComb.push_back(indexObj);
294 (combinationsInCond()).
push_back(objectsInComb);
304 m_gtEnergySumTemplate->print(myCout);
unsigned size(int bx) const
CombinationsInCond const & getCombinationsInCond() const
get all the object combinations evaluated to true in the condition
const GlobalBoard * getuGtB() const
get / set the pointer to uGt GlobalBoard
unsigned int etLowThreshold
unsigned int phiWindow1Lower
~EnergySumCondition() override
virtual void print(std::ostream &myCout) const
print condition
std::vector< int > SingleCombInCond
typedefs
void setuGtB(const GlobalBoard *)
set the pointer to uGT GlobalBoard
unsigned int etHighThreshold
Log< level::Error, false > LogError
bool condLastResult() const
get the latest result for the condition
const EnergySumTemplate * gtEnergySumTemplate() const
get / set the pointer to a L1GtCondition
unsigned int phiWindow2Lower
EnergySumCondition & operator=(const EnergySumCondition &)
void print(std::ostream &myCout) const override
print condition
typedef for a single object template
int m_verbosity
verbosity level
int condMaxNumberObjects() const
deadvectors[0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
unsigned int phiWindow1Upper
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
unsigned int phiWindow2Upper
int m_condMaxNumberObjects
EtSumType getType() const
void setGtEnergySumTemplate(const EnergySumTemplate *)
void copy(const EnergySumCondition &cp)
copy function for copy constructor and operator=
const T & at(int bx, unsigned i) const