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 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::auto_ptr
< EcalRawDataCollection > * 
dccHeadersCollection ()
 
std::auto_ptr< EBDigiCollection > * ebDigisCollection ()
 
std::auto_ptr
< EBSrFlagCollection > * 
ebSrFlagsCollection ()
 
std::auto_ptr
< EcalPSInputDigiCollection > * 
ecalPSsCollection ()
 
std::auto_ptr
< EcalTrigPrimDigiCollection > * 
ecalTpsCollection ()
 
std::auto_ptr< EEDigiCollection > * eeDigisCollection ()
 
std::auto_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::auto_ptr
< EcalElectronicsIdCollection > * 
invalidBlockLengthsCollection ()
 
std::auto_ptr
< EBDetIdCollection > * 
invalidChIdsCollection ()
 
std::auto_ptr
< EEDetIdCollection > * 
invalidEEChIdsCollection ()
 
std::auto_ptr
< EEDetIdCollection > * 
invalidEEGainsCollection ()
 
std::auto_ptr
< EEDetIdCollection > * 
invalidEEGainsSwitchCollection ()
 
std::auto_ptr
< EBDetIdCollection > * 
invalidGainsCollection ()
 
std::auto_ptr
< EBDetIdCollection > * 
invalidGainsSwitchCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidMemBlockSizesCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidMemChIdsCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidMemGainsCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidMemTtIdsCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidTTIdsCollection ()
 
std::auto_ptr
< EcalElectronicsIdCollection > * 
invalidZSXtalIdsCollection ()
 
std::auto_ptr
< EcalPnDiodeDigiCollection > * 
pnDiodeDigisCollection ()
 
void setChannelStatusDB (const EcalChannelStatusMap *chdb)
 
void setDccHeadersCollection (std::auto_ptr< EcalRawDataCollection > *x)
 
void setEBDigisCollection (std::auto_ptr< EBDigiCollection > *x)
 
void setEBSrFlagsCollection (std::auto_ptr< EBSrFlagCollection > *x)
 
void setEcalPSsCollection (std::auto_ptr< EcalPSInputDigiCollection > *x)
 
void setEcalTpsCollection (std::auto_ptr< EcalTrigPrimDigiCollection > *x)
 
void setEEDigisCollection (std::auto_ptr< EEDigiCollection > *x)
 
void setEESrFlagsCollection (std::auto_ptr< EESrFlagCollection > *x)
 
void setInvalidBlockLengthsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidChIdsCollection (std::auto_ptr< EBDetIdCollection > *x)
 
void setInvalidEEChIdsCollection (std::auto_ptr< EEDetIdCollection > *x)
 
void setInvalidEEGainsCollection (std::auto_ptr< EEDetIdCollection > *x)
 
void setInvalidEEGainsSwitchCollection (std::auto_ptr< EEDetIdCollection > *x)
 
void setInvalidGainsCollection (std::auto_ptr< EBDetIdCollection > *x)
 
void setInvalidGainsSwitchCollection (std::auto_ptr< EBDetIdCollection > *x)
 
void setInvalidMemBlockSizesCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemChIdsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemGainsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidMemTtIdsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidTTIdsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setInvalidZSXtalIdsCollection (std::auto_ptr< EcalElectronicsIdCollection > *x)
 
void setPnDiodeDigisCollection (std::auto_ptr< EcalPnDiodeDigiCollection > *x)
 
void unpack (const uint64_t *buffer, size_t bufferSize, unsigned int smId, unsigned int fedId)
 
 ~DCCDataUnpacker ()
 

Static Public Attributes

static bool silentMode_ = false
 

Protected Attributes

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

Detailed Description

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

References currentEvent_.

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

Definition at line 155 of file DCCDataUnpacker.h.

References dccHeaders_.

Referenced by DCCEventBlock::updateCollectors().

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

Get the collection pointers

Definition at line 137 of file DCCDataUnpacker.h.

References ebDigis_.

Referenced by DCCTowerBlock::updateCollectors(), and EcalUnpackerWorker::work().

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

Definition at line 149 of file DCCDataUnpacker.h.

References ebSrFlags_.

Referenced by DCCEBSRPBlock::updateCollectors().

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

Definition at line 146 of file DCCDataUnpacker.h.

References ecalPSs_.

Referenced by DCCEETCCBlock::updateCollectors().

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

Definition at line 143 of file DCCDataUnpacker.h.

References ecalTps_.

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

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

Definition at line 140 of file DCCDataUnpacker.h.

References eeDigis_.

Referenced by DCCSCBlock::updateCollectors(), and EcalUnpackerWorker::work().

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

Definition at line 152 of file DCCDataUnpacker.h.

References eeSrFlags_.

Referenced by DCCEESRPBlock::updateCollectors().

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

Get the ECAL electronics Mapper

Definition at line 206 of file DCCDataUnpacker.h.

References electronicsMapper_.

Referenced by printStatusRecords().

206 { 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(), i, and EcalElectronicsMapper::mapping().

Referenced by 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 }
int i
Definition: DBlmapReader.cc:9
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().

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(), 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 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);
92  const DetId id = electronicsMapper_->mapping()->getDetId(eid);
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:20
DetId getDetId(const EcalElectronicsId &id) const
Get the detid given an electronicsId.
std::auto_ptr< EcalElectronicsIdCollection>* DCCDataUnpacker::invalidBlockLengthsCollection ( )
inline

Definition at line 184 of file DCCDataUnpacker.h.

References invalidBlockLengths_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 164 of file DCCDataUnpacker.h.

References invalidChIds_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 174 of file DCCDataUnpacker.h.

References invalidEEChIds_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 168 of file DCCDataUnpacker.h.

References invalidEEGains_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 171 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_.

Referenced by DCCSCBlock::updateCollectors().

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

Definition at line 158 of file DCCDataUnpacker.h.

References invalidGains_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 161 of file DCCDataUnpacker.h.

References invalidGainsSwitch_.

Referenced by DCCTowerBlock::updateCollectors().

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

Definition at line 190 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 193 of file DCCDataUnpacker.h.

References invalidMemChIds_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 196 of file DCCDataUnpacker.h.

References invalidMemGains_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 187 of file DCCDataUnpacker.h.

References invalidMemTtIds_.

Referenced by DCCMemBlock::updateCollectors().

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

Definition at line 178 of file DCCDataUnpacker.h.

References invalidTTIds_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 181 of file DCCDataUnpacker.h.

References invalidZSXtalIds_.

Referenced by DCCFEBlock::updateCollectors().

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

Definition at line 199 of file DCCDataUnpacker.h.

References pnDiodeDigis_.

Referenced by DCCMemBlock::updateCollectors().

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

Functions to work with Channel Status DB

Definition at line 212 of file DCCDataUnpacker.h.

References chdb_.

Referenced by EcalRawToDigi::beginRun().

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

Definition at line 73 of file DCCDataUnpacker.h.

References dccHeaders_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

74  { dccHeaders_ = x; }
std::auto_ptr< EcalRawDataCollection > * dccHeaders_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEBDigisCollection ( std::auto_ptr< EBDigiCollection > *  x)
inline

Set the collection pointers

Definition at line 67 of file DCCDataUnpacker.h.

References ebDigis_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

68  { ebDigis_ = x; }
std::auto_ptr< EBDigiCollection > * ebDigis_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEBSrFlagsCollection ( std::auto_ptr< EBSrFlagCollection > *  x)
inline

Definition at line 76 of file DCCDataUnpacker.h.

References ebSrFlags_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

77  { ebSrFlags_ = x; }
std::auto_ptr< EBSrFlagCollection > * ebSrFlags_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEcalPSsCollection ( std::auto_ptr< EcalPSInputDigiCollection > *  x)
inline

Definition at line 85 of file DCCDataUnpacker.h.

References ecalPSs_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

86  { ecalPSs_ = x; }
std::auto_ptr< EcalPSInputDigiCollection > * ecalPSs_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEcalTpsCollection ( std::auto_ptr< EcalTrigPrimDigiCollection > *  x)
inline

Definition at line 82 of file DCCDataUnpacker.h.

References ecalTps_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

83  { ecalTps_ = x; }
std::auto_ptr< EcalTrigPrimDigiCollection > * ecalTps_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEEDigisCollection ( std::auto_ptr< EEDigiCollection > *  x)
inline

Definition at line 70 of file DCCDataUnpacker.h.

References eeDigis_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

71  { eeDigis_ = x; }
std::auto_ptr< EEDigiCollection > * eeDigis_
Definition: DDAxes.h:10
void DCCDataUnpacker::setEESrFlagsCollection ( std::auto_ptr< EESrFlagCollection > *  x)
inline

Definition at line 79 of file DCCDataUnpacker.h.

References eeSrFlags_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

80  { eeSrFlags_ = x; }
std::auto_ptr< EESrFlagCollection > * eeSrFlags_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidBlockLengthsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 114 of file DCCDataUnpacker.h.

References invalidBlockLengths_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

115  { invalidBlockLengths_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidBlockLengths_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidChIdsCollection ( std::auto_ptr< EBDetIdCollection > *  x)
inline

Definition at line 94 of file DCCDataUnpacker.h.

References invalidChIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

95  { invalidChIds_ = x; }
std::auto_ptr< EBDetIdCollection > * invalidChIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidEEChIdsCollection ( std::auto_ptr< EEDetIdCollection > *  x)
inline

Definition at line 104 of file DCCDataUnpacker.h.

References invalidEEChIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

105  { invalidEEChIds_ = x; }
std::auto_ptr< EEDetIdCollection > * invalidEEChIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidEEGainsCollection ( std::auto_ptr< EEDetIdCollection > *  x)
inline

Definition at line 98 of file DCCDataUnpacker.h.

References invalidEEGains_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

99  { invalidEEGains_ = x; }
std::auto_ptr< EEDetIdCollection > * invalidEEGains_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidEEGainsSwitchCollection ( std::auto_ptr< EEDetIdCollection > *  x)
inline

Definition at line 101 of file DCCDataUnpacker.h.

References invalidEEGainsSwitch_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

102  { invalidEEGainsSwitch_ = x; }
std::auto_ptr< EEDetIdCollection > * invalidEEGainsSwitch_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidGainsCollection ( std::auto_ptr< EBDetIdCollection > *  x)
inline

Definition at line 88 of file DCCDataUnpacker.h.

References invalidGains_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

89  { invalidGains_ = x; }
std::auto_ptr< EBDetIdCollection > * invalidGains_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidGainsSwitchCollection ( std::auto_ptr< EBDetIdCollection > *  x)
inline

Definition at line 91 of file DCCDataUnpacker.h.

References invalidGainsSwitch_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

92  { invalidGainsSwitch_ = x; }
std::auto_ptr< EBDetIdCollection > * invalidGainsSwitch_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidMemBlockSizesCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 123 of file DCCDataUnpacker.h.

References invalidMemBlockSizes_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

124  { invalidMemBlockSizes_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemBlockSizes_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidMemChIdsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 126 of file DCCDataUnpacker.h.

References invalidMemChIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

127  { invalidMemChIds_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemChIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidMemGainsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 129 of file DCCDataUnpacker.h.

References invalidMemGains_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

130  { invalidMemGains_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemGains_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidMemTtIdsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 120 of file DCCDataUnpacker.h.

References invalidMemTtIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

121  { invalidMemTtIds_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidMemTtIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidTTIdsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 108 of file DCCDataUnpacker.h.

References invalidTTIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

109  { invalidTTIds_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidTTIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setInvalidZSXtalIdsCollection ( std::auto_ptr< EcalElectronicsIdCollection > *  x)
inline

Definition at line 111 of file DCCDataUnpacker.h.

References invalidZSXtalIds_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

112  { invalidZSXtalIds_ = x; }
std::auto_ptr< EcalElectronicsIdCollection > * invalidZSXtalIds_
Definition: DDAxes.h:10
void DCCDataUnpacker::setPnDiodeDigisCollection ( std::auto_ptr< EcalPnDiodeDigiCollection > *  x)
inline

Definition at line 117 of file DCCDataUnpacker.h.

References pnDiodeDigis_, and x.

Referenced by EcalUnpackerWorker::EcalUnpackerWorker(), and EcalRawToDigi::produce().

118  { pnDiodeDigis_ = x; }
std::auto_ptr< EcalPnDiodeDigiCollection > * pnDiodeDigis_
Definition: DDAxes.h:10
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(), and EcalUnpackerWorker::work().

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 259 of file DCCDataUnpacker.h.

Referenced by getChannelStatus(), and setChannelStatusDB().

DCCEventBlock* DCCDataUnpacker::currentEvent_
protected

Definition at line 260 of file DCCDataUnpacker.h.

Referenced by currentEvent(), and unpack().

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

Definition at line 237 of file DCCDataUnpacker.h.

Referenced by dccHeadersCollection(), and setDccHeadersCollection().

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

Definition at line 233 of file DCCDataUnpacker.h.

Referenced by ebDigisCollection(), and setEBDigisCollection().

DCCEBEventBlock* DCCDataUnpacker::ebEventBlock_
protected

Definition at line 261 of file DCCDataUnpacker.h.

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

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

Definition at line 246 of file DCCDataUnpacker.h.

Referenced by ebSrFlagsCollection(), and setEBSrFlagsCollection().

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

Definition at line 236 of file DCCDataUnpacker.h.

Referenced by ecalPSsCollection(), and setEcalPSsCollection().

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

Definition at line 235 of file DCCDataUnpacker.h.

Referenced by ecalTpsCollection(), and setEcalTpsCollection().

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

Definition at line 234 of file DCCDataUnpacker.h.

Referenced by eeDigisCollection(), and setEEDigisCollection().

DCCEEEventBlock* DCCDataUnpacker::eeEventBlock_
protected

Definition at line 262 of file DCCDataUnpacker.h.

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

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

Definition at line 247 of file DCCDataUnpacker.h.

Referenced by eeSrFlagsCollection(), and setEESrFlagsCollection().

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

Definition at line 240 of file DCCDataUnpacker.h.

Referenced by invalidChIdsCollection(), and setInvalidChIdsCollection().

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

Definition at line 244 of file DCCDataUnpacker.h.

Referenced by invalidEEChIdsCollection(), and setInvalidEEChIdsCollection().

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

Definition at line 242 of file DCCDataUnpacker.h.

Referenced by invalidEEGainsCollection(), and setInvalidEEGainsCollection().

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

Definition at line 238 of file DCCDataUnpacker.h.

Referenced by invalidGainsCollection(), and setInvalidGainsCollection().

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

Definition at line 254 of file DCCDataUnpacker.h.

Referenced by invalidMemChIdsCollection(), and setInvalidMemChIdsCollection().

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

Definition at line 255 of file DCCDataUnpacker.h.

Referenced by invalidMemGainsCollection(), and setInvalidMemGainsCollection().

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

Definition at line 252 of file DCCDataUnpacker.h.

Referenced by invalidMemTtIdsCollection(), and setInvalidMemTtIdsCollection().

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

Definition at line 248 of file DCCDataUnpacker.h.

Referenced by invalidTTIdsCollection(), and setInvalidTTIdsCollection().

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

Definition at line 249 of file DCCDataUnpacker.h.

Referenced by invalidZSXtalIdsCollection(), and setInvalidZSXtalIdsCollection().

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

Definition at line 256 of file DCCDataUnpacker.h.

Referenced by pnDiodeDigisCollection(), and setPnDiodeDigisCollection().

bool DCCDataUnpacker::silentMode_ = false
static