12 unpacker_(conf.getUntrackedParameter<int>(
"HcalFirstFED",int(
FEDNumbering::MINHCALFEDID)),conf.getParameter<int>(
"firstSample"),conf.getParameter<int>(
"lastSample")),
13 filter_(conf.getParameter<bool>(
"FilterDataQuality"),conf.getParameter<bool>(
"FilterDataQuality"),
17 fedUnpackList_(conf.getUntrackedParameter<std::vector<int> >(
"FEDs", std::vector<int>())),
18 firstFED_(conf.getUntrackedParameter<int>(
"HcalFirstFED",
FEDNumbering::MINHCALFEDID)),
19 unpackCalib_(conf.getUntrackedParameter<bool>(
"UnpackCalib",
false)),
20 unpackZDC_(conf.getUntrackedParameter<bool>(
"UnpackZDC",
false)),
21 unpackTTP_(conf.getUntrackedParameter<bool>(
"UnpackTTP",
false)),
22 silent_(conf.getUntrackedParameter<bool>(
"silent",
true)),
23 complainEmptyData_(conf.getUntrackedParameter<bool>(
"ComplainEmptyData",
false)),
24 unpackerMode_(conf.getUntrackedParameter<int>(
"UnpackerMode",0)),
25 expectedOrbitMessageTime_(conf.getUntrackedParameter<int>(
"ExpectedOrbitMessageTime",-1))
36 std::ostringstream
ss;
39 edm::LogInfo(
"HCAL") <<
"HcalRawToDigi will unpack FEDs ( " << ss.str() <<
")";
42 produces<HBHEDigiCollection>();
43 produces<HFDigiCollection>();
44 produces<HODigiCollection>();
45 produces<HcalTrigPrimDigiCollection>();
46 produces<HOTrigPrimDigiCollection>();
47 produces<HcalUnpackerReport>();
49 produces<HcalCalibDigiCollection>();
51 produces<ZDCDigiCollection>();
53 produces<HcalTTPDigiCollection>();
74 std::vector<HBHEDataFrame> hbhe;
75 std::vector<HODataFrame> ho;
76 std::vector<HFDataFrame> hf;
77 std::vector<HcalTriggerPrimitiveDigi> htp;
78 std::vector<HcalCalibDataFrame>
hc;
79 std::vector<ZDCDataFrame> zdc;
80 std::vector<HcalTTPDigi> ttp;
81 std::vector<HOTriggerPrimitiveDigi> hotp;
111 report->addError(*
i);
113 }
else if (fed.
size()<8*3) {
115 report->addError(*
i);
119 report->addUnpacked(*
i);
122 report->addError(*
i);
125 report->addError(*
i);
155 hbhe_prod->swap_contents(hbhe);
156 hf_prod->swap_contents(hf);
157 ho_prod->swap_contents(ho);
158 htp_prod->swap_contents(htp);
159 hotp_prod->swap_contents(hotp);
167 hbhe_prod->
swap(filtered_hbhe);
168 ho_prod->swap(filtered_ho);
169 hf_prod->swap(filtered_hf);
190 hc_prod->swap_contents(hc);
194 hc_prod->
swap(filtered_calib);
204 prod->swap_contents(zdc);
208 prod->
swap(filtered_zdc);
217 prod->swap_contents(ttp);
virtual char const * what() const
T getParameter(std::string const &) const
HcalDataFrameFilter filter_
std::vector< HcalTTPDigi > * ttp
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
std::vector< HFDataFrame > * hfCont
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void swap(SortedCollection &other)
virtual void produce(edm::Event &e, const edm::EventSetup &c)
std::vector< HBHEDataFrame > * hbheCont
std::vector< HOTriggerPrimitiveDigi > * tphoCont
edm::SortedCollection< HOTriggerPrimitiveDigi > HOTrigPrimDigiCollection
size_t size() const
Lenght of the data buffer in bytes.
edm::SortedCollection< ZDCDataFrame > ZDCDigiCollection
edm::SortedCollection< HODataFrame > HODigiCollection
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< HcalTriggerPrimitiveDigi > * tpCont
struct HcalRawToDigi::Statistics stats_
int expectedOrbitMessageTime_
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_
bool active() const
whether any filters are on
std::vector< HODataFrame > * hoCont
HBHEDigiCollection filter(const HBHEDigiCollection &incol, HcalUnpackerReport &r)
filter HB/HE data frames
edm::SortedCollection< HcalTTPDigi > HcalTTPDigiCollection
edm::SortedCollection< HFDataFrame > HFDigiCollection
std::vector< ZDCDataFrame > * zdcCont
edm::EDGetTokenT< FEDRawDataCollection > tok_data_
volatile std::atomic< bool > shutdown_flag false
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection