17 reco_(conf.getParameter<bool>(
"correctForTimeslew"),
18 conf.getParameter<bool>(
"correctForPhaseContainment"),conf.getParameter<double>(
"correctionPhaseNS"),
19 conf.getParameter<int>(
"recoMethod"),
20 conf.getParameter<int>(
"lowGainOffset"),
21 conf.getParameter<double>(
"lowGainFrac")),
23 inputLabel_(conf.getParameter<edm::InputTag>(
"digiLabel")),
24 dropZSmarkedPassed_(conf.getParameter<bool>(
"dropZSmarkedPassed"))
27 if (!strcasecmp(subd.c_str(),
"ZDC")) {
30 produces<ZDCRecHitCollection>();
31 }
else if (!strcasecmp(subd.c_str(),
"CALIB")) {
34 produces<HcalCalibRecHitCollection>();
36 std::cout <<
"ZdcSimpleReconstructor is not associated with a specific subdetector!" << std::endl;
59 std::vector<unsigned int> mySignalTS;
60 std::vector<unsigned int> myNoiseTS;
68 rec->reserve(digi->size());
70 unsigned int toaddMem = 0;
73 for (i=digi->begin(); i!=digi->end(); i++) {
78 if (i->zsMarkAndPass())
continue;
85 myNoiseTS = myParams->
noiseTS();
88 unsigned int toadd = mySignalTS.size();
89 if(toaddMem != toadd) {
94 const HcalQIECoder* channelCoder = conditions->getHcalCoder (cell);
95 const HcalQIEShape* shape = conditions->getHcalShape (channelCoder);
97 rec->push_back(
reco_.
reconstruct(*i,myNoiseTS,mySignalTS,coder,calibrations));
virtual void produce(edm::Event &e, const edm::EventSetup &c)
T getParameter(std::string const &) const
HcalOtherSubdetector subdetOther_
virtual ~ZdcSimpleReconstructor()
std::vector< unsigned int > signalTS() const
HcalLongRecoParams * myobject
std::vector< T >::const_iterator const_iterator
const Item * getValues(DetId fId, bool throwOnFail=true) const
virtual void endRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
ZdcSimpleReconstructor(const edm::ParameterSet &ps)
edm::InputTag inputLabel_
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 initPulseCorr(int toadd)
virtual void beginRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const int SubdetectorId
T const * product() const
std::vector< unsigned int > noiseTS() const