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< std::shared_ptr< 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< std::shared_ptr< 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 = false
 
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 59 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().

61  m_candL1MuShower(new BXVector<std::shared_ptr<l1t::MuonShower>>),
67  m_currentLumi(0),
70 
71  m_gtlAlgorithmOR.reset();
72  m_gtlDecisionWord.reset();
73 
75 
76  // Initialize cached IDs
77  m_l1GtMenuCacheID = 0ULL;
80 
81  // Counter for number of events board sees
83 
84  // A single uGT GlobalBoard is taken into account in the emulator
85  m_uGtBoardNumber = 0;
86  m_uGtFinalBoard = true;
87 }
bool isDebugEnabled()
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< std::shared_ptr< l1t::MuonShower > > * m_candL1MuShower
Definition: GlobalBoard.h:224
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
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 90 of file GlobalBoard.cc.

90  {
91  //reset(); //why would we need a reset?
92  delete m_candL1Mu;
93  delete m_candL1MuShower;
94  delete m_candL1EG;
95  delete m_candL1Tau;
96  delete m_candL1Jet;
97  delete m_candL1EtSum;
98  delete m_candL1External;
99 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< std::shared_ptr< l1t::MuonShower > > * m_candL1MuShower
Definition: GlobalBoard.h:224
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
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 1057 of file GlobalBoard.cc.

References LogDebug.

1061  {
1062  if (m_verbosity) {
1063  LogDebug("L1TGlobal") << "\n**** GlobalBoard fill DAQ Records for bx= " << iBxInEvent;
1064  }
1065 
1066  // Set header information
1067  m_uGtAlgBlk.setbxInEventNr((iBxInEvent & 0xF));
1068  m_uGtAlgBlk.setPreScColumn(prescaleSet);
1069  m_uGtAlgBlk.setL1MenuUUID(menuUUID);
1070  m_uGtAlgBlk.setL1FirmwareUUID(firmwareUUID);
1071 
1075 
1076  uGtAlgRecord->push_back(iBxInEvent, m_uGtAlgBlk);
1077 }
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<std::shared_ptr<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< std::shared_ptr< 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 106 of file GlobalBoard.cc.

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

113  {
115  setBxLast(bxLast);
116 
124 
125  m_uGtAlgBlk.reset();
126 
127  LogDebug("L1TGlobal") << "\t Initializing Board with bxFirst = " << m_bxFirst_ << ", bxLast = " << m_bxLast_;
128 }
BXVector< const l1t::Muon * > * m_candL1Mu
Definition: GlobalBoard.h:223
BXVector< std::shared_ptr< l1t::MuonShower > > * m_candL1MuShower
Definition: GlobalBoard.h:224
BXVector< const l1t::L1Candidate * > * m_candL1EG
Definition: GlobalBoard.h:225
void setBxLast(int bx)
Definition: GlobalBoard.cc:104
BXVector< const l1t::EtSum * > * m_candL1EtSum
Definition: GlobalBoard.h:228
void reset()
reset the content of a GlobalAlgBlk
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:102
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 1131 of file GlobalBoard.cc.

References MillePedeFileConverter_cfg::out.

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

◆ prescaleCountersWithSemirandomInitialCounter()

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

Definition at line 1142 of file GlobalBoard.cc.

References iEvent, and MillePedeFileConverter_cfg::out.

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

◆ printGmtData()

void GlobalBoard::printGmtData ( const int  iBxInEvent) const

print received Muon dataWord

Definition at line 1123 of file GlobalBoard.cc.

References LogTrace.

1123  {
1124  LogTrace("L1TGlobal") << "\nl1t::L1GlobalTrigger: uGMT data received for BxInEvent = " << iBxInEvent;
1125 
1126  int nrL1Mu = m_candL1Mu->size(iBxInEvent);
1127  LogTrace("L1TGlobal") << "Number of GMT muons = " << nrL1Mu << "\n";
1128 }
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 131 of file GlobalBoard.cc.

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

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

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

422  {
423  if (m_verbosity) {
424  LogDebug("L1TGlobal") << "\n**** GlobalBoard receiving external data = ";
425  //<< "\n from input tag " << muInputTag << "\n"
426  }
427 
428  resetExternal();
429 
430  // get data from Global Muon Trigger
431  if (receiveExt) {
433  iEvent.getByToken(extInputToken, extData);
434 
435  if (!extData.isValid()) {
436  if (m_verbosity) {
437  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<GlobalExtBlk> with input tag "
438  //<< muInputTag
439  << "\nrequested in configuration, but not found in the event.\n";
440  }
441  } else {
442  // bx in muon data
443  for (int i = extData->getFirstBX(); i <= extData->getLastBX(); ++i) {
444  // Prevent from pushing back bx that is outside of allowed range
445  if (i < m_bxFirst_ || i > m_bxLast_)
446  continue;
447 
448  //Loop over ext in this bx
449  for (std::vector<GlobalExtBlk>::const_iterator ext = extData->begin(i); ext != extData->end(i); ++ext) {
450  (*m_candL1External).push_back(i, &(*ext));
451  } //end loop over ext in bx
452  } //end loop over bx
453  } //end if over valid ext data
454  } //end if ReceiveExt data
455 }
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 319 of file GlobalBoard.cc.

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

322  {
323  if (m_verbosity) {
324  LogDebug("L1TGlobal") << "\n**** GlobalBoard receiving muon data = ";
325  //<< "\n from input tag " << muInputTag << "\n"
326  }
327 
328  resetMu();
329 
330  // get data from Global Muon Trigger
331  if (receiveMu) {
333  iEvent.getByToken(muInputToken, muonData);
334 
335  if (!muonData.isValid()) {
336  if (m_verbosity) {
337  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::Muon> with input tag "
338  //<< muInputTag
339  << "\nrequested in configuration, but not found in the event.\n";
340  }
341  } else {
342  // bx in muon data
343  for (int i = muonData->getFirstBX(); i <= muonData->getLastBX(); ++i) {
344  // Prevent from pushing back bx that is outside of allowed range
345  if (i < m_bxFirst_ || i > m_bxLast_)
346  continue;
347 
348  //Loop over Muons in this bx
349  int nObj = 0;
350  for (std::vector<l1t::Muon>::const_iterator mu = muonData->begin(i); mu != muonData->end(i); ++mu) {
351  if (nObj < nrL1Mu) {
352  (*m_candL1Mu).push_back(i, &(*mu));
353  } else {
354  edm::LogWarning("L1TGlobal") << " Too many Muons (" << nObj << ") for uGT Configuration maxMu =" << nrL1Mu;
355  }
356 
357  LogDebug("L1TGlobal") << "Muon Pt " << mu->hwPt() << " EtaAtVtx " << mu->hwEtaAtVtx() << " PhiAtVtx "
358  << mu->hwPhiAtVtx() << " Qual " << mu->hwQual() << " Iso " << mu->hwIso();
359  nObj++;
360  } //end loop over muons in bx
361  } //end loop over bx
362  } //end if over valid muon data
363  } //end if ReceiveMuon data
364 }
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 367 of file GlobalBoard.cc.

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

370  {
371  // get data from Global Muon Trigger
372  if (receiveMuShower) {
374  iEvent.getByToken(muShowerInputToken, muonData);
375 
376  if (!muonData.isValid()) {
377  if (m_verbosity) {
378  edm::LogWarning("L1TGlobal") << "\nWarning: BXVector<l1t::MuonShower> with input tag "
379  << "\nrequested in configuration, but not found in the event.\n";
380  }
381  } else {
382  // Loop over Muon Showers in this bx
383  int nObj = 0;
384  for (auto mu = muonData->begin(0); mu != muonData->end(0); ++mu) {
385  if (nObj < nrL1MuShower) {
386  /* NOTE: here the single object is split up into 4 separate MuonShower objects
387  similarly to the description in the UTM library, where the conditions are four different objects.
388  */
389 
390  std::shared_ptr<l1t::MuonShower> musOneNominalInTime =
391  std::make_shared<l1t::MuonShower>(false, false, false, false, false, false);
392  std::shared_ptr<l1t::MuonShower> musOneTightInTime =
393  std::make_shared<l1t::MuonShower>(false, false, false, false, false, false);
394  std::shared_ptr<l1t::MuonShower> musOutOfTime0 =
395  std::make_shared<l1t::MuonShower>(false, false, false, false, false, false);
396  std::shared_ptr<l1t::MuonShower> musOutOfTime1 =
397  std::make_shared<l1t::MuonShower>(false, false, false, false, false, false);
398 
399  musOneNominalInTime->setOneNominalInTime(mu->isOneNominalInTime());
400  musOneTightInTime->setOneTightInTime(mu->isOneTightInTime());
401  musOutOfTime0->setMusOutOfTime0(mu->musOutOfTime0());
402  musOutOfTime1->setMusOutOfTime1(mu->musOutOfTime1());
403 
404  (*m_candL1MuShower).push_back(0, musOneNominalInTime);
405  (*m_candL1MuShower).push_back(0, musOneTightInTime);
406  (*m_candL1MuShower).push_back(0, musOutOfTime0);
407  (*m_candL1MuShower).push_back(0, musOutOfTime1);
408 
409  } else {
410  edm::LogWarning("L1TGlobal") << " Too many Muon Showers (" << nObj
411  << ") for uGT Configuration maxMuShower =" << nrL1MuShower;
412  }
413  nObj++;
414  } //end loop over muon showers in bx
415  } //end if over valid muon shower data
416  } //end if ReceiveMuonShower data
417 }
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

◆ reset()

void GlobalBoard::reset ( void  )

clear uGT

Definition at line 1080 of file GlobalBoard.cc.

1080  {
1081  resetMu();
1082  resetMuonShower();
1083  resetCalo();
1084  resetExternal();
1085 
1086  m_uGtAlgBlk.reset();
1087 
1088  m_gtlDecisionWord.reset();
1089  m_gtlAlgorithmOR.reset();
1090 }
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 1105 of file GlobalBoard.cc.

1105  {
1106  m_candL1EG->clear();
1107  m_candL1Tau->clear();
1108  m_candL1Jet->clear();
1109  m_candL1EtSum->clear();
1110 
1115 }
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 1117 of file GlobalBoard.cc.

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

◆ resetMu()

void GlobalBoard::resetMu ( )

Definition at line 1093 of file GlobalBoard.cc.

1093  {
1094  m_candL1Mu->clear();
1096 }
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 1099 of file GlobalBoard.cc.

1099  {
1102 }
BXVector< std::shared_ptr< 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 936 of file GlobalBoard.cc.

References iEvent, LogDebug, and or.

944  {
945  if (m_verbosity) {
946  LogDebug("L1TGlobal") << "\n**** GlobalBoard apply Final Decision Logic ";
947  }
948 
949  // update and clear prescales at the beginning of the luminosity segment
950  if (m_prescaleCounterAlgoTrig.empty() or
951  (m_currentLumi != iEvent.luminosityBlock() and m_resetPSCountersEachLumiSec)) {
953  m_prescaleCounterAlgoTrig.reserve(totalBxInEvent);
954  auto const& prescaleCountersAlgoTrig =
956  : prescaleCounters(prescaleFactorsAlgoTrig);
957  for (int iBxInEvent = 0; iBxInEvent < totalBxInEvent; ++iBxInEvent) {
958  m_prescaleCounterAlgoTrig.push_back(prescaleCountersAlgoTrig);
959  }
960 
961  m_currentLumi = iEvent.luminosityBlock();
962  }
963 
964  // Copy Algorithm bits to Prescaled word
965  // Prescaling and Masking done below if requested.
967 
968  // -------------------------------------------
969  // Apply Prescales or skip if turned off
970  // -------------------------------------------
971  if (!algorithmTriggersUnprescaled) {
972  // iBxInEvent is ... -2 -1 0 1 2 ... while counters are 0 1 2 3 4 ...
973  int const inBxInEvent = totalBxInEvent / 2 + iBxInEvent;
974 
975  bool temp_algPrescaledOr = false;
976  bool alreadyReported = false;
977  for (unsigned int iBit = 0; iBit < numberPhysTriggers; ++iBit) {
978  bool const bitValue = m_uGtAlgBlk.getAlgoDecisionInitial(iBit);
979  if (bitValue) {
980  // Make sure algo bit in range, warn otherwise
981  if (iBit < prescaleFactorsAlgoTrig.size()) {
982  if (prescaleFactorsAlgoTrig.at(iBit) != 1) {
983  bool const triggered = m_prescaleCounterAlgoTrig.at(inBxInEvent).at(iBit).accept();
984  if (triggered) {
985  temp_algPrescaledOr = true;
986  } else {
987  // change bit to false in prescaled word and final decision word
988  m_uGtAlgBlk.setAlgoDecisionInterm(iBit, false);
989  } //if Prescale counter reached zero
990  } //if prescale factor is not 1 (ie. no prescale)
991  else {
992  temp_algPrescaledOr = true;
993  }
994  } // require bit in range
995  else if (!alreadyReported) {
996  alreadyReported = true;
997  edm::LogWarning("L1TGlobal") << "\nWarning: algoBit >= prescaleFactorsAlgoTrig.size() in bx " << iBxInEvent;
998  }
999  } //if algo bit is set true
1000  } //loop over alg bits
1001 
1002  m_algPrescaledOr = temp_algPrescaledOr; //temp
1003 
1004  } else {
1005  // Since not Prescaling just take OR of Initial Work
1007 
1008  } //if we are going to apply prescales.
1009 
1010  // Copy Algorithm bits fron Prescaled word to Final Word
1011  // Masking done below if requested.
1013 
1014  if (!algorithmTriggersUnmasked) {
1015  bool temp_algFinalOr = false;
1016  bool alreadyReported = false;
1017  for (unsigned int iBit = 0; iBit < numberPhysTriggers; ++iBit) {
1018  const bool bitValue = m_uGtAlgBlk.getAlgoDecisionInterm(iBit);
1019 
1020  if (bitValue) {
1021  //bool isMasked = ( triggerMaskAlgoTrig.at(iBit) == 0 );
1022  bool isMasked = false;
1023  if (iBit < triggerMaskAlgoTrig.size())
1024  isMasked = (triggerMaskAlgoTrig.at(iBit) == 0);
1025  else if (!alreadyReported) {
1026  alreadyReported = true;
1027  edm::LogWarning("L1TGlobal") << "\nWarning: algoBit >= triggerMaskAlgoTrig.size() in bx " << iBxInEvent;
1028  }
1029 
1030  bool const passMask = (bitValue && !isMasked);
1031 
1032  if (passMask)
1033  temp_algFinalOr = true;
1034  else
1035  m_uGtAlgBlk.setAlgoDecisionFinal(iBit, false);
1036 
1037  // Check if veto mask is true, if it is, set the event veto flag.
1038  if (triggerMaskVetoAlgoTrig.at(iBit) == 1)
1039  m_algFinalOrVeto = true;
1040  }
1041  }
1042 
1043  m_algIntermOr = temp_algFinalOr;
1044 
1045  } else {
1047 
1048  }
1049 
1050  // --------------------------
1051  // Set FinalOR for this board
1052  // --------------------------
1054 }
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)

Definition at line 458 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, l1t::AlgorithmEvaluation::operandTokenVector(), CalibrationSummaryClient_cfi::otype, print(), l1t::MuonShowerCondition::print(), l1t::MuCondition::print(), l1t::EnergySumCondition::print(), l1t::ExternalCondition::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().

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

◆ setBxLast()

void GlobalBoard::setBxLast ( int  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 verbosity.

203 { m_verbosity = verbosity; }
int m_verbosity
verbosity level
Definition: GlobalBoard.h:251
const int 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<std::shared_ptr<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 = false
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().