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 =
true;
156 MissingEnergy =
false;
160 MissingEnergy =
false;
164 MissingEnergy =
false;
168 MissingEnergy =
false;
172 MissingEnergy =
false;
176 MissingEnergy =
false;
180 MissingEnergy =
false;
184 MissingEnergy =
false;
188 MissingEnergy =
false;
193 MissingEnergy =
false;
198 MissingEnergy =
false;
203 MissingEnergy =
false;
208 MissingEnergy =
false;
213 MissingEnergy =
false;
218 MissingEnergy =
false;
223 MissingEnergy =
false;
228 MissingEnergy =
false;
232 MissingEnergy =
false;
236 MissingEnergy =
false;
241 <<
"Unmatched object type from template to EtSumType, (m_gtEnergySumTemplate->objectType())[0] = " 242 << (m_gtEnergySumTemplate->objectType())[0] << std::endl;
248 unsigned int candEt = 0;
249 unsigned int candPhi = 0;
250 bool candOverflow =
false;
251 for (
int iEtSum = 0; iEtSum < numberObjects; ++iEtSum) {
255 candEt =
cand.hwPt();
256 candPhi =
cand.hwPhi();
271 bool condGEqVal = m_gtEnergySumTemplate->condGEq();
274 bool myres = checkBit(candEt, centbit);
277 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed Centrality bit" << std::endl;
285 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkThreshold" << std::endl;
289 if (!condGEqVal && candOverflow)
298 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkRange(phi)" << std::endl;
307 objectsInComb.push_back(indexObj);
308 (combinationsInCond()).
push_back(objectsInComb);
318 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
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=