21 reco_(conf.getParameter<bool>(
"correctForTimeslew"),
22 conf.getParameter<bool>(
"correctForPhaseContainment"),
23 conf.getParameter<double>(
"correctionPhaseNS"),
24 conf.getParameter<int>(
"recoMethod"),
25 conf.getParameter<int>(
"lowGainOffset"),
26 conf.getParameter<double>(
"lowGainFrac")),
28 inputLabel_(conf.getParameter<edm::InputTag>(
"digiLabel")),
29 correctTiming_(conf.getParameter<bool>(
"correctTiming")),
30 setNoiseFlags_(conf.getParameter<bool>(
"setNoiseFlags")),
31 setHSCPFlags_(conf.getParameter<bool>(
"setHSCPFlags")),
32 setSaturationFlags_(conf.getParameter<bool>(
"setSaturationFlags")),
33 setTimingTrustFlags_(conf.getParameter<bool>(
"setTimingTrustFlags")),
34 dropZSmarkedPassed_(conf.getParameter<bool>(
"dropZSmarkedPassed")),
35 AuxTSvec_(conf.getParameter<std::vector<int> >(
"AuxTSvec")),
48 if (!strcasecmp(subd.c_str(),
"ZDC")) {
51 produces<ZDCRecHitCollection>();
52 }
else if (!strcasecmp(subd.c_str(),
"CALIB")) {
55 produces<HcalCalibRecHitCollection>();
57 std::cout <<
"ZdcHitReconstructor is not associated with a specific subdetector!" << std::endl;
96 std::vector<unsigned int> mySignalTS;
97 std::vector<unsigned int> myNoiseTS;
105 rec->reserve(digi->size());
108 for (i=digi->begin(); i!=digi->end(); i++) {
115 if (i->zsMarkAndPass())
continue;
117 const HcalQIECoder* channelCoder = conditions->getHcalCoder (cell);
118 const HcalQIEShape* shape = conditions->getHcalShape (channelCoder);
126 myNoiseTS = myParams->
noiseTS();
128 rec->push_back(
reco_.
reconstruct(*i,myNoiseTS,mySignalTS,coder,calibrations));
129 (rec->back()).setFlags(0);
136 for (
unsigned int xx=0; xx<
AuxTSvec_.size() && xx<4;++xx)
139 auxflag+=(i->sample(
AuxTSvec_[xx]).adc())<<(7*xx);
143 auxflag+=((i->sample(
AuxTSvec_[0]).capid())<<28);
144 (rec->back()).setAux(auxflag);
T getParameter(std::string const &) const
std::vector< unsigned int > signalTS() const
HcalTopology * theTopology
std::vector< T >::const_iterator const_iterator
void setTopo(const HcalTopology *topo) const
edm::InputTag inputLabel_
const Item * getValues(DetId fId, bool throwOnFail=true) const
uint32_t rawId() const
get the raw id
ZDCRecHit reconstruct(const ZDCDataFrame &digi, const std::vector< unsigned int > &myNoiseTS, const std::vector< unsigned int > &mySignalTS, const HcalCoder &coder, const HcalCalibrations &calibs) const
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
HcalOtherSubdetector subdetOther_
virtual void beginRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
HcalLongRecoParams * myobject
bool dropChannel(const uint32_t &mystatus) const
void setSaturationFlag(HBHERecHit &rechit, const HBHEDataFrame &digi)
HcalADCSaturationFlag * saturationFlagSetter_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const int SubdetectorId
ZdcHitReconstructor(const edm::ParameterSet &ps)
T const * product() const
std::vector< int > AuxTSvec_
std::vector< unsigned int > noiseTS() const
virtual ~ZdcHitReconstructor()
virtual void produce(edm::Event &e, const edm::EventSetup &c) overridefinal
uint32_t getValue() const
virtual void endRun(edm::Run const &r, edm::EventSetup const &es) overridefinal