18 : reco_(conf.getParameter<
bool>(
"correctForTimeslew"),
19 conf.getParameter<
bool>(
"correctForPhaseContainment"),
20 conf.getParameter<double>(
"correctionPhaseNS"),
21 conf.getParameter<
int>(
"recoMethod"),
22 conf.getParameter<
int>(
"lowGainOffset"),
23 conf.getParameter<double>(
"lowGainFrac")),
24 saturationFlagSetter_(nullptr),
26 correctTiming_(conf.getParameter<
bool>(
"correctTiming")),
27 setNoiseFlags_(conf.getParameter<
bool>(
"setNoiseFlags")),
28 setHSCPFlags_(conf.getParameter<
bool>(
"setHSCPFlags")),
29 setSaturationFlags_(conf.getParameter<
bool>(
"setSaturationFlags")),
30 setTimingTrustFlags_(conf.getParameter<
bool>(
"setTimingTrustFlags")),
31 dropZSmarkedPassed_(conf.getParameter<
bool>(
"dropZSmarkedPassed")),
32 AuxTSvec_(conf.getParameter<
std::
vector<
int> >(
"AuxTSvec")) {
43 if (!strcasecmp(subd.c_str(),
"ZDC")) {
46 produces<ZDCRecHitCollection>();
47 }
else if (!strcasecmp(subd.c_str(),
"CALIB")) {
50 produces<HcalCalibRecHitCollection>();
52 std::cout <<
"ZdcHitReconstructor is not associated with a specific subdetector!" << std::endl;
56 htopoToken_ = esConsumes<HcalTopology, HcalRecNumberingRecord, edm::Transition::BeginRun>();
57 paramsToken_ = esConsumes<HcalLongRecoParams, HcalLongRecoParamsRcd, edm::Transition::BeginRun>();
60 sevToken_ = esConsumes<HcalSeverityLevelComputer, HcalSeverityLevelComputerRcd>();
81 std::vector<unsigned int> mySignalTS;
82 std::vector<unsigned int> myNoiseTS;
92 edm::LogInfo(
"ZdcHitReconstructor") <<
"No ZDC info found in either castorDigis or hcalDigis." << std::endl;
98 auto rec = std::make_unique<ZDCRecHitCollection>();
99 rec->reserve(digi->
size());
110 if (
i->zsMarkAndPass())
122 myNoiseTS = myParams->
noiseTS();
125 (rec->back()).setFlags(0);
140 auxflag += ((
i->sample(
AuxTSvec_[0]).capid()) << 28);
141 (rec->back()).setAux(auxflag);