15 reco_(conf.getParameter<
bool>(
"correctForTimeslew"),
16 conf.getParameter<
bool>(
"correctForPhaseContainment"),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"))
28 if (!strcasecmp(subd.c_str(),
"ZDC")) {
31 produces<ZDCRecHitCollection>();
32 }
else if (!strcasecmp(subd.c_str(),
"CALIB")) {
35 produces<HcalCalibRecHitCollection>();
37 std::cout <<
"ZdcSimpleReconstructor is not associated with a specific subdetector!" << std::endl;
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;
85 for (i=digi->
begin(); i!=digi->
end(); i++) {
90 if (i->zsMarkAndPass())
continue;
97 myNoiseTS = myParams->
noiseTS();
100 unsigned int toadd = mySignalTS.size();
101 if(toaddMem != toadd) {
109 rec->push_back(
reco_.
reconstruct(*i,myNoiseTS,mySignalTS,coder,calibrations));
T getParameter(std::string const &) const
HcalOtherSubdetector subdetOther_
void endRun(edm::Run const &r, edm::EventSetup const &es) final
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< unsigned int > signalTS() const
HcalLongRecoParams * myobject
void initPulseCorr(int toadd, const HcalTimeSlew *hcalTimeSlew_delay)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void produce(edm::Event &e, const edm::EventSetup &c) override
edm::EDGetTokenT< ZDCDigiCollection > tok_input_hcal
std::vector< ZDCDataFrame >::const_iterator const_iterator
const HcalTimeSlew * hcalTimeSlew_delay_
const Item * getValues(DetId fId, bool throwOnFail=true) const
ZdcSimpleReconstructor(const edm::ParameterSet &ps)
~ZdcSimpleReconstructor() override
ZDCRecHit reconstruct(const ZDCDataFrame &digi, const std::vector< unsigned int > &myNoiseTS, const std::vector< unsigned int > &mySignalTS, const HcalCoder &coder, const HcalCalibrations &calibs) const
edm::EDGetTokenT< ZDCDigiCollection > tok_input_castor
void beginRun(edm::Run const &r, edm::EventSetup const &es) final
const_iterator end() const
static const int SubdetectorId
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
std::vector< unsigned int > noiseTS() const
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
T const * product() const
const_iterator begin() const