14 unpacker_(conf.getUntrackedParameter<int>(
"HcalFirstFED",int(
FEDNumbering::MINHCALFEDID)),conf.getParameter<int>(
"firstSample"),conf.getParameter<int>(
"lastSample")),
15 filter_(conf.getParameter<bool>(
"FilterDataQuality"),conf.getParameter<bool>(
"FilterDataQuality"),
19 fedUnpackList_(conf.getUntrackedParameter<std::vector<int> >(
"FEDs", std::vector<int>())),
20 firstFED_(conf.getUntrackedParameter<int>(
"HcalFirstFED",
FEDNumbering::MINHCALFEDID)),
21 unpackCalib_(conf.getUntrackedParameter<bool>(
"UnpackCalib",
false)),
22 unpackZDC_(conf.getUntrackedParameter<bool>(
"UnpackZDC",
false)),
23 unpackTTP_(conf.getUntrackedParameter<bool>(
"UnpackTTP",
false)),
24 silent_(conf.getUntrackedParameter<bool>(
"silent",
true)),
25 complainEmptyData_(conf.getUntrackedParameter<bool>(
"ComplainEmptyData",
false)),
26 unpackerMode_(conf.getUntrackedParameter<int>(
"UnpackerMode",0)),
27 expectedOrbitMessageTime_(conf.getUntrackedParameter<int>(
"ExpectedOrbitMessageTime",-1))
43 std::ostringstream
ss;
46 edm::LogInfo(
"HCAL") <<
"HcalRawToDigi will unpack FEDs ( " << ss.str() <<
")";
49 produces<HBHEDigiCollection>();
50 produces<HFDigiCollection>();
51 produces<HODigiCollection>();
52 produces<HcalTrigPrimDigiCollection>();
53 produces<HOTrigPrimDigiCollection>();
54 produces<HcalUnpackerReport>();
56 produces<HcalCalibDigiCollection>();
58 produces<ZDCDigiCollection>();
60 produces<HcalTTPDigiCollection>();
61 produces<QIE10DigiCollection>();
73 desc.
add<
int>(
"firstSample",0);
74 desc.
add<
int>(
"lastSample",9);
75 desc.
add<
bool>(
"FilterDataQuality",
true);
76 desc.
addUntracked<std::vector<int>>(
"FEDs", std::vector<int>());
86 descriptions.
add(
"hcalRawToDigi",desc);
104 std::vector<HBHEDataFrame> hbhe;
105 std::vector<HODataFrame> ho;
106 std::vector<HFDataFrame> hf;
107 std::vector<HcalTriggerPrimitiveDigi> htp;
108 std::vector<HcalCalibDataFrame>
hc;
109 std::vector<ZDCDataFrame> zdc;
110 std::vector<HcalTTPDigi> ttp;
111 std::vector<HOTriggerPrimitiveDigi> hotp;
141 report->addError(*
i);
143 }
else if (fed.
size()<8*3) {
145 report->addError(*
i);
149 report->addUnpacked(*
i);
152 report->addError(*
i);
155 report->addError(*
i);
184 if (colls.
qie10 == 0) {
187 std::auto_ptr<QIE10DigiCollection> qie10_prod(colls.
qie10);
189 hbhe_prod->swap_contents(hbhe);
190 hf_prod->swap_contents(hf);
191 ho_prod->swap_contents(ho);
192 htp_prod->swap_contents(htp);
193 hotp_prod->swap_contents(hotp);
201 hbhe_prod->
swap(filtered_hbhe);
202 ho_prod->swap(filtered_ho);
203 hf_prod->swap(filtered_hf);
226 hc_prod->swap_contents(hc);
230 hc_prod->
swap(filtered_calib);
240 prod->swap_contents(zdc);
244 prod->
swap(filtered_zdc);
253 prod->swap_contents(ttp);
virtual char const * what() const
T getParameter(std::string const &) const
HcalDataFrameFilter filter_
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
std::vector< HcalTTPDigi > * ttp
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
std::vector< HFDataFrame > * hfCont
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void swap(SortedCollection &other)
std::vector< HBHEDataFrame > * hbheCont
std::vector< HOTriggerPrimitiveDigi > * tphoCont
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::SortedCollection< HOTriggerPrimitiveDigi > HOTrigPrimDigiCollection
size_t size() const
Lenght of the data buffer in bytes.
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
virtual void produce(edm::Event &, const edm::EventSetup &) override
HcalDataFrameContainer< QIE10DataFrame > QIE10DigiCollection
const int expectedOrbitMessageTime_
edm::SortedCollection< HODataFrame > HODigiCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const bool complainEmptyData_
std::string electronicsMapLabel_
std::vector< HcalTriggerPrimitiveDigi > * tpCont
struct HcalRawToDigi::Statistics stats_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
HcalRawToDigi(const edm::ParameterSet &ps)
void setExpectedOrbitMessageTime(int time)
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap, std::vector< HcalHistogramDigi > &histoDigis)
edm::SortedCollection< HcalCalibDataFrame > HcalCalibDigiCollection
std::vector< HcalCalibDataFrame > * calibCont
std::vector< int > fedUnpackList_
T const * product() const
bool active() const
whether any filters are on
std::vector< HODataFrame > * hoCont
void add(std::string const &label, ParameterSetDescription const &psetDescription)
HBHEDigiCollection filter(const HBHEDigiCollection &incol, HcalUnpackerReport &r)
filter HB/HE data frames
edm::SortedCollection< HcalTTPDigi > HcalTTPDigiCollection
edm::SortedCollection< HFDataFrame > HFDigiCollection
QIE10DigiCollection * qie10
std::vector< ZDCDataFrame > * zdcCont
edm::EDGetTokenT< FEDRawDataCollection > tok_data_
volatile std::atomic< bool > shutdown_flag false
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection