30 #define BEG_DCC_FED_ID 0 31 #define END_DCC_FED_ID 35 32 #define BEG_DCC_FED_ID_GLOBAL 600 33 #define END_DCC_FED_ID_GLOBAL 670 35 #define ECAL_SUPERVISOR_FED_ID 40 36 #define TBCAMAC_FED_ID 41 37 #define TABLE_FED_ID 42 38 #define MATACQ_FED_ID 43 41 : fedRawDataCollectionTag_(
pset.getParameter<
edm::
InputTag>(
"fedRawDataCollectionTag")) {
49 produces<EBDigiCollection>(
"ebDigis");
50 produces<EcalMatacqDigiCollection>();
51 produces<EcalPnDiodeDigiCollection>();
52 produces<EcalRawDataCollection>();
53 produces<EcalTrigPrimDigiCollection>(
"EBTT");
56 produces<EcalTBHodoscopeRawInfo>();
57 produces<EcalTBTDCRawInfo>();
58 produces<EcalTBEventHeader>();
61 produces<EBDetIdCollection>(
"EcalIntegrityDCCSizeErrors");
62 produces<EcalElectronicsIdCollection>(
"EcalIntegrityTTIdErrors");
63 produces<EcalElectronicsIdCollection>(
"EcalIntegrityBlockSizeErrors");
64 produces<EBDetIdCollection>(
"EcalIntegrityChIdErrors");
65 produces<EBDetIdCollection>(
"EcalIntegrityGainErrors");
66 produces<EBDetIdCollection>(
"EcalIntegrityGainSwitchErrors");
69 produces<EcalElectronicsIdCollection>(
"EcalIntegrityMemTtIdErrors");
70 produces<EcalElectronicsIdCollection>(
"EcalIntegrityMemBlockSize");
71 produces<EcalElectronicsIdCollection>(
"EcalIntegrityMemChIdErrors");
72 produces<EcalElectronicsIdCollection>(
"EcalIntegrityMemGainErrors");
86 auto productEb = std::make_unique<EBDigiCollection>();
89 auto productMatacq = std::make_unique<EcalMatacqDigiCollection>();
92 auto productPN = std::make_unique<EcalPnDiodeDigiCollection>();
95 auto productDCCHeader = std::make_unique<EcalRawDataCollection>();
98 auto productTriggerPrimitives = std::make_unique<EcalTrigPrimDigiCollection>();
101 auto productDCCSize = std::make_unique<EBDetIdCollection>();
104 auto productTTId = std::make_unique<EcalElectronicsIdCollection>();
107 auto productBlockSize = std::make_unique<EcalElectronicsIdCollection>();
110 auto productChId = std::make_unique<EBDetIdCollection>();
113 auto productGain = std::make_unique<EBDetIdCollection>();
116 auto productGainSwitch = std::make_unique<EBDetIdCollection>();
119 auto productMemTtId = std::make_unique<EcalElectronicsIdCollection>();
122 auto productMemBlockSize = std::make_unique<EcalElectronicsIdCollection>();
125 auto productMemGain = std::make_unique<EcalElectronicsIdCollection>();
128 auto productMemChIdErrors = std::make_unique<EcalElectronicsIdCollection>();
131 auto productHodo = std::make_unique<EcalTBHodoscopeRawInfo>();
132 auto productTdc = std::make_unique<EcalTBTDCRawInfo>();
133 auto productHeader = std::make_unique<EcalTBEventHeader>();
153 if (
data.size() > 16) {
158 (*productHeader).setSmInBeam(
id);
170 *productMemBlockSize,
172 *productMemChIdErrors,
173 *productTriggerPrimitives);
174 int runType = (*productDCCHeader)[0].getRunType();
176 (*productHeader).setTriggerMask(0
x1);
178 (*productHeader).setTriggerMask(0x2000);
180 (*productHeader).setTriggerMask(0x800);
181 LogDebug(
"EcalDCCTBUnpackingModule")
182 <<
"Event type is " << (*productHeader).eventType() <<
" dbEventType " << (*productHeader).dbEventType();
199 e.put(
std::move(productTriggerPrimitives),
"EBTT");
201 e.put(
std::move(productDCCSize),
"EcalIntegrityDCCSizeErrors");
202 e.put(
std::move(productTTId),
"EcalIntegrityTTIdErrors");
203 e.put(
std::move(productBlockSize),
"EcalIntegrityBlockSizeErrors");
204 e.put(
std::move(productChId),
"EcalIntegrityChIdErrors");
205 e.put(
std::move(productGain),
"EcalIntegrityGainErrors");
206 e.put(
std::move(productGainSwitch),
"EcalIntegrityGainSwitchErrors");
208 e.put(
std::move(productMemTtId),
"EcalIntegrityMemTtIdErrors");
209 e.put(
std::move(productMemBlockSize),
"EcalIntegrityMemBlockSize");
210 e.put(
std::move(productMemChIdErrors),
"EcalIntegrityMemChIdErrors");
211 e.put(
std::move(productMemGain),
"EcalIntegrityMemGainErrors");
218 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
220 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
222 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
224 std::cout <<
"[EcalDCCTBUnpackingModule] Unknown exception ..." << std::endl;
void produce(edm::Event &e, const edm::EventSetup &c) override
Produce digis out of raw data.
~EcalDCCTBUnpackingModule() override
Destructor.
MatacqTBDataFormatter * matacqFormatter_
EcalDCCTBUnpackingModule(const edm::ParameterSet &pset)
Constructor.
TableDataFormatter * tableFormatter_
void endJob(void) override
EcalSupervisorTBDataFormatter * ecalSupervisorFormatter_
EcalTBDaqFormatter * formatter_
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
edm::InputTag fedRawDataCollectionTag_
#define BEG_DCC_FED_ID_GLOBAL
CamacTBDataFormatter * camacTBformatter_
char data[epos_bytes_allocation]
#define ECAL_SUPERVISOR_FED_ID
#define END_DCC_FED_ID_GLOBAL