30                             const std::vector<TriggerThreshold *> *caloThresholds) {
 
   34   m_version = m_decoder->jetRoIVersion(m_roiWord);
 
   35   m_coordRange = m_decoder->coordinate(m_roiWord);
 
   38     this->constructRun2(caloThresholds);
 
   40     this->constructRun1(caloThresholds);
 
   47   m_version(m_decoder->jetRoIVersion(m_roiWord)),
 
   55    m_roiWord(
obj.m_roiWord),
 
   57    m_version(
obj.m_version),
 
   58    m_coordRange(
obj.m_coordRange),
 
   59    m_triggerThresholdValue(
obj.m_triggerThresholdValue),
 
   60    m_windowSize(
obj.m_windowSize)
 
   93    m_thresholdMask = m_roiWord & 0xfff;
 
   96    if (this->isForwardJet())
 
  105    std::map<unsigned int, TriggerThreshold *> thrMap;
 
  106    for (std::vector<TriggerThreshold *>::const_iterator 
it =
 
  107             caloThresholds->begin();
 
  108         it != caloThresholds->end(); ++
it)
 
  110       if ((*it)->type() == jetTriggerType)
 
  112          unsigned int num = 
static_cast<unsigned int>((*it)->thresholdNumber());
 
  113          thrMap.insert(std::map<unsigned int, TriggerThreshold *>::value_type(
num, (*
it)));
 
  120    const vector<unsigned int> passed_thresholds =
 
  121        (this->isForwardJet() ? m_decoder->fwdThresholdsPassed(m_roiWord)
 
  122                              : m_decoder->thresholdsPassed(m_roiWord));
 
  124    int iphi = 
int((m_coordRange.phiRange().min() + 0.025) * 32 / 
M_PI);
 
  126        int((this->
eta() + ((this->
eta() > 0.01) ? 0.025 : -0.025)) / 0.1) - 1;
 
  131    for (vector<unsigned int>::const_iterator 
itp = passed_thresholds.begin();
 
  132         itp != passed_thresholds.end(); ++
itp)
 
  134       std::map<unsigned int, TriggerThreshold *>::const_iterator 
thr =
 
  135           thrMap.find(*
itp - 1);
 
  136       if (
thr != thrMap.end())
 
  139              thr->second->triggerThresholdValue(ieta, iphi);
 
  143             m_triggerThresholdValue.insert(std::map<unsigned int, unsigned int>::value_type(
 
  146                 std::map<unsigned int, unsigned int>::value_type(*
itp, jtv->
window()));
 
  160   m_triggerThresholdValue.clear();
 
  161   m_windowSize.clear();
 
  164       int((this->
eta() + ((this->
eta() > 0.01) ? 0.025 : -0.025)) / 0.1) - 1;
 
  168   int iphi = 
int((m_coordRange.phiRange().min() + 0.025) * 32 / 
M_PI);
 
  172   for (std::vector<TriggerThreshold *>::const_iterator 
it =
 
  173            caloThresholds->begin();
 
  174        it != caloThresholds->end(); ++
it) {
 
  182         unsigned int etCut = jtv->
ptcut();
 
  188           unsigned int num = 
static_cast<unsigned int>((*it)->thresholdNumber());
 
  189           m_triggerThresholdValue.insert(
 
  190               std::map<unsigned int, unsigned int>::value_type(
num, etCut));
 
  192               std::map<unsigned int, unsigned int>::value_type(
num, window));
 
  193           m_thresholdMask |= (1 << 
num);
 
  203    int ieta = 
int((this->
eta() + ((this->
eta() > 0.01) ? 0.025 : -0.025)) / 0.1) - 1;
 
  211    for (
const shared_ptr<TrigConf::L1Threshold> &
thr : 
l1menu->thresholds(
"JET"))
 
  222       unsigned int etCut = 
std::round(jetThr->thrValue(ieta)); 
 
  223       unsigned int etCounts = jetThr->thrValueCounts(ieta);    
 
  226       bool eTPassed = (roiET > etCounts);
 
  230          const unsigned int num = 
thr->mapping();
 
  231          m_triggerThresholdValue[
num] = etCut;
 
  232          m_windowSize[
num] = window;
 
  233          m_thresholdMask |= (1 << 
num);
 
  245   double roiPhi = m_coordRange.phi();
 
  266   unsigned int row = m_decoder->row(m_roiWord);
 
  267   unsigned int col = m_decoder->column(m_roiWord);
 
  268   return ((col & 2) << 1) + (
row >> 1);
 
  274   unsigned int row = m_decoder->row(m_roiWord);
 
  275   unsigned int col = m_decoder->column(m_roiWord);
 
  276   return (col & 1) + ((
row & 1) << 1);
 
  284     return m_decoder->etLarge(m_roiWord);
 
  287     std::map<unsigned int, unsigned int>::const_iterator 
it =
 
  288         m_triggerThresholdValue.begin();
 
  289     for (; 
it != m_triggerThresholdValue.end(); ++
it)
 
  290       if (
it->second > highest)
 
  291         highest = 
it->second;
 
  301     return m_decoder->etSmall(m_roiWord);
 
  304     std::map<unsigned int, unsigned int>::const_iterator 
it =
 
  305         m_triggerThresholdValue.begin();
 
  306     for (; 
it != m_triggerThresholdValue.end(); ++
it)
 
  307       if (
it->second > highest)
 
  308         highest = 
it->second;
 
  324   std::map<unsigned int, unsigned int>::const_iterator 
it =
 
  325       m_triggerThresholdValue.find(thresholdNumber);
 
  326   if (
it != m_triggerThresholdValue.end())
 
  338   if ((m_version < 2) && this->isValidThreshold(thresholdNumber)) {
 
  339     return (((1 << (thresholdNumber + 7)) & m_roiWord) > 0);
 
  351 std::vector<unsigned int>
 
  354   std::vector<unsigned int> newVec;
 
  357   if (m_version == 1) {
 
  358     if (this->isForwardJet())
 
  364   for (
unsigned int iTh = 0; iTh <= nThresh; ++iTh) {
 
  365     std::map<unsigned int, unsigned int>::const_iterator 
it =
 
  366         m_triggerThresholdValue.find(iTh);
 
  367     if (
it != m_triggerThresholdValue.end())
 
  368       newVec.push_back(iTh);
 
  380   map<unsigned int, unsigned int>::const_iterator 
it =
 
  381       m_triggerThresholdValue.find(
thresh);
 
  382   if (
it != m_triggerThresholdValue.end()) {
 
  391   map<unsigned int, unsigned int>::const_iterator 
it = m_windowSize.find(
thresh);
 
  392   if (
it != m_windowSize.end()) {
 
  402   if (!this->isForwardJet()) {
 
  415   if (m_version <= 1 && ((1 << 18) & m_roiWord))