94 bool condResult =
false;
104 objectsInComb.clear();
112 if ((useBx < candVec->getFirstBX()) || (useBx > candVec->
getLastBX())) {
117 int numberObjects = candVec->
size(useBx);
118 if (numberObjects < 1) {
123 bool MissingEnergy =
false;
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] = " 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();
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);
void print(std::ostream &myCout) const override
print condition
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
const GlobalBoard * m_uGtB
pointer to uGt GlobalBoard, to be able to get the trigger objects
unsigned int etLowThreshold
unsigned int phiWindow1Lower
~EnergySumCondition() override
virtual void print(std::ostream &myCout) const
print condition
std::vector< int > SingleCombInCond
typedefs
const bool condGEq() const
get / set condition GEq flag
void setuGtB(const GlobalBoard *)
set the pointer to uGT GlobalBoard
unsigned int etHighThreshold
const bool checkThreshold(const Type1 &thresholdL, const Type1 &thresholdH, const Type2 &value, bool condGEqValue) const
const std::vector< ObjectParameter > * objectParameter() const
bool condLastResult() const
get the latest result for the condition
const EnergySumTemplate * gtEnergySumTemplate() const
get / set the pointer to a L1GtCondition
const int & condRelativeBx() const
get / set the condition relative bx
unsigned int phiWindow2Lower
const EnergySumTemplate * m_gtEnergySumTemplate
pointer to a EnergySumTemplate
EnergySumCondition & operator=(const EnergySumCondition &)
const std::vector< l1t::GlobalObject > & objectType() const
get / set the trigger object type(s) in the condition
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
const BXVector< const l1t::EtSum * > * getCandL1EtSum() const
pointer to Tau data list
const bool checkBit(const Type1 &mask, const unsigned int bitNumber) const
check if a bit with a given number is set in a mask
typedef for a single object template
CombinationsInCond m_combinationsInCond
store all the object combinations evaluated to true in the condition
void print(std::ostream &myCout) const override
print the condition
int m_verbosity
verbosity level
int condMaxNumberObjects() const
bool m_condLastResult
the last result of evaluateCondition()
unsigned int phiWindow1Upper
unsigned int phiWindow2Upper
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
int m_condMaxNumberObjects
EtSumType getType() const
CombinationsInCond & combinationsInCond() const
get all the object combinations (to fill it...)
void setGtEnergySumTemplate(const EnergySumTemplate *)
const bool checkRangePhi(const unsigned int bitNumber, const Type1 &W1beginR, const Type1 &W1endR, const Type1 &W2beginR, const Type1 &W2endR) const
check if a value is in a given range and outside of a veto range
void copy(const EnergySumCondition &cp)
copy function for copy constructor and operator=
const T & at(int bx, unsigned i) const