13 dataTag_(conf.getParameter<edm::InputTag>(
"InputLabel")),
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 expectedOrbitMessageTime_(conf.getUntrackedParameter<int>(
"ExpectedOrbitMessageTime",-1))
34 std::ostringstream ss;
37 edm::LogInfo(
"HCAL") <<
"HcalRawToDigi will unpack FEDs ( " << ss.str() <<
")";
40 produces<HBHEDigiCollection>();
41 produces<HFDigiCollection>();
42 produces<HODigiCollection>();
43 produces<HcalTrigPrimDigiCollection>();
44 produces<HOTrigPrimDigiCollection>();
45 produces<HcalUnpackerReport>();
47 produces<HcalCalibDigiCollection>();
49 produces<ZDCDigiCollection>();
51 produces<HcalTTPDigiCollection>();
72 std::vector<HBHEDataFrame> hbhe;
73 std::vector<HODataFrame> ho;
74 std::vector<HFDataFrame> hf;
75 std::vector<HcalTriggerPrimitiveDigi> htp;
76 std::vector<HcalCalibDataFrame> hc;
77 std::vector<ZDCDataFrame> zdc;
78 std::vector<HcalTTPDigi> ttp;
79 std::vector<HOTriggerPrimitiveDigi> hotp;
109 report->addError(*
i);
111 }
else if (fed.
size()<8*3) {
113 report->addError(*
i);
117 report->addUnpacked(*
i);
120 report->addError(*
i);
123 report->addError(*
i);
153 hbhe_prod->swap_contents(hbhe);
154 hf_prod->swap_contents(hf);
155 ho_prod->swap_contents(ho);
156 htp_prod->swap_contents(htp);
157 hotp_prod->swap_contents(hotp);
165 hbhe_prod->
swap(filtered_hbhe);
166 ho_prod->swap(filtered_ho);
167 hf_prod->swap(filtered_hf);
188 hc_prod->swap_contents(hc);
192 hc_prod->
swap(filtered_calib);
202 prod->swap_contents(zdc);
206 prod->
swap(filtered_zdc);
215 prod->swap_contents(ttp);
virtual char const * what() const
HcalDataFrameFilter filter_
std::vector< HcalTTPDigi > * ttp
edm::SortedCollection< HcalTriggerPrimitiveDigi > HcalTrigPrimDigiCollection
std::vector< HFDataFrame > * hfCont
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
const T & max(const T &a, const T &b)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< HcalTriggerPrimitiveDigi > * tpCont
struct HcalRawToDigi::Statistics stats_
int expectedOrbitMessageTime_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
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::SortedCollection< HBHEDataFrame > HBHEDigiCollection