55 m_gtEnergySumTemplate =
cp.gtEnergySumTemplate();
56 m_uGtB =
cp.getuGtB();
58 m_condMaxNumberObjects =
cp.condMaxNumberObjects();
59 m_condLastResult =
cp.condLastResult();
60 m_combinationsInCond =
cp.getCombinationsInCond();
62 m_verbosity =
cp.m_verbosity;
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 int etLowThreshold
unsigned int phiWindow1Lower
~EnergySumCondition() override
std::vector< int > SingleCombInCond
typedefs
void setuGtB(const GlobalBoard *)
set the pointer to uGT GlobalBoard
unsigned int etHighThreshold
Log< level::Error, false > LogError
unsigned size(int bx) const
unsigned int phiWindow2Lower
EnergySumCondition & operator=(const EnergySumCondition &)
void print(std::ostream &myCout) const override
print condition
typedef for a single object template
const T & at(int bx, unsigned i) const
virtual void print(std::ostream &myCout) const
print condition
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
unsigned int phiWindow1Upper
void clear(HadCaloObj &c)
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
unsigned int phiWindow2Upper
int m_condMaxNumberObjects
void setGtEnergySumTemplate(const EnergySumTemplate *)
void copy(const EnergySumCondition &cp)
copy function for copy constructor and operator=