CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 L1TCaloLayer1RawToDigi (const ParameterSet &)
 
 ~L1TCaloLayer1RawToDigi ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Static Public Member Functions

static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual void beginStream (StreamID) override
 
virtual void endStream () override
 
void makeECalTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< EcalTrigPrimDigiCollection > &ecalTPGs)
 
void makeHCalTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)
 
void makeHFTPGs (uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< HcalTrigPrimDigiCollection > &hfTPGs)
 
virtual 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<>
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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 66 of file L1TCaloLayer1RawToDigi.cc.

Constructor & Destructor Documentation

L1TCaloLayer1RawToDigi::L1TCaloLayer1RawToDigi ( const ParameterSet iConfig)
explicit

Definition at line 112 of file L1TCaloLayer1RawToDigi.cc.

References fedRawDataLabel.

112  :
113  fedRawDataLabel(iConfig.getParameter<InputTag>("fedRawDataLabel")),
114  fedIDs(iConfig.getParameter<std::vector<int> >("FEDIDs")),
115  event(0),
116  verbose(iConfig.getParameter<bool>("verbose"))
117 {
118 
119  produces<EcalTrigPrimDigiCollection>();
120  produces<HcalTrigPrimDigiCollection>();
121  produces<HcalTrigPrimDigiCollection>("hfTPGDigis");
122 
123  consumes<FEDRawDataCollection>(fedRawDataLabel);
124 
125 }
T getParameter(std::string const &) const
L1TCaloLayer1RawToDigi::~L1TCaloLayer1RawToDigi ( )

Definition at line 128 of file L1TCaloLayer1RawToDigi.cc.

129 {
130 
131 }

Member Function Documentation

void L1TCaloLayer1RawToDigi::beginStream ( StreamID  )
overrideprivatevirtual

Reimplemented from edm::stream::EDProducerBase.

Definition at line 332 of file L1TCaloLayer1RawToDigi.cc.

333 {
334 }
void L1TCaloLayer1RawToDigi::endStream ( )
overrideprivatevirtual

Reimplemented from edm::stream::EDProducerBase.

Definition at line 338 of file L1TCaloLayer1RawToDigi.cc.

338  {
339 }
void L1TCaloLayer1RawToDigi::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 375 of file L1TCaloLayer1RawToDigi.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

375  {
376  //The following says we do not know what parameters are allowed so do no validation
377  // Please change this to state exactly what you do use, even if it is no parameters
379  desc.setUnknown();
380  descriptions.addDefault(desc);
381 }
void addDefault(ParameterSetDescription const &psetDescription)
void L1TCaloLayer1RawToDigi::makeECalTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::auto_ptr< EcalTrigPrimDigiCollection > &  ecalTPGs 
)
private

Definition at line 203 of file L1TCaloLayer1RawToDigi.cc.

References funct::abs(), UCTCTP7RawData::EBEE, EcalTriggerTower, UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), compare_using_db::sample, EcalTriggerPrimitiveDigi::setSample(), and EcalTriggerPrimitiveDigi::setSize().

Referenced by produce().

203  {
205  for(uint32_t iPhi = 0; iPhi < 4; iPhi++) { // Loop over all four phi divisions on card
206  int cPhi = - 1 + lPhi * 4 + iPhi; // Calorimeter phi index
207  if(cPhi == 0) cPhi = 72;
208  else if(cPhi == -1) cPhi = 71;
209  else if(cPhi < -1) {
210  LogError("L1TCaloLayer1RawToDigi") << "L1TCaloLayer1RawToDigi: Major error in makeECalTPGs" << std::endl;
211  return;
212  }
213  for(int cEta = -28; cEta <= 28; cEta++) { // Calorimeter Eta indices (HB/HE for now)
214  if(cEta != 0) { // Calorimeter eta = 0 is invalid
215  bool negativeEta = false;
216  if(cEta < 0) negativeEta = true;
217  uint32_t iEta = abs(cEta);
218  // This code is fragile! Note that towerDatum is packed as is done in EcalTriggerPrimitiveSample
219  // Bottom 8-bits are ET
220  // Then finegrain feature bit
221  // Then three bits have ttBits, which I have no clue about (not available on ECAL links so not set)
222  // Then there is a spare FG Veto bit, which is used for L1 spike detection (not available on ECAL links so not set)
223  // Top three bits seem to be unused. So, we steal those to set the tower masking, link masking and link status information
224  // To decode these custom three bits use ((EcalTriggerPrimitiveSample::raw() >> 13) & 0x7)
225  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
226  if(ctp7Data.getFB(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0100;
227  if(ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x2000;
228  if(ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x4000;
229  if(ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
230  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
231  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x8000;
232  EcalTriggerPrimitiveSample sample(towerDatum);
233  int zSide = cEta / ((int) iEta);
235  EcalTrigTowerDetId id(zSide, ecalTriggerTower, iEta, cPhi);
236  EcalTriggerPrimitiveDigi tpg(id);
237  tpg.setSize(1);
238  tpg.setSample(0, sample);
239  ecalTPGs->push_back(tpg);
240  }
241  }
242  }
243 
244 }
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)
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 getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
EcalSubdetector
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
void L1TCaloLayer1RawToDigi::makeHCalTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::auto_ptr< HcalTrigPrimDigiCollection > &  hcalTPGs 
)
private

Definition at line 246 of file L1TCaloLayer1RawToDigi.cc.

References funct::abs(), UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), UCTCTP7RawData::HBHE, UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), compare_using_db::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) cPhi = 72;
251  else if(cPhi == -1) cPhi = 71;
252  else if(cPhi < -1) {
253  LogError("L1TCaloLayer1RawToDigi") << "L1TCaloLayer1RawToDigi: Major error in makeHCalTPGs" << std::endl;
254  return;
255  }
256  for(int cEta = -28; cEta <= 28; cEta++) { // Calorimeter Eta indices (HB/HE for now)
257  if(cEta != 0) { // Calorimeter eta = 0 is invalid
258  bool negativeEta = false;
259  if(cEta < 0) negativeEta = true;
260  uint32_t iEta = abs(cEta);
261  // This code is fragile! Note that towerDatum is packed as is done in HcalTriggerPrimitiveSample
262  // Bottom 8-bits are ET
263  // Then feature bit
264  // The remaining bits are undefined presently
265  // We use next three bits for link details, which we did not have room in EcalTriggerPrimitiveSample case
266  // We use next three bits to set the tower masking, link masking and link status information as done for Ecal
267  // To decode these custom six bits use ((EcalTriggerPrimitiveSample::raw() >> 9) & 0x77)
268  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
269  if(ctp7Data.getFB(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0100;
270  if(ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0200;
271  if(ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0400;
272  if(ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0800;
273  if(ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x2000;
274  if(ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x4000;
275  if(ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
276  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
277  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x8000;
278  HcalTriggerPrimitiveSample sample(towerDatum);
279  HcalTrigTowerDetId id(cEta, cPhi);
280  HcalTriggerPrimitiveDigi tpg(id);
281  tpg.setSize(1);
282  tpg.setSample(0, sample);
283  hcalTPGs->push_back(tpg);
284  }
285  }
286  }
287 
288 }
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)
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 getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
void L1TCaloLayer1RawToDigi::makeHFTPGs ( uint32_t  lPhi,
UCTCTP7RawData ctp7Data,
std::auto_ptr< HcalTrigPrimDigiCollection > &  hfTPGs 
)
private

Definition at line 290 of file L1TCaloLayer1RawToDigi.cc.

References UCTCTP7RawData::getET(), UCTCTP7RawData::getFB(), UCTCTP7RawData::HF, UCTCTP7RawData::isLinkDown(), UCTCTP7RawData::isLinkInError(), UCTCTP7RawData::isLinkMasked(), UCTCTP7RawData::isLinkMisaligned(), UCTCTP7RawData::isTowerMasked(), compare_using_db::sample, HcalTriggerPrimitiveDigi::setSample(), and HcalTriggerPrimitiveDigi::setSize().

Referenced by produce().

290  {
292  for(uint32_t side = 0; side <= 1; side++) {
293  bool negativeEta = false;
294  if(side == 0) negativeEta = true;
295  for(uint32_t iEta = 30; iEta <= 40; iEta++) {
296  for(uint32_t iPhi = 0; iPhi < 2; iPhi++) {
297  if(iPhi == 1 && iEta == 40) iEta = 41;
298  int cPhi = 1 + lPhi * 2 + iPhi; // Calorimeter phi index
299  if(iEta == 40 || iEta == 41) cPhi = lPhi + 1;
300  int cEta = iEta;
301  if(negativeEta) cEta = -iEta;
302  // This code is fragile! Note that towerDatum is packed as is done in HcalTriggerPrimitiveSample
303  // Bottom 8-bits are ET
304  // Then feature bit
305  // The remaining bits are undefined presently
306  // We use next three bits for link details, which we did not have room in EcalTriggerPrimitiveSample case
307  // We use next three bits to set the tower masking, link masking and link status information as done for Ecal
308  // To decode these custom six bits use ((EcalTriggerPrimitiveSample::raw() >> 9) & 0x77)
309  uint32_t towerDatum = ctp7Data.getET(cType, negativeEta, iEta, iPhi);
310  if(ctp7Data.getFB(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0100;
311  if(ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0200;
312  if(ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0400;
313  if(ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x0800;
314  if(ctp7Data.isTowerMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x2000;
315  if(ctp7Data.isLinkMasked(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x4000;
316  if(ctp7Data.isLinkMisaligned(cType, negativeEta, iEta, iPhi) ||
317  ctp7Data.isLinkInError(cType, negativeEta, iEta, iPhi) ||
318  ctp7Data.isLinkDown(cType, negativeEta, iEta, iPhi)) towerDatum |= 0x8000;
319  HcalTriggerPrimitiveSample sample(towerDatum);
320  HcalTrigTowerDetId id(cEta, cPhi);
321  HcalTriggerPrimitiveDigi tpg(id);
322  tpg.setSize(1);
323  tpg.setSample(0, sample);
324  hfTPGs->push_back(tpg);
325  }
326  }
327  }
328 }
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 getFB(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
bool isLinkMisaligned(CaloType cType, bool negativeEta, uint32_t cEta, uint32_t iPhi)
void L1TCaloLayer1RawToDigi::produce ( Event iEvent,
const EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::stream::EDProducerBase.

Definition at line 139 of file L1TCaloLayer1RawToDigi.cc.

References UCTDAQRawData::amcPayload(), FEDRawData::data(), TauDecayModes::dec, event, fedIDs, fedRawDataLabel, edm::Event::getByLabel(), i, LogDebug, makeECalTPGs(), makeHCalTPGs(), makeHFTPGs(), UCTDAQRawData::nAMCs(), UCTCTP7RawData::print(), UCTDAQRawData::print(), edm::Event::put(), and FEDRawData::size().

Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().

140 {
141  using namespace edm;
142  using namespace std;
143 
144  Handle<FEDRawDataCollection> fedRawDataCollection;
145  iEvent.getByLabel(fedRawDataLabel, fedRawDataCollection);
146 
147  std::auto_ptr<EcalTrigPrimDigiCollection> ecalTPGs(new EcalTrigPrimDigiCollection);
148  std::auto_ptr<HcalTrigPrimDigiCollection> hcalTPGs(new HcalTrigPrimDigiCollection);
149  std::auto_ptr<HcalTrigPrimDigiCollection> hfTPGs(new HcalTrigPrimDigiCollection);
150 
151  // if raw data collection is present, check the headers and do the unpacking
152  if (fedRawDataCollection.isValid()) {
153 
154  for(uint32_t i = 0; i < fedIDs.size(); i++) {
155 
156  uint32_t fed = fedIDs[i];
157 
158  const FEDRawData& fedRawData = fedRawDataCollection->FEDData(fed);
159 
160  //Check FED size
161  if(verbose) LogDebug("L1TCaloLayer1") << "Upacking FEDRawData for fed " << std::dec << fed << " of size " << fedRawData.size();
162 
163  const uint64_t *fedRawDataArray = (const uint64_t *) fedRawData.data();
164 
165  UCTDAQRawData daqData(fedRawDataArray);
166  if(verbose && event < 5) daqData.print();
167  for(uint32_t i = 0; i < daqData.nAMCs(); i++) {
168  UCTAMCRawData amcData(daqData.amcPayload(i));
169  if(verbose && event < 5) {
170  LogDebug("L1TCaloLayer1") << endl;
171  amcData.print();
172  LogDebug("L1TCaloLayer1") << endl;
173  }
174  uint32_t lPhi = amcData.layer1Phi();
175  UCTCTP7RawData ctp7Data(amcData.payload());
176  if(verbose && event < 5) ctp7Data.print();
177  if(verbose && event < 5) LogDebug("L1TCaloLayer1") << endl;
178  makeECalTPGs(lPhi, ctp7Data, ecalTPGs);
179  makeHCalTPGs(lPhi, ctp7Data, hcalTPGs);
180  // Note: HF TPGs are separately put in event to avoid RCT gettting confused
181  makeHFTPGs(lPhi, ctp7Data, hfTPGs);
182  }
183 
184  }
185 
186  }
187  else{
188 
189  LogError("L1T") << "Cannot unpack: no collection found";
190 
191  return;
192  }
193 
194  iEvent.put(ecalTPGs);
195  iEvent.put(hcalTPGs);
196  iEvent.put(hfTPGs, "hfTPGDigis");
197 
198  event++;
199  if(verbose && event == 5) LogDebug("L1TCaloLayer1") << "L1TCaloLayer1RawToDigi: Goodbye! Tired of printing junk" << endl;
200 
201 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:121
void makeECalTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< EcalTrigPrimDigiCollection > &ecalTPGs)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:418
unsigned long long uint64_t
Definition: Time.h:15
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
void makeHFTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< HcalTrigPrimDigiCollection > &hfTPGs)
void makeHCalTPGs(uint32_t lPhi, UCTCTP7RawData &ctp7Data, std::auto_ptr< HcalTrigPrimDigiCollection > &hcalTPGs)

Member Data Documentation

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

Definition at line 92 of file L1TCaloLayer1RawToDigi.cc.

Referenced by produce().

InputTag L1TCaloLayer1RawToDigi::fedRawDataLabel
private

Definition at line 91 of file L1TCaloLayer1RawToDigi.cc.

Referenced by L1TCaloLayer1RawToDigi(), and produce().

bool L1TCaloLayer1RawToDigi::verbose
private