116 bool condResult =
false;
126 objectsInComb.clear();
134 if( ( useBx < candVec->getFirstBX() ) ||
140 int numberObjects = candVec->
size(useBx);
141 if (numberObjects < 1) {
147 bool MissingEnergy =
false;
152 MissingEnergy =
true;
156 MissingEnergy =
false;
160 MissingEnergy =
false;
164 MissingEnergy =
true;
168 MissingEnergy =
false;
172 MissingEnergy =
true;
176 MissingEnergy =
false;
180 MissingEnergy =
false;
184 MissingEnergy =
false;
188 MissingEnergy =
false;
192 MissingEnergy =
false;
196 MissingEnergy =
false;
200 MissingEnergy =
false;
204 MissingEnergy =
false;
208 MissingEnergy =
false;
213 MissingEnergy =
false;
218 MissingEnergy =
false;
223 MissingEnergy =
false;
228 MissingEnergy =
false;
233 MissingEnergy =
false;
238 MissingEnergy =
false;
243 MissingEnergy =
false;
248 MissingEnergy =
false;
253 <<
"Unmatched object type from template to EtSumType, (m_gtEnergySumTemplate->objectType())[0] = " 262 unsigned int candEt = 0;
263 unsigned int candPhi = 0;
264 bool candOverflow =
false;
265 for(
int iEtSum = 0; iEtSum < numberObjects; ++iEtSum ){
268 candEt = cand.
hwPt();
269 candPhi = cand.
hwPhi();
289 bool myres=
checkBit(candEt,centbit);
292 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed Centrality bit" << std::endl;
298 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkThreshold" << std::endl;
302 if( !condGEqVal && candOverflow )
return false;
309 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkRange(phi)" << std::endl;
318 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