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))
40 std::ostringstream
ss;
43 edm::LogInfo(
"HCAL") <<
"HcalRawToDigi will unpack FEDs ( " << ss.str() <<
")";
46 produces<HBHEDigiCollection>();
47 produces<HFDigiCollection>();
48 produces<HODigiCollection>();
49 produces<HcalTrigPrimDigiCollection>();
50 produces<HOTrigPrimDigiCollection>();
51 produces<HcalUnpackerReport>();
53 produces<HcalCalibDigiCollection>();
55 produces<ZDCDigiCollection>();
57 produces<HcalTTPDigiCollection>();
58 produces<QIE10DigiCollection>();
79 std::vector<HBHEDataFrame> hbhe;
80 std::vector<HODataFrame> ho;
81 std::vector<HFDataFrame> hf;
82 std::vector<HcalTriggerPrimitiveDigi> htp;
83 std::vector<HcalCalibDataFrame>
hc;
84 std::vector<ZDCDataFrame> zdc;
85 std::vector<HcalTTPDigi> ttp;
86 std::vector<HOTriggerPrimitiveDigi> hotp;
116 report->addError(*
i);
118 }
else if (fed.
size()<8*3) {
120 report->addError(*
i);
124 report->addUnpacked(*
i);
127 report->addError(*
i);
130 report->addError(*
i);
159 if (colls.
qie10 == 0) {
162 std::auto_ptr<QIE10DigiCollection> qie10_prod(colls.
qie10);
164 hbhe_prod->swap_contents(hbhe);
165 hf_prod->swap_contents(hf);
166 ho_prod->swap_contents(ho);
167 htp_prod->swap_contents(htp);
168 hotp_prod->swap_contents(hotp);
176 hbhe_prod->
swap(filtered_hbhe);
177 ho_prod->swap(filtered_ho);
178 hf_prod->swap(filtered_hf);
201 hc_prod->swap_contents(hc);
205 hc_prod->
swap(filtered_calib);
215 prod->swap_contents(zdc);
219 prod->
swap(filtered_zdc);
228 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
HcalDataFrameContainer< QIE10DataFrame > QIE10DigiCollection
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
QIE10DigiCollection * qie10
std::vector< ZDCDataFrame > * zdcCont
edm::EDGetTokenT< FEDRawDataCollection > tok_data_
volatile std::atomic< bool > shutdown_flag false
edm::SortedCollection< HBHEDataFrame > HBHEDigiCollection