CMS 3D CMS Logo

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

#include <EventFilter/L1TCaloLayer1RawToDigi/plugins/L1TCaloLayer1RawToDigi.cc>

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

Public Member Functions

 L1TCaloLayer1RawToDigi (const 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 (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void makeECalTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< EcalTrigPrimDigiCollection > &ecalTPGs)
 
void makeHCalTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)
 
void makeHFTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)
 
void makeRegions (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< L1CaloRegionCollection > &regions)
 
void produce (Event &, const EventSetup &) override
 

Private Attributes

uint32_t event
 
std::vector< int > fedIDs
 
InputTag fedRawDataLabel
 
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: Raw data unpacker for Layer-1 of Level-1 Calorimeter Trigger

Implementation: This is meant to be simple and straight-forward.
Potential complications due to any changes in firmware are not foreseen. It is assumed that if there are major changes, which is unlikely, there will be a new unpacker written to deal with that.

Definition at line 67 of file L1TCaloLayer1RawToDigi.cc.

Constructor & Destructor Documentation

◆ L1TCaloLayer1RawToDigi()

L1TCaloLayer1RawToDigi::L1TCaloLayer1RawToDigi ( const ParameterSet iConfig)
explicit

Definition at line 105 of file L1TCaloLayer1RawToDigi.cc.

References fedRawDataLabel.

106  : fedRawDataLabel(iConfig.getParameter<InputTag>("fedRawDataLabel")),
107  fedIDs(iConfig.getParameter<std::vector<int> >("FEDIDs")),
108  event(0),
109  verbose(iConfig.getParameter<bool>("verbose")) {
110  produces<EcalTrigPrimDigiCollection>();
111  produces<HcalTrigPrimDigiCollection>();
112  produces<L1CaloRegionCollection>();
113 
114  consumes<FEDRawDataCollection>(fedRawDataLabel);
115 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

Member Function Documentation

◆ fillDescriptions()

void L1TCaloLayer1RawToDigi::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 372 of file L1TCaloLayer1RawToDigi.cc.

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

372  {
373  //The following says we do not know what parameters are allowed so do no validation
374  // Please change this to state exactly what you do use, even if it is no parameters
376  desc.setUnknown();
377  descriptions.addDefault(desc);
378 }
void addDefault(ParameterSetDescription const &psetDescription)

◆ makeECalTPGs()

void L1TCaloLayer1RawToDigi::makeECalTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::unique_ptr< EcalTrigPrimDigiCollection > &  ecalTPGs 
)
private

Definition at line 191 of file L1TCaloLayer1RawToDigi.cc.

References funct::abs(), UCTCTP7RawData::EBEE, EcalBarrel, EcalEndcap, UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), l1ctLayer2EG_cff::id, l1tPhase2CaloJetEmulator_cfi::iEta, createfilelist::int, UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), ecalGpuTask_cfi::sample, EcalTriggerPrimitiveDigi::setSample(), and EcalTriggerPrimitiveDigi::setSize().

Referenced by produce().

193  {
195  for (uint32_t iPhi = 0; iPhi < 4; iPhi++) { // Loop over all four phi divisions on card
196  int cPhi = -1 + lPhi * 4 + iPhi; // Calorimeter phi index
197  if (cPhi == 0)
198  cPhi = 72;
199  else if (cPhi == -1)
200  cPhi = 71;
201  else if (cPhi < -1) {
202  LogError("L1TCaloLayer1RawToDigi") << "L1TCaloLayer1RawToDigi: Major error in makeECalTPGs" << std::endl;
203  return;
204  }
205  for (int cEta = -28; cEta <= 28; cEta++) { // Calorimeter Eta indices (HB/HE for now)
206  if (cEta != 0) { // Calorimeter eta = 0 is invalid
207  bool negativeEta = false;
208  if (cEta < 0)
209  negativeEta = true;
210  uint32_t iEta = abs(cEta);
211  // This code is fragile! Note that towerDatum is packed as is done in EcalTriggerPrimitiveSample
212  // Bottom 8-bits are ET
213  // Then finegrain feature bit
214  // Then three bits have ttBits, which I have no clue about (not available on ECAL links so not set)
215  // Then there is a spare FG Veto bit, which is used for L1 spike detection (not available on ECAL links so not set)
216  // Top three bits seem to be unused. So, we steal those to set the tower masking, link masking and link status information
217  // To decode these custom three bits use ((EcalTriggerPrimitiveSample::raw() >> 13) & 0x7)
218  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
219  if (ctp7Data.getFB(cType, negativeEta, iEta, iPhi) != 0)
220  towerDatum |= 0x0100;
221  if (ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi))
222  towerDatum |= 0x2000;
223  if (ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi))
224  towerDatum |= 0x4000;
225  if (ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
226  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
227  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi))
228  towerDatum |= 0x8000;
230  int zSide = cEta / ((int)iEta);
231  // As far as I can tell, the ECal unpacker only uses barrel and endcap IDs, never EcalTriggerTower
232  const EcalSubdetector ecalTriggerTower =
234  EcalTrigTowerDetId id(zSide, ecalTriggerTower, iEta, cPhi);
235  EcalTriggerPrimitiveDigi tpg(id);
236  tpg.setSize(1);
237  tpg.setSample(0, sample);
238  ecalTPGs->push_back(tpg);
239  }
240  }
241  }
242 }
uint32_t getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
Log< level::Error, false > LogError
bool isLinkDown(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkInError(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isTowerMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
uint32_t getET(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
EcalSubdetector
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)

◆ makeHCalTPGs()

void L1TCaloLayer1RawToDigi::makeHCalTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::unique_ptr< HcalTrigPrimDigiCollection > &  hcalTPGs 
)
private

Definition at line 244 of file L1TCaloLayer1RawToDigi.cc.

References funct::abs(), UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), UCTCTP7RawData::HBHE, l1ctLayer2EG_cff::id, l1tPhase2CaloJetEmulator_cfi::iEta, UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), ecalGpuTask_cfi::sample, HcalTriggerPrimitiveDigi::setSample(), and HcalTriggerPrimitiveDigi::setSize().

Referenced by produce().

246  {
248  for (uint32_t iPhi = 0; iPhi < 4; iPhi++) { // Loop over all four phi divisions on card
249  int cPhi = -1 + lPhi * 4 + iPhi; // Calorimeter phi index
250  if (cPhi == 0)
251  cPhi = 72;
252  else if (cPhi == -1)
253  cPhi = 71;
254  else if (cPhi < -1) {
255  LogError("L1TCaloLayer1RawToDigi") << "L1TCaloLayer1RawToDigi: Major error in makeHCalTPGs" << std::endl;
256  return;
257  }
258  for (int cEta = -28; cEta <= 28; cEta++) { // Calorimeter Eta indices (HB/HE for now)
259  if (cEta != 0) { // Calorimeter eta = 0 is invalid
260  bool negativeEta = false;
261  if (cEta < 0)
262  negativeEta = true;
263  uint32_t iEta = abs(cEta);
264  // This code is fragile! Note that towerDatum is packed as is done in HcalTriggerPrimitiveSample
265  // Bottom 8-bits are ET
266  // Then feature bit
267  // The remaining bits are undefined presently
268  // We use next three bits for link details, which we did not have room in EcalTriggerPrimitiveSample case
269  // We use next three bits to set the tower masking, link masking and link status information as done for Ecal
270  // To decode these custom six bits use ((EcalTriggerPrimitiveSample::raw() >> 9) & 0x77)
271  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
272  if (ctp7Data.getFB(cType, negativeEta, iEta, iPhi) != 0)
273  towerDatum |= 0x0100;
274  if (ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi))
275  towerDatum |= 0x0200;
276  if (ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi))
277  towerDatum |= 0x0400;
278  if (ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi))
279  towerDatum |= 0x0800;
280  if (ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi))
281  towerDatum |= 0x2000;
282  if (ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi))
283  towerDatum |= 0x4000;
284  if (ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
285  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
286  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi))
287  towerDatum |= 0x8000;
289  HcalTrigTowerDetId id(cEta, cPhi);
290  HcalTriggerPrimitiveDigi tpg(id);
291  tpg.setSize(1);
292  tpg.setSample(0, sample);
293  hcalTPGs->push_back(tpg);
294  }
295  }
296  }
297 }
uint32_t getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
Log< level::Error, false > LogError
bool isLinkDown(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkInError(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isTowerMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
uint32_t getET(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)

◆ makeHFTPGs()

void L1TCaloLayer1RawToDigi::makeHFTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::unique_ptr< HcalTrigPrimDigiCollection > &  hcalTPGs 
)
private

Definition at line 299 of file L1TCaloLayer1RawToDigi.cc.

References UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), UCTCTP7RawData::HF, l1ctLayer2EG_cff::id, l1tPhase2CaloJetEmulator_cfi::iEta, UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), ecalGpuTask_cfi::sample, HcalTriggerPrimitiveDigi::setSample(), HcalTriggerPrimitiveDigi::setSize(), and ALPAKA_ACCELERATOR_NAMESPACE::ecal::reconstruction::internal::barrel::side().

Referenced by produce().

301  {
303  for (uint32_t side = 0; side <= 1; side++) {
304  bool negativeEta = false;
305  if (side == 0)
306  negativeEta = true;
307  for (uint32_t iEta = 30; iEta <= 40; iEta++) {
308  for (uint32_t iPhi = 0; iPhi < 2; iPhi++) {
309  if (iPhi == 1 && iEta == 40)
310  iEta = 41;
311  int cPhi = 1 + lPhi * 4 + iPhi * 2; // Calorimeter phi index: 1, 3, 5, ... 71
312  if (iEta == 41)
313  cPhi -= 2; // Last two HF are 3, 7, 11, ...
314  cPhi = (cPhi + 69) % 72 + 1; // cPhi -= 2 mod 72
315  int cEta = iEta;
316  if (negativeEta)
317  cEta = -iEta;
318  // This code is fragile! Note that towerDatum is packed as is done in HcalTriggerPrimitiveSample
319  // Bottom 8-bits are ET
320  // Then feature bit
321  // Then minBias ADC count bit
322  // The remaining bits are undefined presently
323  // We use next three bits for link details, which we did not have room in EcalTriggerPrimitiveSample case
324  // We use next three bits to set the tower masking, link masking and link status information as done for Ecal
325  // To decode these custom six bits use ((EcalTriggerPrimitiveSample::raw() >> 9) & 0x77)
326  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
327  towerDatum |= ctp7Data.getFB(cType, negativeEta, iEta, iPhi) << 8;
328  if (ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi))
329  towerDatum |= 0x0400;
330  if (ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi))
331  towerDatum |= 0x0800;
332  if (ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi))
333  towerDatum |= 0x1000;
334  if (ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi))
335  towerDatum |= 0x2000;
336  if (ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi))
337  towerDatum |= 0x4000;
338  if (ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
339  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
340  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi))
341  towerDatum |= 0x8000;
343  HcalTrigTowerDetId id(cEta, cPhi);
344  id.setVersion(1); // To not process these 1x1 HF TPGs with RCT
345  HcalTriggerPrimitiveDigi tpg(id);
346  tpg.setSize(1);
347  tpg.setSample(0, sample);
348  hcalTPGs->push_back(tpg);
349  }
350  }
351  }
352 }
uint32_t getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkDown(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkInError(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isTowerMasked(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
uint32_t getET(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)

◆ makeRegions()

void L1TCaloLayer1RawToDigi::makeRegions ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::unique_ptr< L1CaloRegionCollection > &  regions 
)
private

Definition at line 354 of file L1TCaloLayer1RawToDigi.cc.

References UCTCTP7RawData::getRegionSummary(), nano_mu_digi_cff::region, and ALPAKA_ACCELERATOR_NAMESPACE::ecal::reconstruction::internal::barrel::side().

Referenced by produce().

356  {
357  for (uint32_t side = 0; side <= 1; side++) {
358  bool negativeEta = false;
359  if (side == 0)
360  negativeEta = true;
361  for (uint32_t region = 0; region <= 6; region++) {
362  uint32_t regionData = ctp7Data.getRegionSummary(negativeEta, region);
363  uint32_t lEta = 10 - region; // GCT eta goes 0-21, 0-3 -HF, 4-10 -B/E, 11-17 +B/E, 18-21 +HF
364  if (!negativeEta)
365  lEta = region + 11;
366  regions->push_back(L1CaloRegion((uint16_t)regionData, (unsigned)lEta, (unsigned)lPhi, (int16_t)0));
367  }
368  }
369 }
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:21
uint32_t getRegionSummary(bool negativeEta, uint32_t region)

◆ produce()

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

Definition at line 122 of file L1TCaloLayer1RawToDigi.cc.

References UCTDAQRawData::amcPayload(), TauDecayModes::dec, FEDRawDataCollection::FEDData(), fedIDs, l1t_dqm_sourceclient-live_cfg::fedRawData, fedRawDataLabel, mps_fire::i, iEvent, edm::HandleBase::isValid(), LogDebug, makeECalTPGs(), makeHCalTPGs(), makeHFTPGs(), makeRegions(), eostools::move(), UCTDAQRawData::nAMCs(), UCTDAQRawData::print(), UCTCTP7RawData::print(), and verbose.

122  {
123  using namespace edm;
124  using namespace std;
125 
126  Handle<FEDRawDataCollection> fedRawDataCollection;
127  iEvent.getByLabel(fedRawDataLabel, fedRawDataCollection);
128 
129  std::unique_ptr<EcalTrigPrimDigiCollection> ecalTPGs(new EcalTrigPrimDigiCollection);
130  std::unique_ptr<HcalTrigPrimDigiCollection> hcalTPGs(new HcalTrigPrimDigiCollection);
131  std::unique_ptr<L1CaloRegionCollection> regions(new L1CaloRegionCollection);
132 
133  // if raw data collection is present, check the headers and do the unpacking
134  if (fedRawDataCollection.isValid()) {
135  for (uint32_t i = 0; i < fedIDs.size(); i++) {
136  uint32_t fed = fedIDs[i];
137 
138  const FEDRawData& fedRawData = fedRawDataCollection->FEDData(fed);
139 
140  //Check FED size
141  if (verbose)
142  LogDebug("L1TCaloLayer1RawToDigi")
143  << "Upacking FEDRawData for fed " << std::dec << fed << " of size " << fedRawData.size();
144 
145  const uint64_t* fedRawDataArray = (const uint64_t*)fedRawData.data();
146 
147  if (fedRawData.size() == 0 || fedRawDataArray == nullptr) {
148  LogDebug("L1TCaloLayer1RawToDigi") << "Could not load FED data for " << fed << ", putting empty collections!";
149  continue;
150  }
151 
152  UCTDAQRawData daqData(fedRawDataArray);
153  if (verbose && event < 5)
154  daqData.print();
155  for (uint32_t i = 0; i < daqData.nAMCs(); i++) {
156  UCTAMCRawData amcData(daqData.amcPayload(i));
157  if (verbose && event < 5) {
158  LogDebug("L1TCaloLayer1") << endl;
159  amcData.print();
160  LogDebug("L1TCaloLayer1") << endl;
161  }
162  uint32_t lPhi = amcData.layer1Phi();
163  UCTCTP7RawData ctp7Data(amcData.payload());
164  if (verbose && event < 5)
165  ctp7Data.print();
166  if (verbose && event < 5)
167  LogDebug("L1TCaloLayer1") << endl;
168  makeECalTPGs(lPhi, ctp7Data, ecalTPGs);
169  makeHCalTPGs(lPhi, ctp7Data, hcalTPGs);
170  // Note: HF TPGs are added at the tail of other TPGs
171  makeHFTPGs(lPhi, ctp7Data, hcalTPGs);
172  makeRegions(lPhi, ctp7Data, regions);
173  }
174  }
175 
176  } else {
177  LogError("L1T") << "Cannot unpack: no collection found";
178 
179  return;
180  }
181 
182  iEvent.put(std::move(ecalTPGs));
183  iEvent.put(std::move(hcalTPGs));
184  iEvent.put(std::move(regions));
185 
186  event++;
187  if (verbose && event == 5)
188  LogDebug("L1TCaloLayer1") << "L1TCaloLayer1RawToDigi: Goodbye! Tired of printing junk" << endl;
189 }
void makeHCalTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)
void makeRegions(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< L1CaloRegionCollection > &regions)
Log< level::Error, false > LogError
int iEvent
Definition: GenABIO.cc:224
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
void makeHFTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)
unsigned long long uint64_t
Definition: Time.h:13
void makeECalTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::unique_ptr< EcalTrigPrimDigiCollection > &ecalTPGs)
bool isValid() const
Definition: HandleBase.h:70
HLT enums.
std::vector< L1CaloRegion > L1CaloRegionCollection
def move(src, dest)
Definition: eostools.py:511
Definition: event.py:1
#define LogDebug(id)

Member Data Documentation

◆ event

uint32_t L1TCaloLayer1RawToDigi::event
private

◆ fedIDs

std::vector<int> L1TCaloLayer1RawToDigi::fedIDs
private

Definition at line 87 of file L1TCaloLayer1RawToDigi.cc.

Referenced by produce().

◆ fedRawDataLabel

InputTag L1TCaloLayer1RawToDigi::fedRawDataLabel
private

Definition at line 86 of file L1TCaloLayer1RawToDigi.cc.

Referenced by L1TCaloLayer1RawToDigi(), and produce().

◆ verbose

bool L1TCaloLayer1RawToDigi::verbose
private