14 : reco_(conf.getParameter<
bool>(
"correctForTimeslew"),
15 conf.getParameter<
bool>(
"correctForPhaseContainment"),
16 conf.getParameter<double>(
"correctionPhaseNS"),
17 conf.getParameter<
int>(
"recoMethod"),
18 conf.getParameter<
int>(
"lowGainOffset"),
19 conf.getParameter<double>(
"lowGainFrac")),
21 dropZSmarkedPassed_(conf.getParameter<
bool>(
"dropZSmarkedPassed")) {
26 if (!strcasecmp(subd.c_str(),
"ZDC")) {
29 produces<ZDCRecHitCollection>();
30 }
else if (!strcasecmp(subd.c_str(),
"CALIB")) {
33 produces<HcalCalibRecHitCollection>();
35 std::cout <<
"ZdcSimpleReconstructor is not associated with a specific subdetector!" << std::endl;
41 htopoToken_ = esConsumes<HcalTopology, HcalRecNumberingRecord, edm::Transition::BeginRun>();
42 paramsToken_ = esConsumes<HcalLongRecoParams, HcalLongRecoParamsRcd, edm::Transition::BeginRun>();
65 std::vector<unsigned int> mySignalTS;
66 std::vector<unsigned int> myNoiseTS;
75 edm::LogInfo(
"ZdcHitReconstructor") <<
"No ZDC info found in either castorDigis or hcalDigis." << std::endl;
79 auto rec = std::make_unique<ZDCRecHitCollection>();
80 rec->reserve(digi->
size());
82 unsigned int toaddMem = 0;
90 if (
i->zsMarkAndPass())
98 myNoiseTS = myParams->
noiseTS();
101 unsigned int toadd = mySignalTS.size();
102 if (toaddMem != toadd) {
HcalOtherSubdetector subdetOther_
void endRun(edm::Run const &r, edm::EventSetup const &es) final
T getParameter(std::string const &) const
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void initPulseCorr(int toadd, const HcalTimeSlew *hcalTimeSlew_delay)
void produce(edm::Event &e, const edm::EventSetup &c) override
edm::EDGetTokenT< ZDCDigiCollection > tok_input_hcal
std::vector< T >::const_iterator const_iterator
const HcalTimeSlew * hcalTimeSlew_delay_
edm::ESGetToken< HcalDbService, HcalDbRecord > conditionsToken_
ZdcSimpleReconstructor(const edm::ParameterSet &ps)
~ZdcSimpleReconstructor() override
edm::EDGetTokenT< ZDCDigiCollection > tok_input_castor
const_iterator begin() const
ZDCRecHit reconstruct(const ZDCDataFrame &digi, const std::vector< unsigned int > &myNoiseTS, const std::vector< unsigned int > &mySignalTS, const HcalCoder &coder, const HcalCalibrations &calibs) const
void beginRun(edm::Run const &r, edm::EventSetup const &es) final
edm::ESGetToken< HcalLongRecoParams, HcalLongRecoParamsRcd > paramsToken_
const_iterator end() const
std::unique_ptr< HcalLongRecoParams > longRecoParams_
std::vector< unsigned int > signalTS() const
edm::ESGetToken< HcalTimeSlew, HcalTimeSlewRecord > timeSlewToken_
static constexpr int32_t SubdetectorId
std::vector< unsigned int > noiseTS() const
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > htopoToken_