CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 49 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().

19  {
20  electronicsMapper_ = mapper;
21  ebEventBlock_ = new DCCEBEventBlock(this, mapper, hU, srpU, tccU, feU, memU, forceToKeepFRdata);
22  eeEventBlock_ = new DCCEEEventBlock(this, mapper, hU, srpU, tccU, feU, memU, forceToKeepFRdata);
23  if (syncCheck) {
26  }
27  if (feIdCheck) {
30  }
31 }
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 183 of file DCCDataUnpacker.h.

References currentEvent_.

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

Definition at line 130 of file DCCDataUnpacker.h.

References dccHeaders_.

Referenced by DCCEventBlock::updateCollectors().

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

Get the collection pointers

Definition at line 118 of file DCCDataUnpacker.h.

References ebDigis_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 126 of file DCCDataUnpacker.h.

References ebSrFlags_.

Referenced by DCCEBSRPBlock::updateCollectors().

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

Definition at line 124 of file DCCDataUnpacker.h.

References ecalPSs_.

Referenced by DCCEETCCBlock::updateCollectors().

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

Definition at line 122 of file DCCDataUnpacker.h.

References ecalTps_.

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

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

Definition at line 120 of file DCCDataUnpacker.h.

References eeDigis_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 128 of file DCCDataUnpacker.h.

References eeSrFlags_.

Referenced by DCCEESRPBlock::updateCollectors().

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

Get the ECAL electronics Mapper

Definition at line 165 of file DCCDataUnpacker.h.

References electronicsMapper_.

Referenced by printStatusRecords().

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

Definition at line 89 of file DCCDataUnpacker.cc.

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

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

89  {
90  // get list of crystals (DetId) which correspond to given CCU
91  // (return empty list for MEM channels [CCU > 68])
92  const int dcc = electronicsMapper_->getSMId(fed);
93  const std::vector<DetId> xtals =
94  (ccu <= 68) ? electronicsMapper_->mapping()->dccTowerConstituents(dcc, ccu) : std::vector<DetId>();
95 
96  // collect set of status codes of given CCU
97  std::set<uint16_t> set;
98  for (size_t i = 0; i < xtals.size(); ++i) {
99  const uint16_t val = getChannelValue(xtals[i]);
100  set.insert(val);
101  }
102 
103  // if all crystals in CCU have the same status
104  // then this status is treated as CCU status
105  if (set.size() == 1)
106  return *set.begin();
107 
108  // if there are several or no statuses:
109  return 0;
110 }
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().

54  {
55  // return code for situation of missing channel record
56  // equal to "non responding isolated channel (dead of type other)":
57  // https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideEcalRecoLocalReco#Treatment_of_problematic_channel
58  // TODO: think on a better way how to cover this case
59  const uint16_t NO_DATA = 11;
60 
61  if (chdb_ == nullptr) {
62  edm::LogError("IncorrectMapping") << "ECAL channel status database do not initialized";
63  return NO_DATA;
64  }
65 
67 
68  if (pCh != chdb_->end()) {
69  return pCh->getStatusCode();
70  } else {
71  edm::LogError("IncorrectMapping") << "No channel status record found for detit = " << id.rawId();
72  return NO_DATA;
73  }
74 }
Log< level::Error, false > LogError
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 76 of file DCCDataUnpacker.cc.

References getChannelStatus().

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

76 { return getChannelStatus(id) & 0x1F; }
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 78 of file DCCDataUnpacker.cc.

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

78  {
79  // conversion FED ID [601 - 654] -> DCC ID [1 - 54]
80  const int dcc = electronicsMapper_->getSMId(fed);
81 
82  // convert (dcc, ccu, strip, xtal) -> DetId
83  const EcalElectronicsId eid(dcc, ccu, strip, xtal);
85 
86  return getChannelStatus(id) & 0x1F;
87 }
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:17
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
std::unique_ptr<EcalElectronicsIdCollection>* DCCDataUnpacker::invalidBlockLengthsCollection ( )
inline

Definition at line 150 of file DCCDataUnpacker.h.

References invalidBlockLengths_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 136 of file DCCDataUnpacker.h.

References invalidChIds_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 143 of file DCCDataUnpacker.h.

References invalidEEChIds_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 139 of file DCCDataUnpacker.h.

References invalidEEGains_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 141 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 132 of file DCCDataUnpacker.h.

References invalidGains_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 134 of file DCCDataUnpacker.h.

References invalidGainsSwitch_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 154 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 156 of file DCCDataUnpacker.h.

References invalidMemChIds_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 158 of file DCCDataUnpacker.h.

References invalidMemGains_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 152 of file DCCDataUnpacker.h.

References invalidMemTtIds_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 146 of file DCCDataUnpacker.h.

References invalidTTIds_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 148 of file DCCDataUnpacker.h.

References invalidZSXtalIds_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 160 of file DCCDataUnpacker.h.

References pnDiodeDigis_.

Referenced by DCCMemBlock::updateCollectors().

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

Functions to work with Channel Status DB

Definition at line 170 of file DCCDataUnpacker.h.

References chdb_.

Referenced by EcalRawToDigi::beginRun().

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

Definition at line 74 of file DCCDataUnpacker.h.

References dccHeaders_, and x.

Referenced by EcalRawToDigi::produce().

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

Set the collection pointers

Definition at line 70 of file DCCDataUnpacker.h.

References ebDigis_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 76 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 82 of file DCCDataUnpacker.h.

References ecalPSs_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 80 of file DCCDataUnpacker.h.

References ecalTps_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 72 of file DCCDataUnpacker.h.

References eeDigis_, and x.

Referenced by EcalRawToDigi::produce().

72 { 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().

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

Definition at line 102 of file DCCDataUnpacker.h.

References invalidBlockLengths_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 88 of file DCCDataUnpacker.h.

References invalidChIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 95 of file DCCDataUnpacker.h.

References invalidEEChIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 91 of file DCCDataUnpacker.h.

References invalidEEGains_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 93 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_, and x.

Referenced by EcalRawToDigi::produce().

std::unique_ptr< EEDetIdCollection > * invalidEEGainsSwitch_
void DCCDataUnpacker::setInvalidGainsCollection ( std::unique_ptr< EBDetIdCollection > *  x)
inline

Definition at line 84 of file DCCDataUnpacker.h.

References invalidGains_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 86 of file DCCDataUnpacker.h.

References invalidGainsSwitch_, and x.

Referenced by EcalRawToDigi::produce().

std::unique_ptr< EBDetIdCollection > * invalidGainsSwitch_
void DCCDataUnpacker::setInvalidMemBlockSizesCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 108 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_, and x.

Referenced by EcalRawToDigi::produce().

std::unique_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
void DCCDataUnpacker::setInvalidMemChIdsCollection ( std::unique_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 110 of file DCCDataUnpacker.h.

References invalidMemChIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 112 of file DCCDataUnpacker.h.

References invalidMemGains_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 106 of file DCCDataUnpacker.h.

References invalidMemTtIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 98 of file DCCDataUnpacker.h.

References invalidTTIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 100 of file DCCDataUnpacker.h.

References invalidZSXtalIds_, and x.

Referenced by EcalRawToDigi::produce().

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

Definition at line 104 of file DCCDataUnpacker.h.

References pnDiodeDigis_, and x.

Referenced by EcalRawToDigi::produce().

104 { 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 33 of file DCCDataUnpacker.cc.

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

Referenced by EcalRawToDigi::produce().

33  {
34  //buffer is pointer to binary data
35  //See if this fed is on EB or in EE
36 
37  if (smId > 9 && smId < 46) {
40  ebEventBlock_->unpack(buffer, bufferSize, fedId);
41 
42  } else {
45  eeEventBlock_->unpack(buffer, bufferSize, fedId);
46  }
47 }
DCCEventBlock * currentEvent_
DCCEBEventBlock * ebEventBlock_
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int expFedId) override
DCCEEEventBlock * eeEventBlock_
void unpack(const uint64_t *buffer, size_t bufferSize, unsigned int expFedId) override
void updateCollectors()

Member Data Documentation

const EcalChannelStatusMap* DCCDataUnpacker::chdb_
protected

Definition at line 215 of file DCCDataUnpacker.h.

Referenced by getChannelStatus(), and setChannelStatusDB().

DCCEventBlock* DCCDataUnpacker::currentEvent_
protected

Definition at line 216 of file DCCDataUnpacker.h.

Referenced by currentEvent(), and unpack().

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

Definition at line 193 of file DCCDataUnpacker.h.

Referenced by dccHeadersCollection(), and setDccHeadersCollection().

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

Definition at line 189 of file DCCDataUnpacker.h.

Referenced by ebDigisCollection(), and setEBDigisCollection().

DCCEBEventBlock* DCCDataUnpacker::ebEventBlock_
protected

Definition at line 217 of file DCCDataUnpacker.h.

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

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

Definition at line 202 of file DCCDataUnpacker.h.

Referenced by ebSrFlagsCollection(), and setEBSrFlagsCollection().

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

Definition at line 192 of file DCCDataUnpacker.h.

Referenced by ecalPSsCollection(), and setEcalPSsCollection().

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

Definition at line 191 of file DCCDataUnpacker.h.

Referenced by ecalTpsCollection(), and setEcalTpsCollection().

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

Definition at line 190 of file DCCDataUnpacker.h.

Referenced by eeDigisCollection(), and setEEDigisCollection().

DCCEEEventBlock* DCCDataUnpacker::eeEventBlock_
protected

Definition at line 218 of file DCCDataUnpacker.h.

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

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

Definition at line 203 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 196 of file DCCDataUnpacker.h.

Referenced by invalidChIdsCollection(), and setInvalidChIdsCollection().

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

Definition at line 200 of file DCCDataUnpacker.h.

Referenced by invalidEEChIdsCollection(), and setInvalidEEChIdsCollection().

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

Definition at line 198 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 194 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 210 of file DCCDataUnpacker.h.

Referenced by invalidMemChIdsCollection(), and setInvalidMemChIdsCollection().

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

Definition at line 211 of file DCCDataUnpacker.h.

Referenced by invalidMemGainsCollection(), and setInvalidMemGainsCollection().

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

Definition at line 208 of file DCCDataUnpacker.h.

Referenced by invalidMemTtIdsCollection(), and setInvalidMemTtIdsCollection().

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

Definition at line 204 of file DCCDataUnpacker.h.

Referenced by invalidTTIdsCollection(), and setInvalidTTIdsCollection().

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

Definition at line 205 of file DCCDataUnpacker.h.

Referenced by invalidZSXtalIdsCollection(), and setInvalidZSXtalIdsCollection().

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

Definition at line 212 of file DCCDataUnpacker.h.

Referenced by pnDiodeDigisCollection(), and setPnDiodeDigisCollection().

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