33 const int nrL1MuShower)
67 m_gtMuonShowerTemplate = muonTempl;
76 int nObjInCond = m_gtMuonShowerTemplate->nrObjects();
82 int useBx = bxEval + m_gtMuonShowerTemplate->condRelativeBx();
85 if ((useBx < candVec->getFirstBX()) || (useBx > candVec->
getLastBX())) {
92 objectsInComb.reserve(nObjInCond);
95 (combinationsInCond()).
clear();
98 objectsInComb.clear();
101 int numberObjects = candVec->
size(useBx);
102 if (numberObjects < 1) {
106 std::vector<int>
index(numberObjects);
108 for (
int i = 0;
i < numberObjects; ++
i) {
112 bool condResult =
false;
117 objectsInComb.push_back(indexObj);
118 (combinationsInCond()).
push_back(objectsInComb);
129 return (m_gtGTL->getCandL1MuShower())->at(bx, indexCand);
143 const unsigned int index)
const {
145 int nObjInCond = m_gtMuonShowerTemplate->nrObjects();
147 if (iCondition >= nObjInCond || iCondition < 0) {
153 LogDebug(
"L1TGlobal") <<
"\n MuonShowerTemplate::ObjectParameter : " << std::hex <<
"\n\t MuonShower0 = 0x "
158 LogDebug(
"L1TGlobal") <<
"\n l1t::MuonShower : "
159 <<
"\n\t MuonShower0 = 0x " << cand.
mus0() <<
"\n\t MuonShower1 = 0x " << cand.
mus1()
165 LogDebug(
"L1TGlobal") <<
"\t\t MuonShower failed MuonShower0 requirement" << std::endl;
169 LogDebug(
"L1TGlobal") <<
"\t\t MuonShower failed MuonShower1 requirement" << std::endl;
173 LogDebug(
"L1TGlobal") <<
"\t\t MuonShower failed MuonShowerOutOfTime0 requirement" << std::endl;
177 LogDebug(
"L1TGlobal") <<
"\t\t MuonShower failed MuonShowerOutOfTime1 requirement" << std::endl;
185 m_gtMuonShowerTemplate->print(myCout);
const GlobalBoard * gtGTL() const
get / set the pointer to GTL
unsigned size(int bx) const
CombinationsInCond const & getCombinationsInCond() const
get all the object combinations evaluated to true in the condition
void copy(const MuonShowerCondition &cp)
copy function for copy constructor and operator=
virtual void print(std::ostream &myCout) const
print condition
std::vector< int > SingleCombInCond
typedefs
bool musOutOfTime0() const
bool condLastResult() const
get the latest result for the condition
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
const bool checkObjectParameter(const int iCondition, const l1t::MuonShower &cand, const unsigned int index) const
function to check a single object if it matches a condition
void setGtMuonShowerTemplate(const MuonShowerTemplate *)
MuonShowerCondition & operator=(const MuonShowerCondition &)
bool musOutOfTime1() const
const MuonShowerTemplate * gtMuonShowerTemplate() const
get / set the pointer to a Condition
const l1t::MuonShower * getCandidate(const int bx, const int indexCand) const
load muon candidates
int m_verbosity
verbosity level
int condMaxNumberObjects() const
deadvectors[0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
~MuonShowerCondition() override
int m_condMaxNumberObjects
void print(std::ostream &myCout) const override
print condition
bool MuonShowerOutOfTime0
bool MuonShowerOutOfTime1
void setGtGTL(const GlobalBoard *)
set the pointer to GTL