19 : dataTag_(conf.getParameter<
edm::
InputTag>(
"InputLabel")),
20 unpacker_(conf.getParameter<
int>(
"CastorFirstFED"),
21 conf.getParameter<
int>(
"firstSample"),
22 conf.getParameter<
int>(
"lastSample")),
23 zdcunpacker_(conf.getParameter<
int>(
"CastorFirstFED"),
24 conf.getParameter<
int>(
"firstSample"),
25 conf.getParameter<
int>(
"lastSample")),
26 ctdcunpacker_(conf.getParameter<
int>(
"CastorFirstFED"),
27 conf.getParameter<
int>(
"firstSample"),
28 conf.getParameter<
int>(
"lastSample")),
30 conf.getParameter<
bool>(
"FilterDataQuality"), conf.getParameter<
bool>(
"FilterDataQuality"),
false, 0, 0, -1),
31 fedUnpackList_(conf.getUntrackedParameter<
std::vector<
int> >(
"FEDs",
std::vector<
int>())),
32 firstFED_(conf.getParameter<
int>(
"CastorFirstFED")),
33 complainEmptyData_(conf.getUntrackedParameter<
bool>(
"ComplainEmptyData",
false)),
34 usingctdc_(conf.getParameter<
bool>(
"CastorCtdc")),
35 unpackTTP_(conf.getParameter<
bool>(
"UnpackTTP")),
36 unpackZDC_(conf.getParameter<
bool>(
"UnpackZDC")),
37 silent_(conf.getUntrackedParameter<
bool>(
"silent",
true)),
38 usenominalOrbitMessageTime_(conf.getParameter<
bool>(
"UseNominalOrbitMessageTime")),
39 expectedOrbitMessageTime_(conf.getParameter<
int>(
"ExpectedOrbitMessageTime"))
48 std::ostringstream
ss;
51 edm::LogInfo(
"CASTOR") <<
"CastorRawToDigi will unpack FEDs ( " <<
ss.str() <<
")";
54 produces<CastorDigiCollection>();
55 produces<ZDCDigiCollection>();
56 produces<CastorTrigPrimDigiCollection>();
57 produces<HcalUnpackerReport>();
59 produces<HcalTTPDigiCollection>();
78 std::vector<CastorDataFrame>
castor;
79 std::vector<ZDCDataFrame>
zdc;
80 std::vector<HcalTTPDigi> ttp;
81 std::vector<CastorTriggerPrimitiveDigi> htp;
83 auto report = std::make_unique<HcalUnpackerReport>();
94 const int fed722size = fed722.
size();
96 const int fed693size = fed693.
size();
100 if (*
i == 693 && fed693size == 0 && fed722size != 0)
102 if (*
i == 722 && fed722size == 0 && fed693size != 0)
105 if (*
i != 693 && *
i != 722) {
106 if (fed.
size() == 0) {
111 }
else if (fed.
size() < 8 * 3) {
133 if (fed.
size() == 0) {
139 if (fed.
size() != 0) {
146 if (fed.
size() == 0) {
152 if (fed.
size() != 0) {
161 auto castor_prod = std::make_unique<CastorDigiCollection>();
162 auto htp_prod = std::make_unique<CastorTrigPrimDigiCollection>();
164 castor_prod->swap_contents(
castor);
165 htp_prod->swap_contents(htp);
171 castor_prod->
swap(filtered_castor);
180 auto zdc_prod = std::make_unique<ZDCDigiCollection>();
181 zdc_prod->swap_contents(
zdc);
191 auto prod = std::make_unique<HcalTTPDigiCollection>();
192 prod->swap_contents(ttp);
201 if (irun.
run() > 132640) {
203 }
else if (irun.
run() > 132174) {
205 }
else if (irun.
run() > 124371) {
207 }
else if (irun.
run() > 123984) {
209 }
else if (irun.
run() > 123584) {