CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
l1t::GlobalBoard Class Reference

#include <GlobalBoard.h>

Classes

struct  PrescaleCounter
 

Public Member Functions

void fillAlgRecord (int iBxInEvent, std::unique_ptr< GlobalAlgBlkBxCollection > &uGtAlgRecord, int prescaleSet, int menuUUID, int firmwareUUID)
 Fill the Daq Records. More...
 
const std::bitset< GlobalAlgBlk::maxPhysicsTriggers > & getAlgorithmOR () const
 return algorithm OR decision More...
 
const BXVector< const l1t::L1Candidate * > * getCandL1EG () const
 pointer to EG data list More...
 
const BXVector< const l1t::EtSum * > * getCandL1EtSum () const
 pointer to Tau data list More...
 
const BXVector< const GlobalExtBlk * > * getCandL1External () const
 pointer to Tau data list More...
 
const BXVector< const l1t::L1Candidate * > * getCandL1Jet () const
 pointer to Jet data list More...
 
const BXVector< const l1t::Muon * > * getCandL1Mu () const
 return global muon trigger candidate More...
 
const BXVector< const l1t::MuonShower * > * getCandL1MuShower () const
 return global muon trigger candidate More...
 
const BXVector< const l1t::L1Candidate * > * getCandL1Tau () const
 pointer to Tau data list More...
 
const std::bitset< GlobalAlgBlk::maxPhysicsTriggers > & getDecisionWord () const
 return decision More...
 
 GlobalBoard ()
 
void init (const int numberPhysTriggers, const int nrL1Mu, const int nrL1MuShower, const int nrL1EG, const int nrL1Tau, const int nrL1Jet, int bxFirst, int bxLast)
 initialize the class (mainly reserve) More...
 
void printGmtData (const int iBxInEvent) const
 print received Muon dataWord More...
 
void receiveCaloObjectData (const edm::Event &, const edm::EDGetTokenT< BXVector< l1t::EGamma >> &, const edm::EDGetTokenT< BXVector< l1t::Tau >> &, const edm::EDGetTokenT< BXVector< l1t::Jet >> &, const edm::EDGetTokenT< BXVector< l1t::EtSum >> &, const bool receiveEG, const int nrL1EG, const bool receiveTau, const int nrL1Tau, const bool receiveJet, const int nrL1Jet, const bool receiveEtSums)
 receive data from Global Muon Trigger More...
 
void receiveExternalData (const edm::Event &, const edm::EDGetTokenT< BXVector< GlobalExtBlk >> &, const bool receiveExt)
 
void receiveMuonObjectData (const edm::Event &, const edm::EDGetTokenT< BXVector< l1t::Muon >> &, const bool receiveMu, const int nrL1Mu)
 
void receiveMuonShowerObjectData (const edm::Event &, const edm::EDGetTokenT< BXVector< l1t::MuonShower >> &, const bool receiveMuShower, const int nrL1MuShower)
 
void reset ()
 clear uGT More...
 
void resetCalo ()
 
void resetExternal ()
 
void resetMu ()
 
void resetMuonShower ()
 
void runFDL (const edm::Event &iEvent, const int iBxInEvent, const int totalBxInEvent, const unsigned int numberPhysTriggers, const std::vector< double > &prescaleFactorsAlgoTrig, const std::vector< unsigned int > &triggerMaskAlgoTrig, const std::vector< int > &triggerMaskVetoAlgoTrig, const bool algorithmTriggersUnprescaled, const bool algorithmTriggersUnmasked)
 run the uGT FDL (Apply Prescales and Veto) More...
 
void runGTL (const edm::Event &iEvent, const edm::EventSetup &evSetup, const TriggerMenu *m_l1GtMenu, const bool produceL1GtObjectMapRecord, const int iBxInEvent, std::unique_ptr< GlobalObjectMapRecord > &gtObjectMapRecord, const unsigned int numberPhysTriggers, const int nrL1Mu, const int nrL1MuShower, const int nrL1EG, const int nrL1Tau, const int nrL1Jet)
 run the uGT GTL (Conditions and Algorithms) More...
 
void setBxFirst (int bx)
 
void setBxLast (int bx)
 
void setResetPSCountersEachLumiSec (bool val)
 
void setSemiRandomInitialPSCounters (bool val)
 
void setVerbosity (const int verbosity)
 
virtual ~GlobalBoard ()
 

Static Private Member Functions

static std::vector< PrescaleCounterprescaleCounters (std::vector< double > const &prescaleFactorsAlgoTrig)
 
static std::vector< PrescaleCounterprescaleCountersWithSemirandomInitialCounter (std::vector< double > const &prescaleFactorsAlgoTrig, edm::Event const &iEvent)
 

Private Attributes

bool m_algFinalOr
 
bool m_algFinalOrVeto
 
bool m_algInitialOr
 
bool m_algIntermOr
 
bool m_algPrescaledOr
 
unsigned int m_boardEventCount
 
int m_bxFirst_
 
int m_bxLast_
 
BXVector< const l1t::L1Candidate * > * m_candL1EG
 
BXVector< const l1t::EtSum * > * m_candL1EtSum
 
BXVector< const GlobalExtBlk * > * m_candL1External
 
BXVector< const l1t::L1Candidate * > * m_candL1Jet
 
BXVector< const l1t::Muon * > * m_candL1Mu
 
BXVector< const l1t::MuonShower * > * m_candL1MuShower
 
BXVector< const l1t::L1Candidate * > * m_candL1Tau
 
std::vector< AlgorithmEvaluation::ConditionEvaluationMapm_conditionResultMaps
 
unsigned int m_currentLumi
 
std::bitset< GlobalAlgBlk::maxPhysicsTriggersm_gtlAlgorithmOR
 
std::bitset< GlobalAlgBlk::maxPhysicsTriggersm_gtlDecisionWord
 
bool m_isDebugEnabled
 
const L1CaloGeometrym_l1CaloGeometry
 
unsigned long long m_l1CaloGeometryCacheID
 
const TriggerMenum_l1GtMenu
 
unsigned long long m_l1GtMenuCacheID
 
const L1MuTriggerScalesm_l1MuTriggerScales
 
unsigned long long m_l1MuTriggerScalesCacheID
 
std::vector< std::vector< PrescaleCounter > > m_prescaleCounterAlgoTrig
 
bool m_resetPSCountersEachLumiSec = true
 
bool m_semiRandomInitialPSCounters = false
 
GlobalAlgBlk m_uGtAlgBlk
 
int m_uGtBoardNumber
 
bool m_uGtFinalBoard
 
int m_verbosity
 verbosity level More...
 

Static Private Attributes

static constexpr size_t m_singlestep = 100
 

Detailed Description

Definition at line 56 of file GlobalBoard.h.

Constructor & Destructor Documentation

◆ GlobalBoard()

GlobalBoard::GlobalBoard ( )

Definition at line 58 of file GlobalBoard.cc.

References m_boardEventCount, m_gtlAlgorithmOR, m_gtlDecisionWord, m_l1CaloGeometryCacheID, m_l1GtMenuCacheID, m_l1MuTriggerScalesCacheID, m_prescaleCounterAlgoTrig, m_uGtAlgBlk, m_uGtBoardNumber, m_uGtFinalBoard, and GlobalAlgBlk::reset().

66  m_currentLumi(0),
69 
70  m_gtlAlgorithmOR.reset();
71  m_gtlDecisionWord.reset();
72 
74 
75  // initialize cached IDs
76  m_l1GtMenuCacheID = 0ULL;
79 
80  // Counter for number of events board sees
82 
83  // Need to expand use with more than one uGt GlobalBoard for now assume 1
84  m_uGtBoardNumber = 0;
85  m_uGtFinalBoard = true;
86 }
bool isDebugEnabled()
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225
unsigned long long m_l1MuTriggerScalesCacheID
Definition: GlobalBoard.h:217
unsigned int m_currentLumi
Definition: GlobalBoard.h:247
unsigned long long m_l1GtMenuCacheID
Definition: GlobalBoard.h:210
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlDecisionWord
Definition: GlobalBoard.h:240
unsigned int m_boardEventCount
Definition: GlobalBoard.h:262
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228
void reset()
reset the content of a GlobalAlgBlk
BXVector< const l1t::MuonShower * > * m_candL1MuShower
Definition: GlobalBoard.h:224
unsigned long long m_l1CaloGeometryCacheID
Definition: GlobalBoard.h:214
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GlobalBoard.h:227
std::vector< std::vector< PrescaleCounter > > m_prescaleCounterAlgoTrig
Definition: GlobalBoard.h:298
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
BXVector< const GlobalExtBlk * > * m_candL1External
Definition: GlobalBoard.h:229
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlAlgorithmOR
Definition: GlobalBoard.h:239
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GlobalBoard.h:226

◆ ~GlobalBoard()

GlobalBoard::~GlobalBoard ( )
virtual

Definition at line 89 of file GlobalBoard.cc.

89  {
90  //reset(); //why would we need a reset?
91  delete m_candL1Mu;
92  delete m_candL1MuShower;
93  delete m_candL1EG;
94  delete m_candL1Tau;
95  delete m_candL1Jet;
96  delete m_candL1EtSum;
97  delete m_candL1External;
98 
99  // delete m_gtEtaPhiConversions;
100 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228
BXVector< const l1t::MuonShower * > * m_candL1MuShower
Definition: GlobalBoard.h:224
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GlobalBoard.h:227
BXVector< const GlobalExtBlk * > * m_candL1External
Definition: GlobalBoard.h:229
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GlobalBoard.h:226

Member Function Documentation

◆ fillAlgRecord()

void GlobalBoard::fillAlgRecord ( int  iBxInEvent,
std::unique_ptr< GlobalAlgBlkBxCollection > &  uGtAlgRecord,
int  prescaleSet,
int  menuUUID,
int  firmwareUUID 
)

Fill the Daq Records.

Definition at line 1056 of file GlobalBoard.cc.

References LogDebug.

1060  {
1061  if (m_verbosity) {
1062  LogDebug("L1TGlobal") << "\n**** GlobalBoard fill DAQ Records for bx= " << iBxInEvent;
1063  }
1064 
1065  // Set header information
1066  m_uGtAlgBlk.setbxInEventNr((iBxInEvent & 0xF));
1067  m_uGtAlgBlk.setPreScColumn(prescaleSet);
1068  m_uGtAlgBlk.setL1MenuUUID(menuUUID);
1069  m_uGtAlgBlk.setL1FirmwareUUID(firmwareUUID);
1070 
1074 
1075  uGtAlgRecord->push_back(iBxInEvent, m_uGtAlgBlk);
1076 }
void setL1MenuUUID(int uuid)
set simple members
Definition: GlobalAlgBlk.h:55
void setFinalORPreVeto(bool fOR)
Definition: GlobalAlgBlk.h:59
void setbxInEventNr(int bxNr)
Definition: GlobalAlgBlk.h:57
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
void setFinalOR(bool fOR)
Definition: GlobalAlgBlk.h:60
void setFinalORVeto(bool fOR)
Definition: GlobalAlgBlk.h:58
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
void setL1FirmwareUUID(int fuuid)
Definition: GlobalAlgBlk.h:56
void setPreScColumn(int psC)
Definition: GlobalAlgBlk.h:61
#define LogDebug(id)

◆ getAlgorithmOR()

const std::bitset<GlobalAlgBlk::maxPhysicsTriggers>& l1t::GlobalBoard::getAlgorithmOR ( ) const
inline

return algorithm OR decision

Definition at line 147 of file GlobalBoard.h.

References m_gtlAlgorithmOR.

147 { return m_gtlAlgorithmOR; }
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlAlgorithmOR
Definition: GlobalBoard.h:239

◆ getCandL1EG()

const BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::getCandL1EG ( ) const
inline

pointer to EG data list

Definition at line 156 of file GlobalBoard.h.

References m_candL1EG.

156 { return m_candL1EG; }
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225

◆ getCandL1EtSum()

const BXVector<const l1t::EtSum*>* l1t::GlobalBoard::getCandL1EtSum ( ) const
inline

pointer to Tau data list

Definition at line 165 of file GlobalBoard.h.

References m_candL1EtSum.

165 { return m_candL1EtSum; }
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228

◆ getCandL1External()

const BXVector<const GlobalExtBlk*>* l1t::GlobalBoard::getCandL1External ( ) const
inline

pointer to Tau data list

Definition at line 168 of file GlobalBoard.h.

References m_candL1External.

168 { return m_candL1External; }
BXVector< const GlobalExtBlk * > * m_candL1External
Definition: GlobalBoard.h:229

◆ getCandL1Jet()

const BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::getCandL1Jet ( ) const
inline

pointer to Jet data list

Definition at line 159 of file GlobalBoard.h.

References m_candL1Jet.

159 { return m_candL1Jet; }
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GlobalBoard.h:227

◆ getCandL1Mu()

const BXVector<const l1t::Muon*>* l1t::GlobalBoard::getCandL1Mu ( ) const
inline

return global muon trigger candidate

Definition at line 150 of file GlobalBoard.h.

References m_candL1Mu.

150 { return m_candL1Mu; }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223

◆ getCandL1MuShower()

const BXVector<const l1t::MuonShower*>* l1t::GlobalBoard::getCandL1MuShower ( ) const
inline

return global muon trigger candidate

Definition at line 153 of file GlobalBoard.h.

References m_candL1MuShower.

153 { return m_candL1MuShower; }
BXVector< const l1t::MuonShower * > * m_candL1MuShower
Definition: GlobalBoard.h:224

◆ getCandL1Tau()

const BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::getCandL1Tau ( ) const
inline

pointer to Tau data list

Definition at line 162 of file GlobalBoard.h.

References m_candL1Tau.

162 { return m_candL1Tau; }
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GlobalBoard.h:226

◆ getDecisionWord()

const std::bitset<GlobalAlgBlk::maxPhysicsTriggers>& l1t::GlobalBoard::getDecisionWord ( ) const
inline

return decision

Definition at line 144 of file GlobalBoard.h.

References m_gtlDecisionWord.

144 { return m_gtlDecisionWord; }
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlDecisionWord
Definition: GlobalBoard.h:240

◆ init()

void GlobalBoard::init ( const int  numberPhysTriggers,
const int  nrL1Mu,
const int  nrL1MuShower,
const int  nrL1EG,
const int  nrL1Tau,
const int  nrL1Jet,
int  bxFirst,
int  bxLast 
)

initialize the class (mainly reserve)

Definition at line 107 of file GlobalBoard.cc.

References simCaloStage2Layer1Digis_cfi::bxFirst, simCaloStage2Layer1Digis_cfi::bxLast, and LogDebug.

114  {
116  setBxLast(bxLast);
117 
125 
126  m_uGtAlgBlk.reset();
127 
128  LogDebug("L1TGlobal") << "\t Initializing Board with bxFirst = " << m_bxFirst_ << ", bxLast = " << m_bxLast_;
129 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225
void setBxLast(int bx)
Definition: GlobalBoard.cc:105
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228
void reset()
reset the content of a GlobalAlgBlk
BXVector< const l1t::MuonShower * > * m_candL1MuShower
Definition: GlobalBoard.h:224
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GlobalBoard.h:227
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
BXVector< const GlobalExtBlk * > * m_candL1External
Definition: GlobalBoard.h:229
void setBxFirst(int bx)
Definition: GlobalBoard.cc:103
void setBXRange(int bxFirst, int bxLast)
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GlobalBoard.h:226
#define LogDebug(id)

◆ prescaleCounters()

std::vector< l1t::GlobalBoard::PrescaleCounter > GlobalBoard::prescaleCounters ( std::vector< double > const &  prescaleFactorsAlgoTrig)
staticprivate

Definition at line 1130 of file GlobalBoard.cc.

References MillePedeFileConverter_cfg::out.

1131  {
1132  std::vector<PrescaleCounter> out;
1133  out.reserve(prescaleFactorsAlgoTrig.size());
1134  for (size_t iAlgo = 0; iAlgo < prescaleFactorsAlgoTrig.size(); ++iAlgo) {
1135  out.emplace_back(prescaleFactorsAlgoTrig[iAlgo]);
1136  }
1137  return out;
1138 }

◆ prescaleCountersWithSemirandomInitialCounter()

std::vector< l1t::GlobalBoard::PrescaleCounter > GlobalBoard::prescaleCountersWithSemirandomInitialCounter ( std::vector< double > const &  prescaleFactorsAlgoTrig,
edm::Event const &  iEvent 
)
staticprivate

Definition at line 1141 of file GlobalBoard.cc.

References iEvent, and MillePedeFileConverter_cfg::out.

1142  {
1143  // pick a (semi)random number seeding based on run, lumi, event numbers,
1144  // this leads to different (semi)random numbers for different streams,
1145  // reminder: different streams have different initial event number
1146  std::srand(iEvent.id().run());
1147  std::srand(std::rand() + iEvent.id().luminosityBlock());
1148  std::srand(std::rand() + iEvent.id().event());
1149  int const semirandom = std::rand();
1150 
1151  std::vector<PrescaleCounter> out;
1152  out.reserve(prescaleFactorsAlgoTrig.size());
1153 
1154  for (size_t iAlgo = 0; iAlgo < prescaleFactorsAlgoTrig.size(); ++iAlgo) {
1155  out.emplace_back(prescaleFactorsAlgoTrig[iAlgo]);
1156  // initialise trigger_counter to a (semi)random integer
1157  // between 0 and prescale_count - 1 (both inclusive)
1158  // (this only changes the behaviour of triggers with PS > 1)
1159  auto& prescaleCounter = out.back();
1160  if (prescaleCounter.prescale_count > 0) {
1161  prescaleCounter.trigger_counter = semirandom % prescaleCounter.prescale_count;
1162  }
1163  }
1164 
1165  return out;
1166 }
int iEvent
Definition: GenABIO.cc:224

◆ printGmtData()

void GlobalBoard::printGmtData ( const int  iBxInEvent) const

print received Muon dataWord

Definition at line 1122 of file GlobalBoard.cc.

References LogTrace.

1122  {
1123  LogTrace("L1TGlobal") << "\nl1t::L1GlobalTrigger: uGMT data received for BxInEvent = " << iBxInEvent;
1124 
1125  int nrL1Mu = m_candL1Mu->size(iBxInEvent);
1126  LogTrace("L1TGlobal") << "Number of GMT muons = " << nrL1Mu << "\n";
1127 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
#define LogTrace(id)
unsigned size(int bx) const

◆ receiveCaloObjectData()

void GlobalBoard::receiveCaloObjectData ( const edm::Event iEvent,
const edm::EDGetTokenT< BXVector< l1t::EGamma >> &  egInputToken,
const edm::EDGetTokenT< BXVector< l1t::Tau >> &  tauInputToken,
const edm::EDGetTokenT< BXVector< l1t::Jet >> &  jetInputToken,
const edm::EDGetTokenT< BXVector< l1t::EtSum >> &  sumInputToken,
const bool  receiveEG,
const int  nrL1EG,
const bool  receiveTau,
const int  nrL1Tau,
const bool  receiveJet,
const int  nrL1Jet,
const bool  receiveEtSums 
)

receive data from Global Muon Trigger

Definition at line 132 of file GlobalBoard.cc.

References mps_fire::i, iEvent, edm::HandleBase::isValid(), metsig::jet, LogDebug, LogTrace, and metsig::tau.

143  {
144  if (m_verbosity) {
145  LogDebug("L1TGlobal") << "\n**** Board receiving Calo Data ";
146  //<< "\n from input tag " << caloInputTag << "\n"
147  }
148 
149  resetCalo();
150 
151  // get data from Calorimeter
152  if (receiveEG) {
154  iEvent.getByToken(egInputToken, egData);
155 
156  if (!egData.isValid()) {
157  if (m_verbosity) {
158  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::EGamma> with input tag "
159  //<< caloInputTag
160  << "\nrequested in configuration, but not found in the event.\n";
161  }
162  } else {
163  // bx in EG data
164  for (int i = egData->getFirstBX(); i <= egData->getLastBX(); ++i) {
165  // Prevent from pushing back bx that is outside of allowed range
166  if (i < m_bxFirst_ || i > m_bxLast_)
167  continue;
168 
169  //Loop over EG in this bx
170  int nObj = 0;
171  for (std::vector<l1t::EGamma>::const_iterator eg = egData->begin(i); eg != egData->end(i); ++eg) {
172  if (nObj < nrL1EG) {
173  (*m_candL1EG).push_back(i, &(*eg));
174  } else {
175  edm::LogWarning("L1TGlobal") << " Too many EG (" << nObj << ") for uGT Configuration maxEG =" << nrL1EG;
176  }
177  LogDebug("L1TGlobal") << "EG Pt " << eg->hwPt() << " Eta " << eg->hwEta() << " Phi " << eg->hwPhi()
178  << " Qual " << eg->hwQual() << " Iso " << eg->hwIso();
179 
180  nObj++;
181  } //end loop over EG in bx
182  } //end loop over bx
183 
184  } //end if over valid EG data
185 
186  } //end if ReveiveEG data
187 
188  if (receiveTau) {
190  iEvent.getByToken(tauInputToken, tauData);
191 
192  if (!tauData.isValid()) {
193  if (m_verbosity) {
194  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::Tau> with input tag "
195  //<< caloInputTag
196  << "\nrequested in configuration, but not found in the event.\n";
197  }
198  } else {
199  // bx in tau data
200  for (int i = tauData->getFirstBX(); i <= tauData->getLastBX(); ++i) {
201  // Prevent from pushing back bx that is outside of allowed range
202  if (i < m_bxFirst_ || i > m_bxLast_)
203  continue;
204 
205  //Loop over tau in this bx
206  int nObj = 0;
207  for (std::vector<l1t::Tau>::const_iterator tau = tauData->begin(i); tau != tauData->end(i); ++tau) {
208  if (nObj < nrL1Tau) {
209  (*m_candL1Tau).push_back(i, &(*tau));
210  } else {
211  LogTrace("L1TGlobal") << " Too many Tau (" << nObj << ") for uGT Configuration maxTau =" << nrL1Tau;
212  }
213 
214  LogDebug("L1TGlobal") << "tau Pt " << tau->hwPt() << " Eta " << tau->hwEta() << " Phi " << tau->hwPhi()
215  << " Qual " << tau->hwQual() << " Iso " << tau->hwIso();
216  nObj++;
217 
218  } //end loop over tau in bx
219  } //end loop over bx
220 
221  } //end if over valid tau data
222 
223  } //end if ReveiveTau data
224 
225  if (receiveJet) {
227  iEvent.getByToken(jetInputToken, jetData);
228 
229  if (!jetData.isValid()) {
230  if (m_verbosity) {
231  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::Jet> with input tag "
232  //<< caloInputTag
233  << "\nrequested in configuration, but not found in the event.\n";
234  }
235  } else {
236  // bx in jet data
237  for (int i = jetData->getFirstBX(); i <= jetData->getLastBX(); ++i) {
238  // Prevent from pushing back bx that is outside of allowed range
239  if (i < m_bxFirst_ || i > m_bxLast_)
240  continue;
241 
242  //Loop over jet in this bx
243  int nObj = 0;
244  for (std::vector<l1t::Jet>::const_iterator jet = jetData->begin(i); jet != jetData->end(i); ++jet) {
245  if (nObj < nrL1Jet) {
246  (*m_candL1Jet).push_back(i, &(*jet));
247  } else {
248  edm::LogWarning("L1TGlobal") << " Too many Jets (" << nObj << ") for uGT Configuration maxJet =" << nrL1Jet;
249  }
250 
251  LogDebug("L1TGlobal") << "Jet Pt " << jet->hwPt() << " Eta " << jet->hwEta() << " Phi " << jet->hwPhi()
252  << " Qual " << jet->hwQual() << " Iso " << jet->hwIso();
253  nObj++;
254  } //end loop over jet in bx
255  } //end loop over bx
256 
257  } //end if over valid jet data
258 
259  } //end if ReveiveJet data
260 
261  if (receiveEtSums) {
263  iEvent.getByToken(sumInputToken, etSumData);
264 
265  if (!etSumData.isValid()) {
266  if (m_verbosity) {
267  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::EtSum> with input tag "
268  //<< caloInputTag
269  << "\nrequested in configuration, but not found in the event.\n";
270  }
271  } else {
272  for (int i = etSumData->getFirstBX(); i <= etSumData->getLastBX(); ++i) {
273  // Prevent from pushing back bx that is outside of allowed range
274  if (i < m_bxFirst_ || i > m_bxLast_)
275  continue;
276 
277  //Loop over jet in this bx
278  for (std::vector<l1t::EtSum>::const_iterator etsum = etSumData->begin(i); etsum != etSumData->end(i); ++etsum) {
279  (*m_candL1EtSum).push_back(i, &(*etsum));
280 
281  /* In case we need to split these out
282  switch ( etsum->getType() ) {
283  case l1t::EtSum::EtSumType::kMissingEt:
284  {
285  //(*m_candETM).push_back(i,&(*etsum));
286  LogDebug("L1TGlobal") << "ETM: Pt " << etsum->hwPt() << " Phi " << etsum->hwPhi();
287  }
288  break;
289  case l1t::EtSum::EtSumType::kMissingHt:
290  {
291  //(*m_candHTM).push_back(i,&(*etsum));
292  LogDebug("L1TGlobal") << "HTM: Pt " << etsum->hwPt() << " Phi " << etsum->hwPhi();
293  }
294  break;
295  case l1t::EtSum::EtSumType::kTotalEt:
296  {
297  //(*m_candETT).push_back(i,&(*etsum));
298  LogDebug("L1TGlobal") << "ETT: Pt " << etsum->hwPt();
299  }
300  break;
301  case l1t::EtSum::EtSumType::kTotalHt:
302  {
303  //(*m_candHTT).push_back(i,&(*etsum));
304  LogDebug("L1TGlobal") << "HTT: Pt " << etsum->hwPt();
305  }
306  break;
307  case l1t::EtSum::EtSumType::kTowerCount:
308  {
309  //(*m_candTowerCount).push_back(i,&(*etsum));
310  LogDebug("L1TGlobal") << "TowerCount: " << etsum->hwPt();
311  }
312  break;
313  default:
314  LogDebug("L1TGlobal") << "Default encounted ";
315  break;
316  }
317 */
318 
319  } //end loop over jet in bx
320  } //end loop over Bx
321  }
322  }
323 }
#define LogTrace(id)
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
int iEvent
Definition: GenABIO.cc:224
bool isValid() const
Definition: HandleBase.h:70
Log< level::Warning, false > LogWarning
#define LogDebug(id)

◆ receiveExternalData()

void GlobalBoard::receiveExternalData ( const edm::Event iEvent,
const edm::EDGetTokenT< BXVector< GlobalExtBlk >> &  extInputToken,
const bool  receiveExt 
)

Definition at line 423 of file GlobalBoard.cc.

References mps_fire::i, iEvent, edm::HandleBase::isValid(), and LogDebug.

425  {
426  if (m_verbosity) {
427  LogDebug("L1TGlobal") << "\n**** GlobalBoard receiving external data = ";
428  //<< "\n from input tag " << muInputTag << "\n"
429  }
430 
431  resetExternal();
432 
433  // get data from Global Muon Trigger
434  if (receiveExt) {
436  iEvent.getByToken(extInputToken, extData);
437 
438  if (!extData.isValid()) {
439  if (m_verbosity) {
440  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<GlobalExtBlk> with input tag "
441  //<< muInputTag
442  << "\nrequested in configuration, but not found in the event.\n";
443  }
444  } else {
445  // bx in muon data
446  for (int i = extData->getFirstBX(); i <= extData->getLastBX(); ++i) {
447  // Prevent from pushing back bx that is outside of allowed range
448  if (i < m_bxFirst_ || i > m_bxLast_)
449  continue;
450 
451  //Loop over ext in this bx
452  for (std::vector<GlobalExtBlk>::const_iterator ext = extData->begin(i); ext != extData->end(i); ++ext) {
453  (*m_candL1External).push_back(i, &(*ext));
454  } //end loop over ext in bx
455  } //end loop over bx
456 
457  } //end if over valid ext data
458 
459  } //end if ReveiveExt data
460 }
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
int iEvent
Definition: GenABIO.cc:224
bool isValid() const
Definition: HandleBase.h:70
Log< level::Warning, false > LogWarning
Definition: memstream.h:15
#define LogDebug(id)

◆ receiveMuonObjectData()

void GlobalBoard::receiveMuonObjectData ( const edm::Event iEvent,
const edm::EDGetTokenT< BXVector< l1t::Muon >> &  muInputToken,
const bool  receiveMu,
const int  nrL1Mu 
)

Definition at line 326 of file GlobalBoard.cc.

References mps_fire::i, iEvent, edm::HandleBase::isValid(), LogDebug, and amptDefaultParameters_cff::mu.

329  {
330  if (m_verbosity) {
331  LogDebug("L1TGlobal") << "\n**** GlobalBoard receiving muon data = ";
332  //<< "\n from input tag " << muInputTag << "\n"
333  }
334 
335  resetMu();
336 
337  // get data from Global Muon Trigger
338  if (receiveMu) {
340  iEvent.getByToken(muInputToken, muonData);
341 
342  if (!muonData.isValid()) {
343  if (m_verbosity) {
344  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::Muon> with input tag "
345  //<< muInputTag
346  << "\nrequested in configuration, but not found in the event.\n";
347  }
348  } else {
349  // bx in muon data
350  for (int i = muonData->getFirstBX(); i <= muonData->getLastBX(); ++i) {
351  // Prevent from pushing back bx that is outside of allowed range
352  if (i < m_bxFirst_ || i > m_bxLast_)
353  continue;
354 
355  //Loop over Muons in this bx
356  int nObj = 0;
357  for (std::vector<l1t::Muon>::const_iterator mu = muonData->begin(i); mu != muonData->end(i); ++mu) {
358  if (nObj < nrL1Mu) {
359  (*m_candL1Mu).push_back(i, &(*mu));
360  } else {
361  edm::LogWarning("L1TGlobal") << " Too many Muons (" << nObj << ") for uGT Configuration maxMu =" << nrL1Mu;
362  }
363 
364  LogDebug("L1TGlobal") << "Muon Pt " << mu->hwPt() << " EtaAtVtx " << mu->hwEtaAtVtx() << " PhiAtVtx "
365  << mu->hwPhiAtVtx() << " Qual " << mu->hwQual() << " Iso " << mu->hwIso();
366  nObj++;
367  } //end loop over muons in bx
368  } //end loop over bx
369 
370  } //end if over valid muon data
371 
372  } //end if ReveiveMuon data
373 }
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
int iEvent
Definition: GenABIO.cc:224
bool isValid() const
Definition: HandleBase.h:70
Log< level::Warning, false > LogWarning
#define LogDebug(id)

◆ receiveMuonShowerObjectData()

void GlobalBoard::receiveMuonShowerObjectData ( const edm::Event iEvent,
const edm::EDGetTokenT< BXVector< l1t::MuonShower >> &  muShowerInputToken,
const bool  receiveMuShower,
const int  nrL1MuShower 
)

Definition at line 376 of file GlobalBoard.cc.

References iEvent, edm::HandleBase::isValid(), amptDefaultParameters_cff::mu, l1t::MuonShower::setMus0(), l1t::MuonShower::setMus1(), l1t::MuonShower::setMusOutOfTime0(), and l1t::MuonShower::setMusOutOfTime1().

379  {
380  // get data from Global Muon Trigger
381  if (receiveMuShower) {
383  iEvent.getByToken(muShowerInputToken, muonData);
384 
385  if (!muonData.isValid()) {
386  if (m_verbosity) {
387  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::MuonShower> with input tag "
388  << "\nrequested in configuration, but not found in the event.\n";
389  }
390  } else {
391  //Loop over Muon Showers in this bx
392  int nObj = 0;
393  for (auto mu = muonData->begin(0); mu != muonData->end(0); ++mu) {
394  if (nObj < nrL1MuShower) {
395  /* Important here to split up the single object into 4 separate MuonShower
396  bits for the global board. This is because the UTM library considers those bits separate as well
397  */
398  l1t::MuonShower mus0;
399  l1t::MuonShower mus1;
400  l1t::MuonShower musOutOfTime0;
401  l1t::MuonShower musOutOfTime1;
402 
403  mus0.setMus0(mu->mus0());
404  mus1.setMus1(mu->mus1());
405  musOutOfTime0.setMusOutOfTime0(mu->musOutOfTime0());
406  musOutOfTime1.setMusOutOfTime1(mu->musOutOfTime1());
407 
408  (*m_candL1MuShower).push_back(0, &mus0);
409  (*m_candL1MuShower).push_back(0, &mus1);
410  (*m_candL1MuShower).push_back(0, &musOutOfTime0);
411  (*m_candL1MuShower).push_back(0, &musOutOfTime1);
412  } else {
413  edm::LogWarning("L1TGlobal") << " Too many Muon Showers (" << nObj
414  << ") for uGT Configuration maxMuShower =" << nrL1MuShower;
415  }
416  nObj++;
417  } //end loop over muon showers in bx
418  } //end if over valid muon shower data
419  } //end if ReveiveMuonShower data
420 }
void setMus0(const bool bit)
Definition: MuonShower.h:59
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
int iEvent
Definition: GenABIO.cc:224
void setMusOutOfTime1(const bool bit)
Definition: MuonShower.h:62
bool isValid() const
Definition: HandleBase.h:70
void setMus1(const bool bit)
Definition: MuonShower.h:60
Log< level::Warning, false > LogWarning
void setMusOutOfTime0(const bool bit)
Definition: MuonShower.h:61

◆ reset()

void GlobalBoard::reset ( void  )

clear uGT

Definition at line 1079 of file GlobalBoard.cc.

1079  {
1080  resetMu();
1081  resetMuonShower();
1082  resetCalo();
1083  resetExternal();
1084 
1085  m_uGtAlgBlk.reset();
1086 
1087  m_gtlDecisionWord.reset();
1088  m_gtlAlgorithmOR.reset();
1089 }
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlDecisionWord
Definition: GlobalBoard.h:240
void reset()
reset the content of a GlobalAlgBlk
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
std::bitset< GlobalAlgBlk::maxPhysicsTriggers > m_gtlAlgorithmOR
Definition: GlobalBoard.h:239

◆ resetCalo()

void GlobalBoard::resetCalo ( )

Definition at line 1104 of file GlobalBoard.cc.

1104  {
1105  m_candL1EG->clear();
1106  m_candL1Tau->clear();
1107  m_candL1Jet->clear();
1108  m_candL1EtSum->clear();
1109 
1114 }
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228
BXVector< const l1t::L1Candidate * > * m_candL1Jet
Definition: GlobalBoard.h:227
void clear()
void setBXRange(int bxFirst, int bxLast)
BXVector< const l1t::L1Candidate * > * m_candL1Tau
Definition: GlobalBoard.h:226

◆ resetExternal()

void GlobalBoard::resetExternal ( )

Definition at line 1116 of file GlobalBoard.cc.

1116  {
1119 }
BXVector< const GlobalExtBlk * > * m_candL1External
Definition: GlobalBoard.h:229
void clear()
void setBXRange(int bxFirst, int bxLast)

◆ resetMu()

void GlobalBoard::resetMu ( )

Definition at line 1092 of file GlobalBoard.cc.

1092  {
1093  m_candL1Mu->clear();
1095 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
void clear()
void setBXRange(int bxFirst, int bxLast)

◆ resetMuonShower()

void GlobalBoard::resetMuonShower ( )

Definition at line 1098 of file GlobalBoard.cc.

1098  {
1101 }
BXVector< const l1t::MuonShower * > * m_candL1MuShower
Definition: GlobalBoard.h:224
void clear()
void setBXRange(int bxFirst, int bxLast)

◆ runFDL()

void GlobalBoard::runFDL ( const edm::Event iEvent,
const int  iBxInEvent,
const int  totalBxInEvent,
const unsigned int  numberPhysTriggers,
const std::vector< double > &  prescaleFactorsAlgoTrig,
const std::vector< unsigned int > &  triggerMaskAlgoTrig,
const std::vector< int > &  triggerMaskVetoAlgoTrig,
const bool  algorithmTriggersUnprescaled,
const bool  algorithmTriggersUnmasked 
)

run the uGT FDL (Apply Prescales and Veto)

if we are masking.

Definition at line 937 of file GlobalBoard.cc.

References iEvent, LogDebug, and or.

945  {
946  if (m_verbosity) {
947  LogDebug("L1TGlobal") << "\n**** GlobalBoard apply Final Decision Logic ";
948  }
949 
950  // update and clear prescales at the beginning of the luminosity segment
951  if (m_prescaleCounterAlgoTrig.empty() or
952  (m_currentLumi != iEvent.luminosityBlock() and m_resetPSCountersEachLumiSec)) {
954  m_prescaleCounterAlgoTrig.reserve(totalBxInEvent);
955  auto const& prescaleCountersAlgoTrig =
957  : prescaleCounters(prescaleFactorsAlgoTrig);
958  for (int iBxInEvent = 0; iBxInEvent < totalBxInEvent; ++iBxInEvent) {
959  m_prescaleCounterAlgoTrig.push_back(prescaleCountersAlgoTrig);
960  }
961 
962  m_currentLumi = iEvent.luminosityBlock();
963  }
964 
965  // Copy Algorithm bits to Prescaled word
966  // Prescaling and Masking done below if requested.
968 
969  // -------------------------------------------
970  // Apply Prescales or skip if turned off
971  // -------------------------------------------
972  if (!algorithmTriggersUnprescaled) {
973  // iBxInEvent is ... -2 -1 0 1 2 ... while counters are 0 1 2 3 4 ...
974  int const inBxInEvent = totalBxInEvent / 2 + iBxInEvent;
975 
976  bool temp_algPrescaledOr = false;
977  bool alreadyReported = false;
978  for (unsigned int iBit = 0; iBit < numberPhysTriggers; ++iBit) {
979  bool const bitValue = m_uGtAlgBlk.getAlgoDecisionInitial(iBit);
980  if (bitValue) {
981  // Make sure algo bit in range, warn otherwise
982  if (iBit < prescaleFactorsAlgoTrig.size()) {
983  if (prescaleFactorsAlgoTrig.at(iBit) != 1) {
984  bool const triggered = m_prescaleCounterAlgoTrig.at(inBxInEvent).at(iBit).accept();
985  if (triggered) {
986  temp_algPrescaledOr = true;
987  } else {
988  // change bit to false in prescaled word and final decision word
989  m_uGtAlgBlk.setAlgoDecisionInterm(iBit, false);
990  } //if Prescale counter reached zero
991  } //if prescale factor is not 1 (ie. no prescale)
992  else {
993  temp_algPrescaledOr = true;
994  }
995  } // require bit in range
996  else if (!alreadyReported) {
997  alreadyReported = true;
998  edm::LogWarning("L1TGlobal") << "\nWarning: algoBit >= prescaleFactorsAlgoTrig.size() in bx " << iBxInEvent;
999  }
1000  } //if algo bit is set true
1001  } //loop over alg bits
1002 
1003  m_algPrescaledOr = temp_algPrescaledOr; //temp
1004 
1005  } else {
1006  // Since not Prescaling just take OR of Initial Work
1008 
1009  } //if we are going to apply prescales.
1010 
1011  // Copy Algorithm bits fron Prescaled word to Final Word
1012  // Masking done below if requested.
1014 
1015  if (!algorithmTriggersUnmasked) {
1016  bool temp_algFinalOr = false;
1017  bool alreadyReported = false;
1018  for (unsigned int iBit = 0; iBit < numberPhysTriggers; ++iBit) {
1019  const bool bitValue = m_uGtAlgBlk.getAlgoDecisionInterm(iBit);
1020 
1021  if (bitValue) {
1022  //bool isMasked = ( triggerMaskAlgoTrig.at(iBit) == 0 );
1023  bool isMasked = false;
1024  if (iBit < triggerMaskAlgoTrig.size())
1025  isMasked = (triggerMaskAlgoTrig.at(iBit) == 0);
1026  else if (!alreadyReported) {
1027  alreadyReported = true;
1028  edm::LogWarning("L1TGlobal") << "\nWarning: algoBit >= triggerMaskAlgoTrig.size() in bx " << iBxInEvent;
1029  }
1030 
1031  bool const passMask = (bitValue && !isMasked);
1032 
1033  if (passMask)
1034  temp_algFinalOr = true;
1035  else
1036  m_uGtAlgBlk.setAlgoDecisionFinal(iBit, false);
1037 
1038  // Check if veto mask is true, if it is, set the event veto flag.
1039  if (triggerMaskVetoAlgoTrig.at(iBit) == 1)
1040  m_algFinalOrVeto = true;
1041  }
1042  }
1043 
1044  m_algIntermOr = temp_algFinalOr;
1045 
1046  } else {
1048 
1049  }
1050 
1051  // Set FinalOR for this board
1053 }
void copyIntermToFinal()
Definition: GlobalAlgBlk.h:74
static std::vector< PrescaleCounter > prescaleCountersWithSemirandomInitialCounter(std::vector< double > const &prescaleFactorsAlgoTrig, edm::Event const &iEvent)
void copyInitialToInterm()
Copy vectors words.
Definition: GlobalAlgBlk.h:73
bool m_semiRandomInitialPSCounters
Definition: GlobalBoard.h:272
unsigned int m_currentLumi
Definition: GlobalBoard.h:247
static std::vector< PrescaleCounter > prescaleCounters(std::vector< double > const &prescaleFactorsAlgoTrig)
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
int iEvent
Definition: GenABIO.cc:224
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
void setAlgoDecisionInterm(unsigned int bit, bool val)
Definition: GlobalAlgBlk.cc:84
std::vector< std::vector< PrescaleCounter > > m_prescaleCounterAlgoTrig
Definition: GlobalBoard.h:298
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
std::vector< bool > const & getAlgoDecisionInterm() const
Definition: GlobalAlgBlk.h:83
std::vector< bool > const & getAlgoDecisionInitial() const
Get decision bits.
Definition: GlobalAlgBlk.h:82
Log< level::Warning, false > LogWarning
bool m_resetPSCountersEachLumiSec
Definition: GlobalBoard.h:269
void setAlgoDecisionFinal(unsigned int bit, bool val)
Definition: GlobalAlgBlk.cc:94
#define LogDebug(id)

◆ runGTL()

void GlobalBoard::runGTL ( const edm::Event iEvent,
const edm::EventSetup evSetup,
const TriggerMenu m_l1GtMenu,
const bool  produceL1GtObjectMapRecord,
const int  iBxInEvent,
std::unique_ptr< GlobalObjectMapRecord > &  gtObjectMapRecord,
const unsigned int  numberPhysTriggers,
const int  nrL1Mu,
const int  nrL1MuShower,
const int  nrL1EG,
const int  nrL1Tau,
const int  nrL1Jet 
)

run the uGT GTL (Conditions and Algorithms)

DMP Start debugging here

Definition at line 463 of file GlobalBoard.cc.

References CorrelationThreeBodyTemplate::cond0Category(), CorrelationTemplate::cond0Category(), CorrelationWithOverlapRemovalTemplate::cond0Category(), CorrelationThreeBodyTemplate::cond0Index(), CorrelationTemplate::cond0Index(), CorrelationWithOverlapRemovalTemplate::cond0Index(), CorrelationThreeBodyTemplate::cond1Category(), CorrelationTemplate::cond1Category(), CorrelationWithOverlapRemovalTemplate::cond1Category(), CorrelationThreeBodyTemplate::cond1Index(), CorrelationTemplate::cond1Index(), CorrelationWithOverlapRemovalTemplate::cond1Index(), CorrelationThreeBodyTemplate::cond2Category(), CorrelationWithOverlapRemovalTemplate::cond2Category(), CorrelationThreeBodyTemplate::cond2Index(), CorrelationWithOverlapRemovalTemplate::cond2Index(), l1t::CondCalo, l1t::CondCorrelation, l1t::CondCorrelationThreeBody, l1t::CondCorrelationWithOverlapRemoval, l1t::CondEnergySum, l1t::CondExternal, l1t::CondMuon, l1t::CondMuonShower, l1t::CondNull, TriggerMenu::corCaloTemplate(), TriggerMenu::corEnergySumTemplate(), TriggerMenu::corMuonTemplate(), l1t::AlgorithmEvaluation::evaluateAlgorithm(), l1t::ConditionEvaluation::evaluateConditionStoreResult(), newFWLiteAna::found, l1t::GlobalScales::getScalesName(), l1t::AlgorithmEvaluation::gtAlgoCombinationVector(), l1t::AlgorithmEvaluation::gtAlgoResult(), TriggerMenu::gtAlgorithmMap(), TriggerMenu::gtConditionMap(), TriggerMenu::gtScales(), LogDebug, LogTrace, match(), l1t::AlgorithmEvaluation::operandTokenVector(), CalibrationSummaryClient_cfi::otype, print(), l1t::MuonShowerCondition::print(), l1t::ExternalCondition::print(), l1t::EnergySumCondition::print(), l1t::MuCondition::print(), l1t::CorrCondition::print(), l1t::CaloCondition::print(), l1t::CorrThreeBodyCondition::print(), l1t::CorrWithOverlapRemovalCondition::print(), l1t::AlgorithmEvaluation::print(), GlobalObjectMap::print(), GlobalObjectMap::setAlgoBitNumber(), GlobalObjectMap::setAlgoGtlResult(), GlobalObjectMap::setAlgoName(), l1t::CorrCondition::setScales(), l1t::CorrThreeBodyCondition::setScales(), l1t::CorrWithOverlapRemovalCondition::setScales(), l1t::ConditionEvaluation::setVerbosity(), AlCaHLTBitMon_QueryRunRegistry::string, GlobalObjectMap::swapCombinationVector(), GlobalObjectMap::swapObjectTypeVector(), and GlobalObjectMap::swapOperandTokenVector().

474  {
475  const std::vector<ConditionMap>& conditionMap = m_l1GtMenu->gtConditionMap();
476  const AlgorithmMap& algorithmMap = m_l1GtMenu->gtAlgorithmMap();
477  const GlobalScales& gtScales = m_l1GtMenu->gtScales();
478  const std::string scaleSetName = gtScales.getScalesName();
479  LogDebug("L1TGlobal") << " L1 Menu Scales -- Set Name: " << scaleSetName;
480 
481  // Reset AlgBlk for this bx
482  m_uGtAlgBlk.reset();
483  m_algInitialOr = false;
484  m_algPrescaledOr = false;
485  m_algIntermOr = false;
486  m_algFinalOr = false;
487  m_algFinalOrVeto = false;
488 
489  const std::vector<std::vector<MuonTemplate>>& corrMuon = m_l1GtMenu->corMuonTemplate();
490 
491  // Comment out for now
492  const std::vector<std::vector<CaloTemplate>>& corrCalo = m_l1GtMenu->corCaloTemplate();
493 
494  const std::vector<std::vector<EnergySumTemplate>>& corrEnergySum = m_l1GtMenu->corEnergySumTemplate();
495 
496  LogDebug("L1TGlobal") << "Size corrMuon " << corrMuon.size() << "\nSize corrCalo " << corrCalo.size()
497  << "\nSize corrSums " << corrEnergySum.size();
498 
499  // loop over condition maps (one map per condition chip)
500  // then loop over conditions in the map
501  // save the results in temporary maps
502 
503  // never happens in production but at first event...
504  if (m_conditionResultMaps.size() != conditionMap.size()) {
505  m_conditionResultMaps.clear();
506  m_conditionResultMaps.resize(conditionMap.size());
507  }
508 
509  int iChip = -1;
510 
511  for (std::vector<ConditionMap>::const_iterator itCondOnChip = conditionMap.begin();
512  itCondOnChip != conditionMap.end();
513  itCondOnChip++) {
514  iChip++;
515 
517 
518  for (CItCond itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
519  // evaluate condition
520  switch ((itCond->second)->condCategory()) {
521  case CondMuon: {
522  // BLW Not sure what to do with this for now
523  const int ifMuEtaNumberBits = 0;
524 
525  MuCondition* muCondition = new MuCondition(itCond->second, this, nrL1Mu, ifMuEtaNumberBits);
526 
527  muCondition->setVerbosity(m_verbosity);
528 
529  muCondition->evaluateConditionStoreResult(iBxInEvent);
530 
531  // BLW COmment out for now
532  cMapResults[itCond->first] = muCondition;
533 
534  if (m_verbosity && m_isDebugEnabled) {
535  std::ostringstream myCout;
536  muCondition->print(myCout);
537 
538  LogTrace("L1TGlobal") << myCout.str();
539  }
540  //delete muCondition;
541 
542  } break;
543  case CondMuonShower: {
544  MuonShowerCondition* muShowerCondition = new MuonShowerCondition(itCond->second, this, nrL1MuShower);
545 
546  muShowerCondition->setVerbosity(m_verbosity);
547 
548  muShowerCondition->evaluateConditionStoreResult(iBxInEvent);
549 
550  cMapResults[itCond->first] = muShowerCondition;
551 
552  if (m_verbosity && m_isDebugEnabled) {
553  std::ostringstream myCout;
554  muShowerCondition->print(myCout);
555 
556  edm::LogWarning("L1TGlobal") << "MuonShowerCondition " << myCout.str();
557  }
558  //delete muShowerCondition;
559 
560  } break;
561  case CondCalo: {
562  // BLW Not sure w hat to do with this for now
563  const int ifCaloEtaNumberBits = 0;
564 
565  CaloCondition* caloCondition =
566  new CaloCondition(itCond->second, this, nrL1EG, nrL1Jet, nrL1Tau, ifCaloEtaNumberBits);
567 
568  caloCondition->setVerbosity(m_verbosity);
569 
570  caloCondition->evaluateConditionStoreResult(iBxInEvent);
571 
572  cMapResults[itCond->first] = caloCondition;
573 
574  if (m_verbosity && m_isDebugEnabled) {
575  std::ostringstream myCout;
576  caloCondition->print(myCout);
577 
578  LogTrace("L1TGlobal") << myCout.str();
579  }
580  // delete caloCondition;
581 
582  } break;
583  case CondEnergySum: {
584  EnergySumCondition* eSumCondition = new EnergySumCondition(itCond->second, this);
585 
586  eSumCondition->setVerbosity(m_verbosity);
587  eSumCondition->evaluateConditionStoreResult(iBxInEvent);
588 
589  cMapResults[itCond->first] = eSumCondition;
590 
591  if (m_verbosity && m_isDebugEnabled) {
592  std::ostringstream myCout;
593  eSumCondition->print(myCout);
594 
595  LogTrace("L1TGlobal") << myCout.str();
596  }
597  // delete eSumCondition;
598 
599  } break;
600 
601  case CondExternal: {
602  ExternalCondition* extCondition = new ExternalCondition(itCond->second, this);
603 
604  extCondition->setVerbosity(m_verbosity);
605  extCondition->evaluateConditionStoreResult(iBxInEvent);
606 
607  cMapResults[itCond->first] = extCondition;
608 
609  if (m_verbosity && m_isDebugEnabled) {
610  std::ostringstream myCout;
611  extCondition->print(myCout);
612 
613  LogTrace("L1TGlobal") << myCout.str();
614  }
615  // delete extCondition;
616 
617  } break;
618  case CondCorrelation: {
619  // get first the sub-conditions
620  const CorrelationTemplate* corrTemplate = static_cast<const CorrelationTemplate*>(itCond->second);
621  const GtConditionCategory cond0Categ = corrTemplate->cond0Category();
622  const GtConditionCategory cond1Categ = corrTemplate->cond1Category();
623  const int cond0Ind = corrTemplate->cond0Index();
624  const int cond1Ind = corrTemplate->cond1Index();
625 
626  const GlobalCondition* cond0Condition = nullptr;
627  const GlobalCondition* cond1Condition = nullptr;
628 
629  // maximum number of objects received for evaluation of l1t::Type1s condition
630  int cond0NrL1Objects = 0;
631  int cond1NrL1Objects = 0;
632  LogDebug("L1TGlobal") << " cond0NrL1Objects" << cond0NrL1Objects << " cond1NrL1Objects "
633  << cond1NrL1Objects;
634 
635  switch (cond0Categ) {
636  case CondMuon: {
637  cond0Condition = &((corrMuon[iChip])[cond0Ind]);
638  } break;
639  case CondCalo: {
640  cond0Condition = &((corrCalo[iChip])[cond0Ind]);
641  } break;
642  case CondEnergySum: {
643  cond0Condition = &((corrEnergySum[iChip])[cond0Ind]);
644  } break;
645  default: {
646  // do nothing, should not arrive here
647  } break;
648  }
649 
650  switch (cond1Categ) {
651  case CondMuon: {
652  cond1Condition = &((corrMuon[iChip])[cond1Ind]);
653  } break;
654  case CondCalo: {
655  cond1Condition = &((corrCalo[iChip])[cond1Ind]);
656  } break;
657  case CondEnergySum: {
658  cond1Condition = &((corrEnergySum[iChip])[cond1Ind]);
659  } break;
660  default: {
661  // do nothing, should not arrive here
662  } break;
663  }
664 
665  CorrCondition* correlationCond = new CorrCondition(itCond->second, cond0Condition, cond1Condition, this);
666 
667  correlationCond->setVerbosity(m_verbosity);
668  correlationCond->setScales(&gtScales);
669  correlationCond->evaluateConditionStoreResult(iBxInEvent);
670 
671  cMapResults[itCond->first] = correlationCond;
672 
673  if (m_verbosity && m_isDebugEnabled) {
674  std::ostringstream myCout;
675  correlationCond->print(myCout);
676 
677  LogTrace("L1TGlobal") << myCout.str();
678  }
679 
680  // delete correlationCond;
681 
682  } break;
684  // get first the sub-conditions
685  const CorrelationThreeBodyTemplate* corrTemplate =
686  static_cast<const CorrelationThreeBodyTemplate*>(itCond->second);
687  const GtConditionCategory cond0Categ = corrTemplate->cond0Category();
688  const GtConditionCategory cond1Categ = corrTemplate->cond1Category();
689  const GtConditionCategory cond2Categ = corrTemplate->cond2Category();
690  const int cond0Ind = corrTemplate->cond0Index();
691  const int cond1Ind = corrTemplate->cond1Index();
692  const int cond2Ind = corrTemplate->cond2Index();
693 
694  const GlobalCondition* cond0Condition = nullptr;
695  const GlobalCondition* cond1Condition = nullptr;
696  const GlobalCondition* cond2Condition = nullptr;
697 
698  // maximum number of objects received for evaluation of l1t::Type1s condition
699  int cond0NrL1Objects = 0;
700  int cond1NrL1Objects = 0;
701  int cond2NrL1Objects = 0;
702  LogDebug("L1TGlobal") << " cond0NrL1Objects " << cond0NrL1Objects << " cond1NrL1Objects "
703  << cond1NrL1Objects << " cond2NrL1Objects " << cond2NrL1Objects;
704  if (cond0Categ == CondMuon) {
705  cond0Condition = &((corrMuon[iChip])[cond0Ind]);
706  } else {
707  LogDebug("L1TGlobal") << "No muon0 to evaluate three-body correlation condition";
708  }
709  if (cond1Categ == CondMuon) {
710  cond1Condition = &((corrMuon[iChip])[cond1Ind]);
711  } else {
712  LogDebug("L1TGlobal") << "No muon1 to evaluate three-body correlation condition";
713  }
714  if (cond2Categ == CondMuon) {
715  cond2Condition = &((corrMuon[iChip])[cond2Ind]);
716  } else {
717  LogDebug("L1TGlobal") << "No muon2 to evaluate three-body correlation condition";
718  }
719 
720  CorrThreeBodyCondition* correlationThreeBodyCond =
721  new CorrThreeBodyCondition(itCond->second, cond0Condition, cond1Condition, cond2Condition, this);
722 
723  correlationThreeBodyCond->setVerbosity(m_verbosity);
724  correlationThreeBodyCond->setScales(&gtScales);
725  correlationThreeBodyCond->evaluateConditionStoreResult(iBxInEvent);
726  cMapResults[itCond->first] = correlationThreeBodyCond;
727 
728  if (m_verbosity && m_isDebugEnabled) {
729  std::ostringstream myCout;
730  correlationThreeBodyCond->print(myCout);
731 
732  LogTrace("L1TGlobal") << myCout.str();
733  }
734  // delete correlationThreeBodyCond;
735  } break;
736 
738  // get first the sub-conditions
739  const CorrelationWithOverlapRemovalTemplate* corrTemplate =
740  static_cast<const CorrelationWithOverlapRemovalTemplate*>(itCond->second);
741  const GtConditionCategory cond0Categ = corrTemplate->cond0Category();
742  const GtConditionCategory cond1Categ = corrTemplate->cond1Category();
743  const GtConditionCategory cond2Categ = corrTemplate->cond2Category();
744  const int cond0Ind = corrTemplate->cond0Index();
745  const int cond1Ind = corrTemplate->cond1Index();
746  const int cond2Ind = corrTemplate->cond2Index();
747 
748  const GlobalCondition* cond0Condition = nullptr;
749  const GlobalCondition* cond1Condition = nullptr;
750  const GlobalCondition* cond2Condition = nullptr;
751 
752  // maximum number of objects received for evaluation of l1t::Type1s condition
753  int cond0NrL1Objects = 0;
754  int cond1NrL1Objects = 0;
755  int cond2NrL1Objects = 0;
756  LogDebug("L1TGlobal") << " cond0NrL1Objects" << cond0NrL1Objects << " cond1NrL1Objects " << cond1NrL1Objects
757  << " cond2NrL1Objects " << cond2NrL1Objects;
758 
759  switch (cond0Categ) {
760  case CondMuon: {
761  cond0Condition = &((corrMuon[iChip])[cond0Ind]);
762  } break;
763  case CondCalo: {
764  cond0Condition = &((corrCalo[iChip])[cond0Ind]);
765  } break;
766  case CondEnergySum: {
767  cond0Condition = &((corrEnergySum[iChip])[cond0Ind]);
768  } break;
769  default: {
770  // do nothing, should not arrive here
771  } break;
772  }
773 
774  switch (cond1Categ) {
775  case CondMuon: {
776  cond1Condition = &((corrMuon[iChip])[cond1Ind]);
777  } break;
778  case CondCalo: {
779  cond1Condition = &((corrCalo[iChip])[cond1Ind]);
780  } break;
781  case CondEnergySum: {
782  cond1Condition = &((corrEnergySum[iChip])[cond1Ind]);
783  } break;
784  default: {
785  // do nothing, should not arrive here
786  } break;
787  }
788 
789  switch (cond2Categ) {
790  case CondMuon: {
791  cond2Condition = &((corrMuon[iChip])[cond2Ind]);
792  } break;
793  case CondCalo: {
794  cond2Condition = &((corrCalo[iChip])[cond2Ind]);
795  } break;
796  case CondEnergySum: {
797  cond2Condition = &((corrEnergySum[iChip])[cond2Ind]);
798  } break;
799  default: {
800  // do nothing, should not arrive here
801  } break;
802  }
803 
804  CorrWithOverlapRemovalCondition* correlationCondWOR =
805  new CorrWithOverlapRemovalCondition(itCond->second, cond0Condition, cond1Condition, cond2Condition, this);
806 
807  correlationCondWOR->setVerbosity(m_verbosity);
808  correlationCondWOR->setScales(&gtScales);
809  correlationCondWOR->evaluateConditionStoreResult(iBxInEvent);
810 
811  cMapResults[itCond->first] = correlationCondWOR;
812 
813  if (m_verbosity && m_isDebugEnabled) {
814  std::ostringstream myCout;
815  correlationCondWOR->print(myCout);
816 
817  LogTrace("L1TGlobal") << myCout.str();
818  }
819 
820  // delete correlationCondWOR;
821 
822  } break;
823  case CondNull: {
824  // do nothing
825 
826  } break;
827  default: {
828  // do nothing
829 
830  } break;
831  }
832  }
833  }
834 
835  // loop over algorithm map
837  // empty vector for object maps - filled during loop
838  std::vector<GlobalObjectMap> objMapVec;
839  if (produceL1GtObjectMapRecord && (iBxInEvent == 0))
840  objMapVec.reserve(numberPhysTriggers);
841 
842  for (CItAlgo itAlgo = algorithmMap.begin(); itAlgo != algorithmMap.end(); itAlgo++) {
843  AlgorithmEvaluation gtAlg(itAlgo->second);
844  gtAlg.evaluateAlgorithm((itAlgo->second).algoChipNumber(), m_conditionResultMaps);
845 
846  int algBitNumber = (itAlgo->second).algoBitNumber();
847  bool algResult = gtAlg.gtAlgoResult();
848 
849  LogDebug("L1TGlobal") << " ===> for iBxInEvent = " << iBxInEvent << ":\t algBitName = " << itAlgo->first
850  << ",\t algBitNumber = " << algBitNumber << ",\t algResult = " << algResult;
851 
852  if (algResult) {
853  // m_gtlAlgorithmOR.set(algBitNumber);
854  m_uGtAlgBlk.setAlgoDecisionInitial(algBitNumber, algResult);
855  m_algInitialOr = true;
856  }
857 
858  if (m_verbosity && m_isDebugEnabled) {
859  std::ostringstream myCout;
860  (itAlgo->second).print(myCout);
861  gtAlg.print(myCout);
862 
863  LogTrace("L1TGlobal") << myCout.str();
864  }
865 
866  // object maps only for BxInEvent = 0
867  if (produceL1GtObjectMapRecord && (iBxInEvent == 0)) {
868  std::vector<L1TObjectTypeInCond> otypes;
869  for (auto iop = gtAlg.operandTokenVector().begin(); iop != gtAlg.operandTokenVector().end(); ++iop) {
870  //cout << "INFO: operand name: " << iop->tokenName << "\n";
871  int myChip = -1;
872  int found = 0;
874  for (auto imap = conditionMap.begin(); imap != conditionMap.end(); imap++) {
875  myChip++;
876  auto match = imap->find(iop->tokenName);
877 
878  if (match != imap->end()) {
879  found = 1;
880  //cout << "DEBUG: found match for " << iop->tokenName << " at " << match->first << "\n";
881 
882  otype = match->second->objectType();
883 
884  for (auto itype = otype.begin(); itype != otype.end(); itype++) {
885  //cout << "type: " << *itype << "\n";
886  }
887  }
888  }
889  if (!found) {
890  edm::LogWarning("L1TGlobal") << "\n Failed to find match for operand token " << iop->tokenName << "\n";
891  } else {
892  otypes.push_back(otype);
893  }
894  }
895 
896  // set object map
897  GlobalObjectMap objMap;
898 
899  objMap.setAlgoName(itAlgo->first);
900  objMap.setAlgoBitNumber(algBitNumber);
901  objMap.setAlgoGtlResult(algResult);
902  objMap.swapOperandTokenVector(gtAlg.operandTokenVector());
903  objMap.swapCombinationVector(gtAlg.gtAlgoCombinationVector());
904  // gtAlg is empty now...
905  objMap.swapObjectTypeVector(otypes);
906 
907  if (m_verbosity && m_isDebugEnabled) {
908  std::ostringstream myCout1;
909  objMap.print(myCout1);
910 
911  LogTrace("L1TGlobal") << myCout1.str();
912  }
913 
914  objMapVec.push_back(objMap);
915  }
916  }
917 
918  // object maps only for BxInEvent = 0
919  if (produceL1GtObjectMapRecord && (iBxInEvent == 0)) {
920  gtObjectMapRecord->swapGtObjectMap(objMapVec);
921  }
922 
923  // loop over condition maps (one map per condition chip)
924  // then loop over conditions in the map
925  // delete the conditions created with new, zero pointer, do not clear map, keep the vector as is...
926  for (std::vector<AlgorithmEvaluation::ConditionEvaluationMap>::iterator itCondOnChip = m_conditionResultMaps.begin();
927  itCondOnChip != m_conditionResultMaps.end();
928  itCondOnChip++) {
929  for (AlgorithmEvaluation::ItEvalMap itCond = itCondOnChip->begin(); itCond != itCondOnChip->end(); itCond++) {
930  delete itCond->second;
931  itCond->second = nullptr;
932  }
933  }
934 }
void setAlgoBitNumber(int algoBitNumberValue)
const int cond0Index() const
get / set the index of the two sub-conditions in the cor* vector from menu
const l1t::GlobalScales & gtScales() const
get the scales
Definition: TriggerMenu.h:191
std::vector< l1t::GlobalObject > L1TObjectTypeInCond
void swapOperandTokenVector(std::vector< GlobalLogicParser::OperandToken > &operandTokenVectorValue)
const std::vector< std::vector< CaloTemplate > > & corCaloTemplate() const
Definition: TriggerMenu.h:168
void setAlgoDecisionInitial(unsigned int bit, bool val)
Set decision bits.
Definition: GlobalAlgBlk.cc:73
std::map< std::string, L1GtAlgorithm > AlgorithmMap
map containing the algorithms
ConditionMap::const_iterator CItCond
iterators through map containing the conditions
const l1t::AlgorithmMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
Definition: TriggerMenu.h:181
const int cond1Index() const
const std::vector< std::vector< MuonTemplate > > & corMuonTemplate() const
Definition: TriggerMenu.h:163
const l1t::GtConditionCategory cond1Category() const
const int cond0Index() const
get / set the index of the two sub-conditions in the cor* vector from menu
void print(std::ostream &myCout) const
print the full object map
const l1t::GtConditionCategory cond1Category() const
void swapObjectTypeVector(std::vector< L1TObjectTypeInCond > &objectTypeVectorValue)
void swapCombinationVector(std::vector< CombinationsInCond > &combinationVectorValue)
ConditionEvaluationMap::iterator ItEvalMap
#define LogTrace(id)
AlgorithmMap::const_iterator CItAlgo
iterators through map containing the algorithms
const l1t::GtConditionCategory cond2Category() const
GtConditionCategory
condition categories
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
const l1t::GtConditionCategory cond0Category() const
get / set the category of the thre sub-conditions
const l1t::GtConditionCategory cond0Category() const
get / set the category of the two sub-conditions
void reset()
reset the content of a GlobalAlgBlk
const TriggerMenu * m_l1GtMenu
Definition: GlobalBoard.h:209
void print(TMatrixD &m, const char *label=nullptr, bool mathematicaFormat=false)
Definition: Utilities.cc:47
const l1t::GtConditionCategory cond1Category() const
void setAlgoGtlResult(bool algoGtlResultValue)
GlobalAlgBlk m_uGtAlgBlk
Definition: GlobalBoard.h:242
void setAlgoName(const std::string &algoNameValue)
const std::vector< l1t::ConditionMap > & gtConditionMap() const
get / set / build the condition maps
Definition: TriggerMenu.h:79
const std::vector< std::vector< EnergySumTemplate > > & corEnergySumTemplate() const
Definition: TriggerMenu.h:174
const int cond0Index() const
get / set the index of the three subconditions in the cor* vector from menu
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
std::unordered_map< std::string, ConditionEvaluation * > ConditionEvaluationMap
copy constructor
const l1t::GtConditionCategory cond0Category() const
get / set the category of the three subconditions
Log< level::Warning, false > LogWarning
const l1t::GtConditionCategory cond2Category() const
#define LogDebug(id)
std::vector< AlgorithmEvaluation::ConditionEvaluationMap > m_conditionResultMaps
Definition: GlobalBoard.h:245

◆ setBxFirst()

void GlobalBoard::setBxFirst ( int  bx)

Definition at line 103 of file GlobalBoard.cc.

References simKBmtfDigis_cfi::bx.

◆ setBxLast()

void GlobalBoard::setBxLast ( int  bx)

Definition at line 105 of file GlobalBoard.cc.

References simKBmtfDigis_cfi::bx.

◆ setResetPSCountersEachLumiSec()

void l1t::GlobalBoard::setResetPSCountersEachLumiSec ( bool  val)
inline

Definition at line 199 of file GlobalBoard.h.

References m_resetPSCountersEachLumiSec, and heppy_batch::val.

◆ setSemiRandomInitialPSCounters()

void l1t::GlobalBoard::setSemiRandomInitialPSCounters ( bool  val)
inline

◆ setVerbosity()

void l1t::GlobalBoard::setVerbosity ( const int  verbosity)
inline

Definition at line 203 of file GlobalBoard.h.

References m_verbosity, and ctppsCommonDQMSource_cfi::verbosity.

Member Data Documentation

◆ m_algFinalOr

bool l1t::GlobalBoard::m_algFinalOr
private

Definition at line 258 of file GlobalBoard.h.

◆ m_algFinalOrVeto

bool l1t::GlobalBoard::m_algFinalOrVeto
private

Definition at line 259 of file GlobalBoard.h.

◆ m_algInitialOr

bool l1t::GlobalBoard::m_algInitialOr
private

Definition at line 255 of file GlobalBoard.h.

◆ m_algIntermOr

bool l1t::GlobalBoard::m_algIntermOr
private

Definition at line 256 of file GlobalBoard.h.

◆ m_algPrescaledOr

bool l1t::GlobalBoard::m_algPrescaledOr
private

Definition at line 257 of file GlobalBoard.h.

◆ m_boardEventCount

unsigned int l1t::GlobalBoard::m_boardEventCount
private

Definition at line 262 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_bxFirst_

int l1t::GlobalBoard::m_bxFirst_
private

Definition at line 236 of file GlobalBoard.h.

◆ m_bxLast_

int l1t::GlobalBoard::m_bxLast_
private

Definition at line 237 of file GlobalBoard.h.

◆ m_candL1EG

BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::m_candL1EG
private

Definition at line 225 of file GlobalBoard.h.

Referenced by getCandL1EG().

◆ m_candL1EtSum

BXVector<const l1t::EtSum*>* l1t::GlobalBoard::m_candL1EtSum
private

Definition at line 228 of file GlobalBoard.h.

Referenced by getCandL1EtSum().

◆ m_candL1External

BXVector<const GlobalExtBlk*>* l1t::GlobalBoard::m_candL1External
private

Definition at line 229 of file GlobalBoard.h.

Referenced by getCandL1External().

◆ m_candL1Jet

BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::m_candL1Jet
private

Definition at line 227 of file GlobalBoard.h.

Referenced by getCandL1Jet().

◆ m_candL1Mu

BXVector<const l1t::Muon*>* l1t::GlobalBoard::m_candL1Mu
private

Definition at line 223 of file GlobalBoard.h.

Referenced by getCandL1Mu().

◆ m_candL1MuShower

BXVector<const l1t::MuonShower*>* l1t::GlobalBoard::m_candL1MuShower
private

Definition at line 224 of file GlobalBoard.h.

Referenced by getCandL1MuShower().

◆ m_candL1Tau

BXVector<const l1t::L1Candidate*>* l1t::GlobalBoard::m_candL1Tau
private

Definition at line 226 of file GlobalBoard.h.

Referenced by getCandL1Tau().

◆ m_conditionResultMaps

std::vector<AlgorithmEvaluation::ConditionEvaluationMap> l1t::GlobalBoard::m_conditionResultMaps
private

Definition at line 245 of file GlobalBoard.h.

◆ m_currentLumi

unsigned int l1t::GlobalBoard::m_currentLumi
private

Definition at line 247 of file GlobalBoard.h.

◆ m_gtlAlgorithmOR

std::bitset<GlobalAlgBlk::maxPhysicsTriggers> l1t::GlobalBoard::m_gtlAlgorithmOR
private

Definition at line 239 of file GlobalBoard.h.

Referenced by getAlgorithmOR(), and GlobalBoard().

◆ m_gtlDecisionWord

std::bitset<GlobalAlgBlk::maxPhysicsTriggers> l1t::GlobalBoard::m_gtlDecisionWord
private

Definition at line 240 of file GlobalBoard.h.

Referenced by getDecisionWord(), and GlobalBoard().

◆ m_isDebugEnabled

bool l1t::GlobalBoard::m_isDebugEnabled
private

Definition at line 252 of file GlobalBoard.h.

◆ m_l1CaloGeometry

const L1CaloGeometry* l1t::GlobalBoard::m_l1CaloGeometry
private

Definition at line 213 of file GlobalBoard.h.

◆ m_l1CaloGeometryCacheID

unsigned long long l1t::GlobalBoard::m_l1CaloGeometryCacheID
private

Definition at line 214 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_l1GtMenu

const TriggerMenu* l1t::GlobalBoard::m_l1GtMenu
private

Definition at line 209 of file GlobalBoard.h.

◆ m_l1GtMenuCacheID

unsigned long long l1t::GlobalBoard::m_l1GtMenuCacheID
private

Definition at line 210 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_l1MuTriggerScales

const L1MuTriggerScales* l1t::GlobalBoard::m_l1MuTriggerScales
private

Definition at line 216 of file GlobalBoard.h.

◆ m_l1MuTriggerScalesCacheID

unsigned long long l1t::GlobalBoard::m_l1MuTriggerScalesCacheID
private

Definition at line 217 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_prescaleCounterAlgoTrig

std::vector<std::vector<PrescaleCounter> > l1t::GlobalBoard::m_prescaleCounterAlgoTrig
private

Definition at line 298 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_resetPSCountersEachLumiSec

bool l1t::GlobalBoard::m_resetPSCountersEachLumiSec = true
private

Definition at line 269 of file GlobalBoard.h.

Referenced by setResetPSCountersEachLumiSec().

◆ m_semiRandomInitialPSCounters

bool l1t::GlobalBoard::m_semiRandomInitialPSCounters = false
private

Definition at line 272 of file GlobalBoard.h.

Referenced by setSemiRandomInitialPSCounters().

◆ m_singlestep

constexpr size_t l1t::GlobalBoard::m_singlestep = 100
staticprivate

Definition at line 277 of file GlobalBoard.h.

Referenced by l1t::GlobalBoard::PrescaleCounter::PrescaleCounter().

◆ m_uGtAlgBlk

GlobalAlgBlk l1t::GlobalBoard::m_uGtAlgBlk
private

Definition at line 242 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_uGtBoardNumber

int l1t::GlobalBoard::m_uGtBoardNumber
private

Definition at line 265 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_uGtFinalBoard

bool l1t::GlobalBoard::m_uGtFinalBoard
private

Definition at line 266 of file GlobalBoard.h.

Referenced by GlobalBoard().

◆ m_verbosity

int l1t::GlobalBoard::m_verbosity
private

verbosity level

Definition at line 251 of file GlobalBoard.h.

Referenced by setVerbosity().