CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
L1TCaloLayer1 Class Reference

#include <L1Trigger/L1TCaloLayer1/plugins/L1TCaloLayer1.cc>

Inheritance diagram for L1TCaloLayer1:
edm::stream::EDProducer<>

Public Member Functions

 L1TCaloLayer1 (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void produce (edm::Event &, const edm::EventSetup &) override
 

Private Attributes

std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > ecalLUT
 
edm::EDGetTokenT< EcalTrigPrimDigiCollectionecalTPSource
 
std::vector< unsigned int > ePhiMap
 
int fwVersion
 
std::vector< unsigned long long int > hcalFBLUT
 
std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > hcalLUT
 
edm::EDGetTokenT< HcalTrigPrimDigiCollectionhcalTPSource
 
std::vector< std::array< std::array< uint32_t, nEtBins >, nHfEtaBins > > hfLUT
 
std::vector< unsigned int > hfPhiMap
 
std::vector< unsigned int > hPhiMap
 
std::unique_ptr< UCTLayer1 > layer1
 
const L1TCaloLayer1FetchLUTsTokens lutsTokens
 
edm::EDPutTokenT< L1CaloRegionCollectionregionPutToken
 
edm::EDPutTokenT< CaloTowerBxCollectiontowerPutToken
 
std::vector< UCTTower * > twrList
 
bool unpackEcalMask
 
bool unpackHcalMask
 
bool useCalib
 
bool useECALLUT
 
bool useHCALFBLUT
 
bool useHCALLUT
 
bool useHFLUT
 
bool useLSB
 
bool verbose
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 58 of file L1TCaloLayer1.cc.

Constructor & Destructor Documentation

◆ L1TCaloLayer1()

L1TCaloLayer1::L1TCaloLayer1 ( const edm::ParameterSet iConfig)
explicit

Definition at line 117 of file L1TCaloLayer1.cc.

118  : ecalTPSource(consumes<EcalTrigPrimDigiCollection>(iConfig.getParameter<edm::InputTag>("ecalToken"))),
119  hcalTPSource(consumes<HcalTrigPrimDigiCollection>(iConfig.getParameter<edm::InputTag>("hcalToken"))),
120  towerPutToken{produces<CaloTowerBxCollection>()},
121  regionPutToken{produces<L1CaloRegionCollection>()},
122  lutsTokens{esConsumes<edm::Transition::BeginRun>(),
123  esConsumes<edm::Transition::BeginRun>(),
124  esConsumes<edm::Transition::BeginRun>()},
125  ePhiMap(72 * 2, 0),
126  hPhiMap(72 * 2, 0),
127  hfPhiMap(72 * 2, 0),
128  useLSB(iConfig.getParameter<bool>("useLSB")),
129  useCalib(iConfig.getParameter<bool>("useCalib")),
130  useECALLUT(iConfig.getParameter<bool>("useECALLUT")),
131  useHCALLUT(iConfig.getParameter<bool>("useHCALLUT")),
132  useHFLUT(iConfig.getParameter<bool>("useHFLUT")),
133  useHCALFBLUT(iConfig.getParameter<bool>("useHCALFBLUT")),
134  verbose(iConfig.getUntrackedParameter<bool>("verbose")),
135  unpackHcalMask(iConfig.getParameter<bool>("unpackHcalMask")),
136  unpackEcalMask(iConfig.getParameter<bool>("unpackEcalMask")),
137  fwVersion(iConfig.getParameter<int>("firmwareVersion")) {
138  // See UCTLayer1.hh for firmware version definitions
139  layer1 = std::make_unique<UCTLayer1>(fwVersion);
140 
141  vector<UCTCrate*> crates = layer1->getCrates();
142  for (uint32_t crt = 0; crt < crates.size(); crt++) {
143  vector<UCTCard*> cards = crates[crt]->getCards();
144  for (uint32_t crd = 0; crd < cards.size(); crd++) {
145  vector<UCTRegion*> regions = cards[crd]->getRegions();
146  for (uint32_t rgn = 0; rgn < regions.size(); rgn++) {
147  vector<UCTTower*> towers = regions[rgn]->getTowers();
148  for (uint32_t twr = 0; twr < towers.size(); twr++) {
149  twrList.push_back(towers[twr]);
150  }
151  }
152  }
153  }
154 
155  // This sort corresponds to the sort condition on
156  // the output CaloTowerBxCollection
157  std::sort(twrList.begin(), twrList.end(), [](UCTTower* a, UCTTower* b) {
158  return CaloTools::caloTowerHash(a->caloEta(), a->caloPhi()) < CaloTools::caloTowerHash(b->caloEta(), b->caloPhi());
159  });
160 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
std::vector< unsigned int > hfPhiMap
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSource
std::unique_ptr< UCTLayer1 > layer1
edm::EDPutTokenT< L1CaloRegionCollection > regionPutToken
T getUntrackedParameter(std::string const &, T const &) const
std::vector< UCTTower * > twrList
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSource
const L1TCaloLayer1FetchLUTsTokens lutsTokens
double b
Definition: hdecay.h:120
edm::EDPutTokenT< CaloTowerBxCollection > towerPutToken
std::vector< unsigned int > hPhiMap
double a
Definition: hdecay.h:121
std::vector< unsigned int > ePhiMap

Member Function Documentation

◆ beginRun()

void L1TCaloLayer1::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 294 of file L1TCaloLayer1.cc.

References ecalLUT, ePhiMap, fwVersion, hcalFBLUT, hcalLUT, hfLUT, hfPhiMap, hPhiMap, mps_fire::i, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, dqmiolumiharvest::j, dqmdumpme::k, L1TCaloLayer1FetchLUTs(), LOG_ERROR, lutsTokens, twrList, useCalib, useECALLUT, useHCALFBLUT, useHCALLUT, useHFLUT, and useLSB.

294  {
296  iSetup,
297  ecalLUT,
298  hcalLUT,
299  hfLUT,
300  hcalFBLUT,
301  ePhiMap,
302  hPhiMap,
303  hfPhiMap,
304  useLSB,
305  useCalib,
306  useECALLUT,
307  useHCALLUT,
308  useHFLUT,
309  useHCALFBLUT,
310  fwVersion)) {
311  LOG_ERROR << "L1TCaloLayer1::beginRun: failed to fetch LUTS - using unity" << std::endl;
312  // Andrew's note: Sets these to empty arrays initially, then fills all elements with 32 bits of 1's
313  // to represent a bit-wise unity, and get around initialization complaints on the (now) created null array.
314  // I'm not crazy about how this is structured, but c++ appears to not offer a lot of utilities
315  // for filling std::array's (especially nested ones) without listing out every value by hand, or creating them nulled.
316  std::array<std::array<std::array<uint32_t, nEtBins>, nCalSideBins>, nCalEtaBins> eCalLayer1EtaSideEtArray = {};
317  std::array<std::array<std::array<uint32_t, nEtBins>, nCalSideBins>, nCalEtaBins> hCalLayer1EtaSideEtArray = {};
318  std::array<std::array<uint32_t, nEtBins>, nHfEtaBins> hfLayer1EtaEtArray = {};
319  for (uint32_t i = 0; i < nCalEtaBins; i++) {
320  for (uint32_t j = 0; j < nCalSideBins; j++) {
321  for (uint32_t k = 0; k < nEtBins; k++) {
322  eCalLayer1EtaSideEtArray[i][j][k] = 0xFFFFFFFF;
323  hCalLayer1EtaSideEtArray[i][j][k] = 0xFFFFFFFF;
324  }
325  }
326  }
327  for (uint32_t i = 0; i < nHfEtaBins; i++) {
328  for (uint32_t j = 0; j < nEtBins; j++) {
329  hfLayer1EtaEtArray[i][j] = 0xFFFFFFFF;
330  }
331  }
332  ecalLUT.push_back(eCalLayer1EtaSideEtArray);
333  hcalLUT.push_back(hCalLayer1EtaSideEtArray);
334  hfLUT.push_back(hfLayer1EtaEtArray);
335  }
336  for (uint32_t twr = 0; twr < twrList.size(); twr++) {
337  // Map goes minus 1 .. 72 plus 1 .. 72 -> 0 .. 143
338  int iphi = twrList[twr]->caloPhi();
339  int ieta = twrList[twr]->caloEta();
340  if (ieta < 0) {
341  iphi -= 1;
342  } else {
343  iphi += 71;
344  }
345  twrList[twr]->setECALLUT(&ecalLUT[ePhiMap[iphi]]);
346  twrList[twr]->setHCALLUT(&hcalLUT[hPhiMap[iphi]]);
347  twrList[twr]->setHFLUT(&hfLUT[hfPhiMap[iphi]]);
348  }
349 }
std::vector< std::array< std::array< uint32_t, nEtBins >, nHfEtaBins > > hfLUT
std::vector< unsigned int > hfPhiMap
std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > ecalLUT
std::vector< unsigned long long int > hcalFBLUT
std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > hcalLUT
std::vector< UCTTower * > twrList
const L1TCaloLayer1FetchLUTsTokens lutsTokens
std::vector< unsigned int > hPhiMap
bool L1TCaloLayer1FetchLUTs(const L1TCaloLayer1FetchLUTsTokens &iTokens, const edm::EventSetup &iSetup, std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > &eLUT, std::vector< std::array< std::array< std::array< uint32_t, nEtBins >, nCalSideBins >, nCalEtaBins > > &hLUT, std::vector< std::array< std::array< uint32_t, nEtBins >, nHfEtaBins > > &hfLUT, std::vector< unsigned long long int > &hcalFBLUT, std::vector< unsigned int > &ePhiMap, std::vector< unsigned int > &hPhiMap, std::vector< unsigned int > &hfPhiMap, bool useLSB, bool useCalib, bool useECALLUT, bool useHCALLUT, bool useHFLUT, bool useHCALFBLUT, int fwVersion)
std::vector< unsigned int > ePhiMap
#define LOG_ERROR
Definition: CSCDQM_Logger.h:40

◆ fillDescriptions()

void L1TCaloLayer1::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 376 of file L1TCaloLayer1.cc.

References edm::ConfigurationDescriptions::addDefault(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

376  {
377  //Description set to reflect default present in simCaloStage2Layer1Digis_cfi.py
378  //Currently redundant, but could be adjusted to provide defaults in case additional LUT
379  //checks are added and before other configurations adjust to match.
381  desc.add<edm::InputTag>("ecalToken", edm::InputTag("simEcalTriggerPrimitiveDigis"));
382  desc.add<edm::InputTag>("hcalToken", edm::InputTag("simHcalTriggerPrimitiveDigis"));
383  desc.add<bool>("useLSB", true);
384  desc.add<bool>("useCalib", true);
385  desc.add<bool>("useECALLUT", true);
386  desc.add<bool>("useHCALLUT", true);
387  desc.add<bool>("useHFLUT", true);
388  desc.add<bool>("useHCALFBLUT", false);
389  desc.addUntracked<bool>("verbose", false);
390  desc.add<bool>("unpackEcalMask", false);
391  desc.add<bool>("unpackHcalMask", false);
392  desc.add<int>("firmwareVersion", 1);
393  descriptions.addDefault(desc);
394 }
void addDefault(ParameterSetDescription const &psetDescription)

◆ produce()

void L1TCaloLayer1::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 167 of file L1TCaloLayer1.cc.

References funct::abs(), ecalTPSource, EgHLTOffHistBins_cfi::et, g, hcalTPSource, iEvent, edm::HandleBase::isValid(), layer1, LOG_ERROR, eostools::move(), BXVector< T >::push_back(), l1tstage2_dqm_sourceclient-live_cfg::rawData, nano_mu_digi_cff::region, regionPutToken, l1t::L1Candidate::setHwEta(), l1t::CaloTower::setHwEtEm(), l1t::CaloTower::setHwEtHad(), l1t::CaloTower::setHwEtRatio(), l1t::L1Candidate::setHwPhi(), l1t::L1Candidate::setHwPt(), l1t::L1Candidate::setHwQual(), submitPVValidationJobs::t, towerPutToken, twrList, unpackEcalMask, unpackHcalMask, and testProducerWithPsetDescEmpty_cfi::x1.

167  {
168  using namespace edm;
169 
171  iEvent.getByToken(ecalTPSource, ecalTPs);
173  iEvent.getByToken(hcalTPSource, hcalTPs);
174 
175  CaloTowerBxCollection towersColl;
176  L1CaloRegionCollection rgnCollection;
177 
178  if (!layer1->clearEvent()) {
179  LOG_ERROR << "UCT: Failed to clear event" << std::endl;
180  return;
181  }
182 
183  for (const auto& ecalTp : *ecalTPs) {
184  if (unpackEcalMask && ((ecalTp.sample(0).raw() >> 13) & 0x1))
185  continue;
186  int caloEta = ecalTp.id().ieta();
187  int caloPhi = ecalTp.id().iphi();
188  int et = ecalTp.compressedEt();
189  bool fgVeto = ecalTp.fineGrain();
190  UCTTowerIndex t = UCTTowerIndex(caloEta, caloPhi);
191  if (!layer1->setECALData(t, fgVeto, et)) {
192  LOG_ERROR << "UCT: Failed loading an ECAL tower" << std::endl;
193  return;
194  }
195  }
196 
197  if (hcalTPs.isValid()) {
198  for (const auto& hcalTp : *hcalTPs) {
199  if (unpackHcalMask && ((hcalTp.sample(0).raw() >> 13) & 0x1))
200  continue;
201  int caloEta = hcalTp.id().ieta();
202  uint32_t absCaloEta = std::abs(caloEta);
203  // Tower 29 is not used by Layer-1
204  if (absCaloEta == 29) {
205  continue;
206  }
207  // Prevent usage of HF TPs with Layer-1 emulator if HCAL TPs are old style
208  else if (hcalTp.id().version() == 0 && absCaloEta > 29) {
209  continue;
210  } else if (absCaloEta <= 41) {
211  int caloPhi = hcalTp.id().iphi();
212  int et = hcalTp.SOI_compressedEt();
213  bool fg = hcalTp.t0().fineGrain(0); // depth
214  bool fg2 = hcalTp.t0().fineGrain(1); // prompt
215  bool fg3 = hcalTp.t0().fineGrain(2); // delay 1
216  bool fg4 = hcalTp.t0().fineGrain(3); // delay 2
217  // note that hcalTp.t0().fineGrain(4) and hcalTp.t0().fineGrain(5) are the reserved MIP bits (not used for LLP logic)
218  if (caloPhi <= 72) {
219  UCTTowerIndex t = UCTTowerIndex(caloEta, caloPhi);
220  uint32_t featureBits = 0;
221  if (absCaloEta > 29) {
222  if (fg)
223  featureBits |= 0b01;
224  // fg2 should only be set for HF
225  if (fg2)
226  featureBits |= 0b10;
227  } else if (absCaloEta < 16)
228  featureBits |= (fg | ((!fg2) & (fg3 | fg4))); // depth | (!prompt & (delay1 | delay2))
229  if (!layer1->setHCALData(t, featureBits, et)) {
230  LOG_ERROR << "caloEta = " << caloEta << "; caloPhi =" << caloPhi << std::endl;
231  LOG_ERROR << "UCT: Failed loading an HCAL tower" << std::endl;
232  return;
233  }
234  } else {
235  LOG_ERROR << "Illegal Tower: caloEta = " << caloEta << "; caloPhi =" << caloPhi << "; et = " << et
236  << std::endl;
237  }
238  } else {
239  LOG_ERROR << "Illegal Tower: caloEta = " << caloEta << std::endl;
240  }
241  }
242  }
243 
244  //Process
245  if (!layer1->process()) {
246  LOG_ERROR << "UCT: Failed to process layer 1" << std::endl;
247  }
248 
249  int theBX = 0; // Currently we only read and process the "hit" BX only
250 
251  for (uint32_t twr = 0; twr < twrList.size(); twr++) {
252  CaloTower caloTower;
253  caloTower.setHwPt(twrList[twr]->et()); // Bits 0-8 of the 16-bit word per the interface protocol document
254  caloTower.setHwEtRatio(twrList[twr]->er()); // Bits 9-11 of the 16-bit word per the interface protocol document
255  caloTower.setHwQual(twrList[twr]->miscBits()); // Bits 12-15 of the 16-bit word per the interface protocol document
256  caloTower.setHwEta(twrList[twr]->caloEta()); // caloEta = 1-28 and 30-41
257  caloTower.setHwPhi(twrList[twr]->caloPhi()); // caloPhi = 1-72
258  caloTower.setHwEtEm(twrList[twr]->getEcalET()); // This is provided as a courtesy - not available to hardware
259  caloTower.setHwEtHad(twrList[twr]->getHcalET()); // This is provided as a courtesy - not available to hardware
260  towersColl.push_back(theBX, caloTower);
261  }
262 
263  iEvent.emplace(towerPutToken, std::move(towersColl));
264 
265  UCTGeometry g;
266  vector<UCTCrate*> crates = layer1->getCrates();
267  for (uint32_t crt = 0; crt < crates.size(); crt++) {
268  vector<UCTCard*> cards = crates[crt]->getCards();
269  for (uint32_t crd = 0; crd < cards.size(); crd++) {
270  vector<UCTRegion*> regions = cards[crd]->getRegions();
271  for (uint32_t rgn = 0; rgn < regions.size(); rgn++) {
272  uint32_t rawData = regions[rgn]->rawData();
273  uint32_t regionData = rawData & 0x0000FFFF;
274  uint32_t crate = regions[rgn]->getCrate();
275  uint32_t card = regions[rgn]->getCard();
276  uint32_t region = regions[rgn]->getRegion();
277  bool negativeEta = regions[rgn]->isNegativeEta();
278  uint32_t rPhi = g.getUCTRegionPhiIndex(crate, card);
279  if (region < NRegionsInCard) { // We only store the Barrel and Endcap - HF has changed in the upgrade
280  uint32_t rEta =
281  10 -
282  region; // UCT region is 0-6 for B/E but GCT eta goes 0-21, 0-3 -HF, 4-10 -B/E, 11-17 +B/E, 18-21 +HF
283  if (!negativeEta)
284  rEta = 11 + region; // Positive eta portion is offset by 11
285  rgnCollection.push_back(L1CaloRegion((uint16_t)regionData, (unsigned)rEta, (unsigned)rPhi, (int16_t)0));
286  }
287  }
288  }
289  }
290  iEvent.emplace(regionPutToken, std::move(rgnCollection));
291 }
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSource
void setHwQual(int qual)
Definition: L1Candidate.h:31
void setHwEtHad(int et)
Definition: CaloTower.cc:29
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 g
Definition: Activities.doc:4
std::unique_ptr< UCTLayer1 > layer1
edm::EDPutTokenT< L1CaloRegionCollection > regionPutToken
int iEvent
Definition: GenABIO.cc:224
std::vector< UCTTower * > twrList
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void setHwEtRatio(int ratio)
Definition: CaloTower.cc:31
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSource
void setHwPhi(int phi)
Definition: L1Candidate.h:30
edm::EDPutTokenT< CaloTowerBxCollection > towerPutToken
bool isValid() const
Definition: HandleBase.h:70
HLT enums.
void setHwPt(int pt)
Definition: L1Candidate.h:28
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:21
void setHwEta(int eta)
Definition: L1Candidate.h:29
std::vector< L1CaloRegion > L1CaloRegionCollection
void setHwEtEm(int et)
Definition: CaloTower.cc:27
def move(src, dest)
Definition: eostools.py:511
#define LOG_ERROR
Definition: CSCDQM_Logger.h:40
void push_back(int bx, T object)

Member Data Documentation

◆ ecalLUT

std::vector<std::array<std::array<std::array<uint32_t, nEtBins>, nCalSideBins>, nCalEtaBins> > L1TCaloLayer1::ecalLUT
private

Definition at line 81 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ ecalTPSource

edm::EDGetTokenT<EcalTrigPrimDigiCollection> L1TCaloLayer1::ecalTPSource
private

Definition at line 75 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ ePhiMap

std::vector<unsigned int> L1TCaloLayer1::ePhiMap
private

Definition at line 86 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ fwVersion

int L1TCaloLayer1::fwVersion
private

Definition at line 101 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ hcalFBLUT

std::vector<unsigned long long int> L1TCaloLayer1::hcalFBLUT
private

Definition at line 84 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ hcalLUT

std::vector<std::array<std::array<std::array<uint32_t, nEtBins>, nCalSideBins>, nCalEtaBins> > L1TCaloLayer1::hcalLUT
private

Definition at line 82 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ hcalTPSource

edm::EDGetTokenT<HcalTrigPrimDigiCollection> L1TCaloLayer1::hcalTPSource
private

Definition at line 76 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ hfLUT

std::vector<std::array<std::array<uint32_t, nEtBins>, nHfEtaBins> > L1TCaloLayer1::hfLUT
private

Definition at line 83 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ hfPhiMap

std::vector<unsigned int> L1TCaloLayer1::hfPhiMap
private

Definition at line 88 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ hPhiMap

std::vector<unsigned int> L1TCaloLayer1::hPhiMap
private

Definition at line 87 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ layer1

std::unique_ptr<UCTLayer1> L1TCaloLayer1::layer1
private

Definition at line 103 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ lutsTokens

const L1TCaloLayer1FetchLUTsTokens L1TCaloLayer1::lutsTokens
private

Definition at line 79 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ regionPutToken

edm::EDPutTokenT<L1CaloRegionCollection> L1TCaloLayer1::regionPutToken
private

Definition at line 78 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ towerPutToken

edm::EDPutTokenT<CaloTowerBxCollection> L1TCaloLayer1::towerPutToken
private

Definition at line 77 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ twrList

std::vector<UCTTower*> L1TCaloLayer1::twrList
private

Definition at line 90 of file L1TCaloLayer1.cc.

Referenced by beginRun(), and produce().

◆ unpackEcalMask

bool L1TCaloLayer1::unpackEcalMask
private

Definition at line 100 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ unpackHcalMask

bool L1TCaloLayer1::unpackHcalMask
private

Definition at line 99 of file L1TCaloLayer1.cc.

Referenced by produce().

◆ useCalib

bool L1TCaloLayer1::useCalib
private

Definition at line 93 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ useECALLUT

bool L1TCaloLayer1::useECALLUT
private

Definition at line 94 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ useHCALFBLUT

bool L1TCaloLayer1::useHCALFBLUT
private

Definition at line 97 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ useHCALLUT

bool L1TCaloLayer1::useHCALLUT
private

Definition at line 95 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ useHFLUT

bool L1TCaloLayer1::useHFLUT
private

Definition at line 96 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ useLSB

bool L1TCaloLayer1::useLSB
private

Definition at line 92 of file L1TCaloLayer1.cc.

Referenced by beginRun().

◆ verbose

bool L1TCaloLayer1::verbose
private