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");
82 auto productEb = std::make_unique<EBDigiCollection>();
85 auto productMatacq = std::make_unique<EcalMatacqDigiCollection>();
88 auto productPN = std::make_unique<EcalPnDiodeDigiCollection>();
91 auto productDCCHeader = std::make_unique<EcalRawDataCollection>();
94 auto productTriggerPrimitives = std::make_unique<EcalTrigPrimDigiCollection>();
97 auto productDCCSize = std::make_unique<EBDetIdCollection>();
100 auto productTTId = std::make_unique<EcalElectronicsIdCollection>();
103 auto productBlockSize = std::make_unique<EcalElectronicsIdCollection>();
106 auto productChId = std::make_unique<EBDetIdCollection>();
109 auto productGain = std::make_unique<EBDetIdCollection>();
112 auto productGainSwitch = std::make_unique<EBDetIdCollection>();
115 auto productMemTtId = std::make_unique<EcalElectronicsIdCollection>();
118 auto productMemBlockSize = std::make_unique<EcalElectronicsIdCollection>();
121 auto productMemGain = std::make_unique<EcalElectronicsIdCollection>();
124 auto productMemChIdErrors = std::make_unique<EcalElectronicsIdCollection>();
127 auto productHodo = std::make_unique<EcalTBHodoscopeRawInfo>();
128 auto productTdc = std::make_unique<EcalTBTDCRawInfo>();
129 auto productHeader = std::make_unique<EcalTBEventHeader>();
149 if (
data.size() > 16) {
154 (*productHeader).setSmInBeam(
id);
166 *productMemBlockSize,
168 *productMemChIdErrors,
169 *productTriggerPrimitives);
170 int runType = (*productDCCHeader)[0].getRunType();
172 (*productHeader).setTriggerMask(0
x1);
174 (*productHeader).setTriggerMask(0x2000);
176 (*productHeader).setTriggerMask(0x800);
177 LogDebug(
"EcalDCCTBUnpackingModule")
178 <<
"Event type is " << (*productHeader).eventType() <<
" dbEventType " << (*productHeader).dbEventType();
195 e.put(
std::move(productTriggerPrimitives),
"EBTT");
197 e.put(
std::move(productDCCSize),
"EcalIntegrityDCCSizeErrors");
198 e.put(
std::move(productTTId),
"EcalIntegrityTTIdErrors");
199 e.put(
std::move(productBlockSize),
"EcalIntegrityBlockSizeErrors");
200 e.put(
std::move(productChId),
"EcalIntegrityChIdErrors");
201 e.put(
std::move(productGain),
"EcalIntegrityGainErrors");
202 e.put(
std::move(productGainSwitch),
"EcalIntegrityGainSwitchErrors");
204 e.put(
std::move(productMemTtId),
"EcalIntegrityMemTtIdErrors");
205 e.put(
std::move(productMemBlockSize),
"EcalIntegrityMemBlockSize");
206 e.put(
std::move(productMemChIdErrors),
"EcalIntegrityMemChIdErrors");
207 e.put(
std::move(productMemGain),
"EcalIntegrityMemGainErrors");
214 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
216 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
218 std::cout <<
"[EcalDCCTBUnpackingModule] " <<
e.what() << std::endl;
220 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_
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