98 m_gtEnergySumTemplate = eSumTempl;
118 bool condResult =
false;
125 (combinationsInCond()).
clear();
128 objectsInComb.clear();
133 int useBx = bxEval + m_gtEnergySumTemplate->condRelativeBx();
135 int numberObjects = candVec->
size(useBx);
136 if (numberObjects < 1) {
141 if( ( useBx < candVec->getFirstBX() ) ||
148 bool MissingEnergy =
false;
149 switch( (m_gtEnergySumTemplate->objectType())[0] ){
152 MissingEnergy =
true;
156 MissingEnergy =
false;
160 MissingEnergy =
true;
164 MissingEnergy =
false;
169 <<
"Unmatched object type from template to EtSumType, (m_gtEnergySumTemplate->objectType())[0] = "
170 << (m_gtEnergySumTemplate->objectType())[0]
178 unsigned int candEt = 0;
179 unsigned int candPhi = 0;
180 bool candOverflow =
false;
181 for(
int iEtSum = 0; iEtSum < numberObjects; ++iEtSum ){
184 candEt = cand.
hwPt();
185 candPhi = cand.
hwPhi();
190 ( *(m_gtEnergySumTemplate->objectParameter()) )[iCondition];
202 bool condGEqVal = m_gtEnergySumTemplate->condGEq();
206 LogDebug(
"l1t|Global") <<
"\t\t l1t::EtSum failed checkThreshold" << std::endl;
210 if( !condGEqVal && candOverflow )
return false;
217 LogDebug(
"l1t|Global") <<
"\t\t l1t::EtSum failed checkRange(phi)" << std::endl;
226 objectsInComb.push_back(indexObj);
227 (combinationsInCond()).push_back(objectsInComb);
239 m_gtEnergySumTemplate->print(myCout);
unsigned size(int bx) const
const GtBoard * getuGtB() const
get / set the pointer to uGt GtBoard
CombinationsInCond const & getCombinationsInCond() const
get all the object combinations evaluated to true in the condition
unsigned int etLowThreshold
const bool evaluateCondition(const int bxEval) const
the core function to check if the condition matches
unsigned int phiWindow1Lower
virtual void print(std::ostream &myCout) const
print condition
std::vector< int > SingleCombInCond
typedefs
unsigned int etHighThreshold
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 clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
virtual ~EnergySumCondition()
typedef for a single object template
void print(std::ostream &myCout) const
print condition
void setuGtB(const GtBoard *)
set the pointer to uGT GtBoard
int m_verbosity
verbosity level
int condMaxNumberObjects() const
unsigned int phiWindow1Upper
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