CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Attributes | Protected Attributes
DCCDataUnpacker Class Reference

#include <DCCDataUnpacker.h>

Public Member Functions

DCCEventBlockcurrentEvent ()
 
 DCCDataUnpacker (EcalElectronicsMapper *, bool hU, bool srpU, bool tccU, bool feU, bool memU, bool syncCheck, bool feIdCheck, bool forceToKeepFRdata)
 
std::unique_ptr< EcalRawDataCollection > * dccHeadersCollection ()
 
std::unique_ptr< EBDigiCollection > * ebDigisCollection ()
 
std::unique_ptr< EBSrFlagCollection > * ebSrFlagsCollection ()
 
std::unique_ptr< EcalPSInputDigiCollection > * ecalPSsCollection ()
 
std::unique_ptr< EcalTrigPrimDigiCollection > * ecalTpsCollection ()
 
std::unique_ptr< EEDigiCollection > * eeDigisCollection ()
 
std::unique_ptr< EESrFlagCollection > * eeSrFlagsCollection ()
 
const EcalElectronicsMapperelectronicsMapper () const
 
uint16_t getCCUValue (const int fed, const int ccu) const
 
uint16_t getChannelStatus (const DetId &id) const
 
uint16_t getChannelValue (const DetId &id) const
 
uint16_t getChannelValue (const int fed, const int ccu, const int strip, const int xtal) const
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengthsCollection ()
 
std::unique_ptr< EBDetIdCollection > * invalidChIdsCollection ()
 
std::unique_ptr< EEDetIdCollection > * invalidEEChIdsCollection ()
 
std::unique_ptr< EEDetIdCollection > * invalidEEGainsCollection ()
 
std::unique_ptr< EEDetIdCollection > * invalidEEGainsSwitchCollection ()
 
std::unique_ptr< EBDetIdCollection > * invalidGainsCollection ()
 
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitchCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizesCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIdsCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGainsCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIdsCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIdsCollection ()
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIdsCollection ()
 
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigisCollection ()
 
void setChannelStatusDB (const EcalChannelStatusMap *chdb)
 
void setDccHeadersCollection (std::unique_ptr< EcalRawDataCollection > *x)
 
void setEBDigisCollection (std::unique_ptr< EBDigiCollection > *x)
 
void setEBSrFlagsCollection (std::unique_ptr< EBSrFlagCollection > *x)
 
void setEcalPSsCollection (std::unique_ptr< EcalPSInputDigiCollection > *x)
 
void setEcalTpsCollection (std::unique_ptr< EcalTrigPrimDigiCollection > *x)
 
void setEEDigisCollection (std::unique_ptr< EEDigiCollection > *x)
 
void setEESrFlagsCollection (std::unique_ptr< EESrFlagCollection > *x)
 
void setInvalidBlockLengthsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidChIdsCollection (std::unique_ptr< EBDetIdCollection > *x)
 
void setInvalidEEChIdsCollection (std::unique_ptr< EEDetIdCollection > *x)
 
void setInvalidEEGainsCollection (std::unique_ptr< EEDetIdCollection > *x)
 
void setInvalidEEGainsSwitchCollection (std::unique_ptr< EEDetIdCollection > *x)
 
void setInvalidGainsCollection (std::unique_ptr< EBDetIdCollection > *x)
 
void setInvalidGainsSwitchCollection (std::unique_ptr< EBDetIdCollection > *x)
 
void setInvalidMemBlockSizesCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemChIdsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemGainsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemTtIdsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidTTIdsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidZSXtalIdsCollection (std::unique_ptr< EcalElectronicsIdCollection > *x)
 
void setPnDiodeDigisCollection (std::unique_ptr< EcalPnDiodeDigiCollection > *x)
 
void unpack (const uint64_t *buffer, size_t bufferSize, unsigned int smId, unsigned int fedId)
 
 ~DCCDataUnpacker ()
 

Static Public Attributes

static std::atomic< bool > silentMode_
 

Protected Attributes

const EcalChannelStatusMapchdb_
 
DCCEventBlockcurrentEvent_
 
std::unique_ptr< EcalRawDataCollection > * dccHeaders_
 
std::unique_ptr< EBDigiCollection > * ebDigis_
 
DCCEBEventBlockebEventBlock_
 
std::unique_ptr< EBSrFlagCollection > * ebSrFlags_
 
std::unique_ptr< EcalPSInputDigiCollection > * ecalPSs_
 
std::unique_ptr< EcalTrigPrimDigiCollection > * ecalTps_
 
std::unique_ptr< EEDigiCollection > * eeDigis_
 
DCCEEEventBlockeeEventBlock_
 
std::unique_ptr< EESrFlagCollection > * eeSrFlags_
 
EcalElectronicsMapperelectronicsMapper_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
 
std::unique_ptr< EBDetIdCollection > * invalidChIds_
 
std::unique_ptr< EEDetIdCollection > * invalidEEChIds_
 
std::unique_ptr< EEDetIdCollection > * invalidEEGains_
 
std::unique_ptr< EEDetIdCollection > * invalidEEGainsSwitch_
 
std::unique_ptr< EBDetIdCollection > * invalidGains_
 
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGains_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIds_
 
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
 
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
 

Detailed Description

Definition at line 50 of file DCCDataUnpacker.h.

Constructor & Destructor Documentation

DCCDataUnpacker::DCCDataUnpacker ( EcalElectronicsMapper mapper,
bool  hU,
bool  srpU,
bool  tccU,
bool  feU,
bool  memU,
bool  syncCheck,
bool  feIdCheck,
bool  forceToKeepFRdata 
)

Definition at line 11 of file DCCDataUnpacker.cc.

References ebEventBlock_, eeEventBlock_, electronicsMapper_, DCCEventBlock::enableFeIdChecks(), and DCCEventBlock::enableSyncChecks().

13  {
14  electronicsMapper_ = mapper;
15  ebEventBlock_ = new DCCEBEventBlock(this,mapper,hU,srpU,tccU,feU,memU,forceToKeepFRdata);
16  eeEventBlock_ = new DCCEEEventBlock(this,mapper,hU,srpU,tccU,feU,memU,forceToKeepFRdata);
17  if(syncCheck){
20  }
21  if(feIdCheck){
24  }
25 }
void enableSyncChecks()
DCCEBEventBlock * ebEventBlock_
void enableFeIdChecks()
EcalElectronicsMapper * electronicsMapper_
DCCEEEventBlock * eeEventBlock_
DCCDataUnpacker::~DCCDataUnpacker ( )

Definition at line 49 of file DCCDataUnpacker.cc.

References ebEventBlock_, and eeEventBlock_.

49  {
50  delete ebEventBlock_;
51  delete eeEventBlock_;
52 }
DCCEBEventBlock * ebEventBlock_
DCCEEEventBlock * eeEventBlock_

Member Function Documentation

DCCEventBlock* DCCDataUnpacker::currentEvent ( )
inline

Get the associated event

Definition at line 225 of file DCCDataUnpacker.h.

References currentEvent_.

225 { return currentEvent_;}
DCCEventBlock * currentEvent_
std::unique_ptr<EcalRawDataCollection>* DCCDataUnpacker::dccHeadersCollection ( )
inline

Definition at line 154 of file DCCDataUnpacker.h.

References dccHeaders_.

Referenced by DCCEventBlock::updateCollectors().

155  { return dccHeaders_; }
std::unique_ptr< EcalRawDataCollection > * dccHeaders_
std::unique_ptr<EBDigiCollection>* DCCDataUnpacker::ebDigisCollection ( )
inline

Get the collection pointers

Definition at line 136 of file DCCDataUnpacker.h.

References ebDigis_.

Referenced by DCCTowerBlock::updateCollectors().

137  { return ebDigis_; }
std::unique_ptr< EBDigiCollection > * ebDigis_
std::unique_ptr<EBSrFlagCollection>* DCCDataUnpacker::ebSrFlagsCollection ( )
inline

Definition at line 148 of file DCCDataUnpacker.h.

References ebSrFlags_.

Referenced by DCCEBSRPBlock::updateCollectors().

149  { return ebSrFlags_; }
std::unique_ptr< EBSrFlagCollection > * ebSrFlags_
std::unique_ptr<EcalPSInputDigiCollection>* DCCDataUnpacker::ecalPSsCollection ( )
inline

Definition at line 145 of file DCCDataUnpacker.h.

References ecalPSs_.

Referenced by DCCEETCCBlock::updateCollectors().

146  { return ecalPSs_; }
std::unique_ptr< EcalPSInputDigiCollection > * ecalPSs_
std::unique_ptr<EcalTrigPrimDigiCollection>* DCCDataUnpacker::ecalTpsCollection ( )
inline

Definition at line 142 of file DCCDataUnpacker.h.

References ecalTps_.

Referenced by DCCEETCCBlock::updateCollectors(), and DCCEBTCCBlock::updateCollectors().

143  { return ecalTps_; }
std::unique_ptr< EcalTrigPrimDigiCollection > * ecalTps_
std::unique_ptr<EEDigiCollection>* DCCDataUnpacker::eeDigisCollection ( )
inline

Definition at line 139 of file DCCDataUnpacker.h.

References eeDigis_.

Referenced by DCCSCBlock::updateCollectors().

140  { return eeDigis_; }
std::unique_ptr< EEDigiCollection > * eeDigis_
std::unique_ptr<EESrFlagCollection>* DCCDataUnpacker::eeSrFlagsCollection ( )
inline

Definition at line 151 of file DCCDataUnpacker.h.

References eeSrFlags_.

Referenced by DCCEESRPBlock::updateCollectors().

152  { return eeSrFlags_; }
std::unique_ptr< EESrFlagCollection > * eeSrFlags_
const EcalElectronicsMapper* DCCDataUnpacker::electronicsMapper ( ) const
inline

Get the ECAL electronics Mapper

Definition at line 205 of file DCCDataUnpacker.h.

References electronicsMapper_.

Referenced by printStatusRecords().

205 { return electronicsMapper_; }
EcalElectronicsMapper * electronicsMapper_
uint16_t DCCDataUnpacker::getCCUValue ( const int  fed,
const int  ccu 
) const

Definition at line 97 of file DCCDataUnpacker.cc.

References EcalElectronicsMapping::dccTowerConstituents(), electronicsMapper_, getChannelValue(), EcalElectronicsMapper::getSMId(), mps_fire::i, EcalElectronicsMapper::mapping(), findQualityFiles::size, and heppy_batch::val.

Referenced by setChannelStatusDB(), DCCEEEventBlock::unpack(), and DCCEBEventBlock::unpack().

98 {
99  // get list of crystals (DetId) which correspond to given CCU
100  // (return empty list for MEM channels [CCU > 68])
101  const int dcc = electronicsMapper_->getSMId(fed);
102  const std::vector<DetId> xtals =
103  (ccu <= 68) ?
105  std::vector<DetId>();
106 
107  // collect set of status codes of given CCU
108  std::set<uint16_t> set;
109  for (size_t i = 0; i < xtals.size(); ++i) {
110  const uint16_t val = getChannelValue(xtals[i]);
111  set.insert(val);
112  }
113 
114  // if all crystals in CCU have the same status
115  // then this status is treated as CCU status
116  if (set.size() == 1) return *set.begin();
117 
118  // if there are several or no statuses:
119  return 0;
120 }
size
Write out results.
unsigned int getSMId(unsigned int aDCCId) const
const EcalElectronicsMapping * mapping()
EcalElectronicsMapper * electronicsMapper_
uint16_t getChannelValue(const DetId &id) const
std::vector< DetId > dccTowerConstituents(int dccId, int tower) const
Get the constituent detids for this dccId.
uint16_t DCCDataUnpacker::getChannelStatus ( const DetId id) const

Definition at line 54 of file DCCDataUnpacker.cc.

References chdb_, EcalCondObjectContainer< T >::end(), and EcalCondObjectContainer< T >::find().

Referenced by getChannelValue(), and setChannelStatusDB().

55 {
56  // return code for situation of missing channel record
57  // equal to "non responding isolated channel (dead of type other)":
58  // https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideEcalRecoLocalReco#Treatment_of_problematic_channel
59  // TODO: think on a better way how to cover this case
60  const uint16_t NO_DATA = 11;
61 
62  if (chdb_ == 0) {
63  edm::LogError("IncorrectMapping")
64  << "ECAL channel status database do not initialized";
65  return NO_DATA;
66  }
67 
69 
70  if (pCh != chdb_->end()) {
71  return pCh->getStatusCode();
72  }
73  else {
74  edm::LogError("IncorrectMapping")
75  << "No channel status record found for detit = " << id.rawId();
76  return NO_DATA;
77  }
78 }
const EcalChannelStatusMap * chdb_
std::vector< Item >::const_iterator const_iterator
const_iterator find(uint32_t rawId) const
const_iterator end() const
uint16_t DCCDataUnpacker::getChannelValue ( const DetId id) const

Definition at line 80 of file DCCDataUnpacker.cc.

References getChannelStatus().

Referenced by getCCUValue(), printStatusRecords(), setChannelStatusDB(), DCCTowerBlock::unpackXtalData(), and DCCSCBlock::unpackXtalData().

81 {
82  return getChannelStatus(id) & 0x1F;
83 }
uint16_t getChannelStatus(const DetId &id) const
uint16_t DCCDataUnpacker::getChannelValue ( const int  fed,
const int  ccu,
const int  strip,
const int  xtal 
) const

Definition at line 85 of file DCCDataUnpacker.cc.

References runTauDisplay::eid, electronicsMapper_, getChannelStatus(), EcalElectronicsMapping::getDetId(), EcalElectronicsMapper::getSMId(), and EcalElectronicsMapper::mapping().

86 {
87  // conversion FED ID [601 - 654] -> DCC ID [1 - 54]
88  const int dcc = electronicsMapper_->getSMId(fed);
89 
90  // convert (dcc, ccu, strip, xtal) -> DetId
91  const EcalElectronicsId eid(dcc, ccu, strip, xtal);
93 
94  return getChannelStatus(id) & 0x1F;
95 }
unsigned int getSMId(unsigned int aDCCId) const
const EcalElectronicsMapping * mapping()
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
uint16_t getChannelStatus(const DetId &id) const
EcalElectronicsMapper * electronicsMapper_
Definition: DetId.h:18
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
std::unique_ptr< EcalElectronicsIdCollection>* DCCDataUnpacker::invalidBlockLengthsCollection ( )
inline

Definition at line 183 of file DCCDataUnpacker.h.

References invalidBlockLengths_.

Referenced by DCCFEBlock::updateCollectors().

184  { return invalidBlockLengths_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidChIdsCollection ( )
inline

Definition at line 163 of file DCCDataUnpacker.h.

References invalidChIds_.

Referenced by DCCTowerBlock::updateCollectors().

164  { return invalidChIds_; }
std::unique_ptr< EBDetIdCollection > * invalidChIds_
std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEChIdsCollection ( )
inline

Definition at line 173 of file DCCDataUnpacker.h.

References invalidEEChIds_.

Referenced by DCCSCBlock::updateCollectors().

174  { return invalidEEChIds_; }
std::unique_ptr< EEDetIdCollection > * invalidEEChIds_
std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEGainsCollection ( )
inline

Definition at line 167 of file DCCDataUnpacker.h.

References invalidEEGains_.

Referenced by DCCSCBlock::updateCollectors().

168  { return invalidEEGains_; }
std::unique_ptr< EEDetIdCollection > * invalidEEGains_
std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEGainsSwitchCollection ( )
inline

Definition at line 170 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_.

Referenced by DCCSCBlock::updateCollectors().

171  { return invalidEEGainsSwitch_; }
std::unique_ptr< EEDetIdCollection > * invalidEEGainsSwitch_
std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidGainsCollection ( )
inline

Definition at line 157 of file DCCDataUnpacker.h.

References invalidGains_.

Referenced by DCCTowerBlock::updateCollectors().

158  { return invalidGains_; }
std::unique_ptr< EBDetIdCollection > * invalidGains_
std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidGainsSwitchCollection ( )
inline

Definition at line 160 of file DCCDataUnpacker.h.

References invalidGainsSwitch_.

Referenced by DCCTowerBlock::updateCollectors().

161  { return invalidGainsSwitch_; }
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemBlockSizesCollection ( )
inline

Definition at line 189 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_.

Referenced by DCCMemBlock::updateCollectors().

190  { return invalidMemBlockSizes_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemChIdsCollection ( )
inline

Definition at line 192 of file DCCDataUnpacker.h.

References invalidMemChIds_.

Referenced by DCCMemBlock::updateCollectors().

193  { return invalidMemChIds_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemGainsCollection ( )
inline

Definition at line 195 of file DCCDataUnpacker.h.

References invalidMemGains_.

Referenced by DCCMemBlock::updateCollectors().

196  { return invalidMemGains_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGains_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemTtIdsCollection ( )
inline

Definition at line 186 of file DCCDataUnpacker.h.

References invalidMemTtIds_.

Referenced by DCCMemBlock::updateCollectors().

187  { return invalidMemTtIds_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidTTIdsCollection ( )
inline

Definition at line 177 of file DCCDataUnpacker.h.

References invalidTTIds_.

Referenced by DCCFEBlock::updateCollectors().

178  { return invalidTTIds_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIds_
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidZSXtalIdsCollection ( )
inline

Definition at line 180 of file DCCDataUnpacker.h.

References invalidZSXtalIds_.

Referenced by DCCFEBlock::updateCollectors().

181  { return invalidZSXtalIds_; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
std::unique_ptr<EcalPnDiodeDigiCollection>* DCCDataUnpacker::pnDiodeDigisCollection ( )
inline

Definition at line 198 of file DCCDataUnpacker.h.

References pnDiodeDigis_.

Referenced by DCCMemBlock::updateCollectors().

199  { return pnDiodeDigis_; }
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
void DCCDataUnpacker::setChannelStatusDB ( const EcalChannelStatusMap chdb)
inline

Functions to work with Channel Status DB

Definition at line 211 of file DCCDataUnpacker.h.

References chdb_, getCCUValue(), getChannelStatus(), getChannelValue(), and digi_MixPreMix_cfi::strip.

Referenced by EcalRawToDigi::beginRun().

211 { chdb_ = chdb; }
const EcalChannelStatusMap * chdb_
void DCCDataUnpacker::setDccHeadersCollection ( std::unique_ptr< EcalRawDataCollection > *  x)
inline

Definition at line 72 of file DCCDataUnpacker.h.

References dccHeaders_, and x.

Referenced by EcalRawToDigi::produce().

73  { dccHeaders_ = x; }
std::unique_ptr< EcalRawDataCollection > * dccHeaders_
void DCCDataUnpacker::setEBDigisCollection ( std::unique_ptr< EBDigiCollection > *  x)
inline

Set the collection pointers

Definition at line 66 of file DCCDataUnpacker.h.

References ebDigis_, and x.

Referenced by EcalRawToDigi::produce().

67  { ebDigis_ = x; }
std::unique_ptr< EBDigiCollection > * ebDigis_
void DCCDataUnpacker::setEBSrFlagsCollection ( std::unique_ptr< EBSrFlagCollection > *  x)
inline

Definition at line 75 of file DCCDataUnpacker.h.

References ebSrFlags_, and x.

Referenced by EcalRawToDigi::produce().

76  { ebSrFlags_ = x; }
std::unique_ptr< EBSrFlagCollection > * ebSrFlags_
void DCCDataUnpacker::setEcalPSsCollection ( std::unique_ptr< EcalPSInputDigiCollection > *  x)
inline

Definition at line 84 of file DCCDataUnpacker.h.

References ecalPSs_, and x.

Referenced by EcalRawToDigi::produce().

85  { ecalPSs_ = x; }
std::unique_ptr< EcalPSInputDigiCollection > * ecalPSs_
void DCCDataUnpacker::setEcalTpsCollection ( std::unique_ptr< EcalTrigPrimDigiCollection > *  x)
inline

Definition at line 81 of file DCCDataUnpacker.h.

References ecalTps_, and x.

Referenced by EcalRawToDigi::produce().

82  { ecalTps_ = x; }
std::unique_ptr< EcalTrigPrimDigiCollection > * ecalTps_
void DCCDataUnpacker::setEEDigisCollection ( std::unique_ptr< EEDigiCollection > *  x)
inline

Definition at line 69 of file DCCDataUnpacker.h.

References eeDigis_, and x.

Referenced by EcalRawToDigi::produce().

70  { eeDigis_ = x; }
std::unique_ptr< EEDigiCollection > * eeDigis_
void DCCDataUnpacker::setEESrFlagsCollection ( std::unique_ptr< EESrFlagCollection > *  x)
inline

Definition at line 78 of file DCCDataUnpacker.h.

References eeSrFlags_, and x.

Referenced by EcalRawToDigi::produce().

79  { eeSrFlags_ = x; }
std::unique_ptr< EESrFlagCollection > * eeSrFlags_
void DCCDataUnpacker::setInvalidBlockLengthsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 113 of file DCCDataUnpacker.h.

References invalidBlockLengths_, and x.

Referenced by EcalRawToDigi::produce().

114  { invalidBlockLengths_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
void DCCDataUnpacker::setInvalidChIdsCollection ( std::unique_ptr< EBDetIdCollection > *  x)
inline

Definition at line 93 of file DCCDataUnpacker.h.

References invalidChIds_, and x.

Referenced by EcalRawToDigi::produce().

94  { invalidChIds_ = x; }
std::unique_ptr< EBDetIdCollection > * invalidChIds_
void DCCDataUnpacker::setInvalidEEChIdsCollection ( std::unique_ptr< EEDetIdCollection > *  x)
inline

Definition at line 103 of file DCCDataUnpacker.h.

References invalidEEChIds_, and x.

Referenced by EcalRawToDigi::produce().

104  { invalidEEChIds_ = x; }
std::unique_ptr< EEDetIdCollection > * invalidEEChIds_
void DCCDataUnpacker::setInvalidEEGainsCollection ( std::unique_ptr< EEDetIdCollection > *  x)
inline

Definition at line 97 of file DCCDataUnpacker.h.

References invalidEEGains_, and x.

Referenced by EcalRawToDigi::produce().

98  { invalidEEGains_ = x; }
std::unique_ptr< EEDetIdCollection > * invalidEEGains_
void DCCDataUnpacker::setInvalidEEGainsSwitchCollection ( std::unique_ptr< EEDetIdCollection > *  x)
inline

Definition at line 100 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_, and x.

Referenced by EcalRawToDigi::produce().

101  { invalidEEGainsSwitch_ = x; }
std::unique_ptr< EEDetIdCollection > * invalidEEGainsSwitch_
void DCCDataUnpacker::setInvalidGainsCollection ( std::unique_ptr< EBDetIdCollection > *  x)
inline

Definition at line 87 of file DCCDataUnpacker.h.

References invalidGains_, and x.

Referenced by EcalRawToDigi::produce().

88  { invalidGains_ = x; }
std::unique_ptr< EBDetIdCollection > * invalidGains_
void DCCDataUnpacker::setInvalidGainsSwitchCollection ( std::unique_ptr< EBDetIdCollection > *  x)
inline

Definition at line 90 of file DCCDataUnpacker.h.

References invalidGainsSwitch_, and x.

Referenced by EcalRawToDigi::produce().

91  { invalidGainsSwitch_ = x; }
std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
void DCCDataUnpacker::setInvalidMemBlockSizesCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 122 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_, and x.

Referenced by EcalRawToDigi::produce().

123  { invalidMemBlockSizes_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
void DCCDataUnpacker::setInvalidMemChIdsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 125 of file DCCDataUnpacker.h.

References invalidMemChIds_, and x.

Referenced by EcalRawToDigi::produce().

126  { invalidMemChIds_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
void DCCDataUnpacker::setInvalidMemGainsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 128 of file DCCDataUnpacker.h.

References invalidMemGains_, and x.

Referenced by EcalRawToDigi::produce().

129  { invalidMemGains_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemGains_
void DCCDataUnpacker::setInvalidMemTtIdsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 119 of file DCCDataUnpacker.h.

References invalidMemTtIds_, and x.

Referenced by EcalRawToDigi::produce().

120  { invalidMemTtIds_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
void DCCDataUnpacker::setInvalidTTIdsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 107 of file DCCDataUnpacker.h.

References invalidTTIds_, and x.

Referenced by EcalRawToDigi::produce().

108  { invalidTTIds_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidTTIds_
void DCCDataUnpacker::setInvalidZSXtalIdsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 110 of file DCCDataUnpacker.h.

References invalidZSXtalIds_, and x.

Referenced by EcalRawToDigi::produce().

111  { invalidZSXtalIds_ = x; }
std::unique_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
void DCCDataUnpacker::setPnDiodeDigisCollection ( std::unique_ptr< EcalPnDiodeDigiCollection > *  x)
inline

Definition at line 116 of file DCCDataUnpacker.h.

References pnDiodeDigis_, and x.

Referenced by EcalRawToDigi::produce().

117  { pnDiodeDigis_ = x; }
std::unique_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
void DCCDataUnpacker::unpack ( const uint64_t *  buffer,
size_t  bufferSize,
unsigned int  smId,
unsigned int  fedId 
)

Unpack data from a buffer

Definition at line 28 of file DCCDataUnpacker.cc.

References currentEvent_, ebEventBlock_, eeEventBlock_, DCCEEEventBlock::unpack(), DCCEBEventBlock::unpack(), and DCCEventBlock::updateCollectors().

Referenced by EcalRawToDigi::produce().

28  {
29  //buffer is pointer to binary data
30  //See if this fed is on EB or in EE
31 
32  if(smId>9&&smId<46){
33 
36  ebEventBlock_ ->unpack(buffer,bufferSize,fedId);
37 
38  }
39  else{
40 
43  eeEventBlock_ ->unpack(buffer,bufferSize,fedId);
44 
45  }
46 
47 }
DCCEventBlock * currentEvent_
DCCEBEventBlock * ebEventBlock_
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int expFedId)
DCCEEEventBlock * eeEventBlock_
void updateCollectors()
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int expFedId)

Member Data Documentation

const EcalChannelStatusMap* DCCDataUnpacker::chdb_
protected

Definition at line 258 of file DCCDataUnpacker.h.

Referenced by getChannelStatus(), and setChannelStatusDB().

DCCEventBlock* DCCDataUnpacker::currentEvent_
protected

Definition at line 259 of file DCCDataUnpacker.h.

Referenced by currentEvent(), and unpack().

std::unique_ptr<EcalRawDataCollection>* DCCDataUnpacker::dccHeaders_
protected

Definition at line 236 of file DCCDataUnpacker.h.

Referenced by dccHeadersCollection(), and setDccHeadersCollection().

std::unique_ptr<EBDigiCollection>* DCCDataUnpacker::ebDigis_
protected

Definition at line 232 of file DCCDataUnpacker.h.

Referenced by ebDigisCollection(), and setEBDigisCollection().

DCCEBEventBlock* DCCDataUnpacker::ebEventBlock_
protected

Definition at line 260 of file DCCDataUnpacker.h.

Referenced by DCCDataUnpacker(), unpack(), and ~DCCDataUnpacker().

std::unique_ptr<EBSrFlagCollection>* DCCDataUnpacker::ebSrFlags_
protected

Definition at line 245 of file DCCDataUnpacker.h.

Referenced by ebSrFlagsCollection(), and setEBSrFlagsCollection().

std::unique_ptr<EcalPSInputDigiCollection>* DCCDataUnpacker::ecalPSs_
protected

Definition at line 235 of file DCCDataUnpacker.h.

Referenced by ecalPSsCollection(), and setEcalPSsCollection().

std::unique_ptr<EcalTrigPrimDigiCollection>* DCCDataUnpacker::ecalTps_
protected

Definition at line 234 of file DCCDataUnpacker.h.

Referenced by ecalTpsCollection(), and setEcalTpsCollection().

std::unique_ptr<EEDigiCollection>* DCCDataUnpacker::eeDigis_
protected

Definition at line 233 of file DCCDataUnpacker.h.

Referenced by eeDigisCollection(), and setEEDigisCollection().

DCCEEEventBlock* DCCDataUnpacker::eeEventBlock_
protected

Definition at line 261 of file DCCDataUnpacker.h.

Referenced by DCCDataUnpacker(), unpack(), and ~DCCDataUnpacker().

std::unique_ptr<EESrFlagCollection>* DCCDataUnpacker::eeSrFlags_
protected

Definition at line 246 of file DCCDataUnpacker.h.

Referenced by eeSrFlagsCollection(), and setEESrFlagsCollection().

EcalElectronicsMapper* DCCDataUnpacker::electronicsMapper_
protected
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidBlockLengths_
protected
std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidChIds_
protected

Definition at line 239 of file DCCDataUnpacker.h.

Referenced by invalidChIdsCollection(), and setInvalidChIdsCollection().

std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEChIds_
protected

Definition at line 243 of file DCCDataUnpacker.h.

Referenced by invalidEEChIdsCollection(), and setInvalidEEChIdsCollection().

std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEGains_
protected

Definition at line 241 of file DCCDataUnpacker.h.

Referenced by invalidEEGainsCollection(), and setInvalidEEGainsCollection().

std::unique_ptr<EEDetIdCollection>* DCCDataUnpacker::invalidEEGainsSwitch_
protected
std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidGains_
protected

Definition at line 237 of file DCCDataUnpacker.h.

Referenced by invalidGainsCollection(), and setInvalidGainsCollection().

std::unique_ptr<EBDetIdCollection>* DCCDataUnpacker::invalidGainsSwitch_
protected
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemBlockSizes_
protected
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemChIds_
protected

Definition at line 253 of file DCCDataUnpacker.h.

Referenced by invalidMemChIdsCollection(), and setInvalidMemChIdsCollection().

std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemGains_
protected

Definition at line 254 of file DCCDataUnpacker.h.

Referenced by invalidMemGainsCollection(), and setInvalidMemGainsCollection().

std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidMemTtIds_
protected

Definition at line 251 of file DCCDataUnpacker.h.

Referenced by invalidMemTtIdsCollection(), and setInvalidMemTtIdsCollection().

std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidTTIds_
protected

Definition at line 247 of file DCCDataUnpacker.h.

Referenced by invalidTTIdsCollection(), and setInvalidTTIdsCollection().

std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidZSXtalIds_
protected

Definition at line 248 of file DCCDataUnpacker.h.

Referenced by invalidZSXtalIdsCollection(), and setInvalidZSXtalIdsCollection().

std::unique_ptr<EcalPnDiodeDigiCollection>* DCCDataUnpacker::pnDiodeDigis_
protected

Definition at line 255 of file DCCDataUnpacker.h.

Referenced by pnDiodeDigisCollection(), and setPnDiodeDigisCollection().

std::atomic< bool > DCCDataUnpacker::silentMode_
static