96 m_gtEnergySumTemplate = eSumTempl;
116 bool condResult =
false;
123 (combinationsInCond()).
clear();
126 objectsInComb.clear();
131 int useBx = bxEval + m_gtEnergySumTemplate->condRelativeBx();
133 int numberObjects = candVec->
size(useBx);
134 if (numberObjects < 1) {
139 if( ( useBx < candVec->getFirstBX() ) ||
146 bool MissingEnergy =
false;
147 switch( (m_gtEnergySumTemplate->objectType())[0] ){
150 MissingEnergy =
true;
154 MissingEnergy =
false;
158 MissingEnergy =
true;
162 MissingEnergy =
false;
166 MissingEnergy =
true;
170 MissingEnergy =
false;
175 <<
"Unmatched object type from template to EtSumType, (m_gtEnergySumTemplate->objectType())[0] = "
176 << (m_gtEnergySumTemplate->objectType())[0]
184 unsigned int candEt = 0;
185 unsigned int candPhi = 0;
186 bool candOverflow =
false;
187 for(
int iEtSum = 0; iEtSum < numberObjects; ++iEtSum ){
190 candEt = cand.
hwPt();
191 candPhi = cand.
hwPhi();
196 ( *(m_gtEnergySumTemplate->objectParameter()) )[iCondition];
208 bool condGEqVal = m_gtEnergySumTemplate->condGEq();
212 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkThreshold" << std::endl;
216 if( !condGEqVal && candOverflow )
return false;
223 LogDebug(
"L1TGlobal") <<
"\t\t l1t::EtSum failed checkRange(phi)" << std::endl;
232 objectsInComb.push_back(indexObj);
233 (combinationsInCond()).push_back(objectsInComb);
245 m_gtEnergySumTemplate->print(myCout);
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
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
void setuGtB(const GlobalBoard *)
set the pointer to uGT GlobalBoard
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
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