95 iConfig.getUntrackedParameter<
bool>(
"debug"),
96 iConfig.getUntrackedParameter<
bool>(
"DoBarrel"),
97 iConfig.getUntrackedParameter<
bool>(
"DoEndCap"),
98 iConfig.getUntrackedParameter<
bool>(
"WriteTCCBlock"),
99 iConfig.getUntrackedParameter<
bool>(
"WriteSRFlags"),
100 iConfig.getUntrackedParameter<
bool>(
"WriteTowerBlock") }
102 auto label= iConfig.getParameter<
string>(
"Label");
103 auto instanceNameEB = iConfig.getParameter<
string>(
"InstanceEB");
104 auto instanceNameEE = iConfig.getParameter<
string>(
"InstanceEE");
117 putToken_ = produces<FEDRawDataCollection>();
143 params.
lv1_ = counter % (0x1<<24);
152 Headerblockformatter.
DigiToRaw(&productRawData);
171 it != ecalTrigPrim ->
end(); it++) {
179 int iDCC = TheMapping -> DCCid(detid);
185 TCCblockformatter.
DigiToRaw(trigprim, rawdata, TheMapping);
201 it != ebSrFlags ->
end(); it++) {
206 int Dccid = TheMapping -> DCCid(
id);
207 int DCC_Channel = TheMapping -> iTT(
id);
210 if (
config_.
debug_)
cout <<
"will process SRblockformatter_ for FEDid " <<
dec << FEDid << endl;
213 SRblockformatter.
DigiToRaw(Dccid,DCC_Channel,flag, rawdata);
224 it != eeSrFlags ->
end(); it++) {
228 pair<int, int> ind = TheMapping -> getDCCandSC(
id);
229 int Dccid = ind.first;
230 int DCC_Channel = ind.second;
234 SRblockformatter.
DigiToRaw(Dccid,DCC_Channel,flag, rawdata);
249 if (
config_.
debug_)
cout <<
"Creation of the TowerBlock ... Barrel case " << endl;
252 it != ebDigis->
end(); it++) {
255 int DCCid = TheMapping -> DCCid(ebdetid);
258 Towerblockformatter.
DigiToRaw(dataframe, rawdata, TheMapping);
264 if (
config_.
debug_)
cout <<
"Creation of the TowerBlock ... EndCap case " << endl;
267 it != eeDigis->
end(); it++) {
271 int DCCid = elid.
dccId() ;
274 Towerblockformatter.
DigiToRaw(dataframe, rawdata, TheMapping);
284 map<int, map<int,int> >& FEDorder = Towerblockformatter.
GetFEDorder();
286 Headerblockformatter.
CleanUp(&productRawData, &FEDorder);
299 Towerblockformatter.
EndEvent(&productRawData);
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< EESrFlagCollection > labelEESR_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
edm::EDGetTokenT< EBDigiCollection > EBDigiToken_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
std::vector< EcalTriggerPrimitiveDigi >::const_iterator const_iterator
int bunchCrossing() const
void produce(edm::StreamID, edm::Event &e, const edm::EventSetup &c) const override
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
virtual const DetId & id() const =0
const std::vector< int32_t > listDCCId_
int dccId() const
get the DCC (Ecal Local DCC value not global one) id
edm::EDPutTokenT< FEDRawDataCollection > putToken_
edm::EDGetTokenT< EcalTrigPrimDigiCollection > labelTT_
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
edm::EDGetTokenT< EEDigiCollection > EEDigiToken_
const_iterator end() const
EcalSubdetector subDet() const
get the subDetector associated to the Trigger Tower
static std::atomic< unsigned int > counter
edm::EDGetTokenT< EBSrFlagCollection > labelEBSR_
EcalDigiToRaw(const edm::ParameterSet &pset)
const BlockFormatter::Config config_
T const * product() const