33 const int nrL1MuShower)
42 m_gtMuonShowerTemplate =
cp.gtMuonShowerTemplate();
45 m_condMaxNumberObjects =
cp.condMaxNumberObjects();
46 m_condLastResult =
cp.condLastResult();
47 m_combinationsInCond =
cp.getCombinationsInCond();
49 m_verbosity =
cp.m_verbosity;
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()
160 <<
"\n\t MuonShowerOutOfTime0 = 0x " <<
cand.musOutOfTime0()
161 <<
"\n\t MuonShowerOutOfTime1 = 0x " <<
cand.musOutOfTime1() <<
std::dec << std::endl;
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 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 copy(const MuonShowerCondition &cp)
copy function for copy constructor and operator=
std::vector< int > SingleCombInCond
typedefs
unsigned size(int bx) const
const bool evaluateCondition(const int bxEval) const override
the core function to check if the condition matches
void setGtMuonShowerTemplate(const MuonShowerTemplate *)
MuonShowerCondition & operator=(const MuonShowerCondition &)
virtual void print(std::ostream &myCout) const
print condition
deadvectors [0] push_back({0.0175431, 0.538005, 6.80997, 13.29})
~MuonShowerCondition() override
void clear(HadCaloObj &c)
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
const l1t::MuonShower * getCandidate(const int bx, const int indexCand) const
load muon candidates