17 reco_(conf.getParameter<bool>(
"correctForTimeslew"),
18 conf.getParameter<bool>(
"correctForPhaseContainment"),conf.getParameter<double>(
"correctionPhaseNS")),
20 inputLabel_(conf.getParameter<edm::InputTag>(
"digiLabel")),
21 dropZSmarkedPassed_(conf.getParameter<bool>(
"dropZSmarkedPassed")),
22 firstSample_(conf.getParameter<int>(
"firstSample")),
23 samplesToAdd_(conf.getParameter<int>(
"samplesToAdd")),
24 tsFromDB_(conf.getParameter<bool>(
"tsFromDB")),
32 if(!strcasecmp(subd.c_str(),
"upgradeHBHE")) {
34 produces<HBHERecHitCollection>();
36 else if (!strcasecmp(subd.c_str(),
"upgradeHF")) {
38 produces<HFRecHitCollection>();
40 else if (!strcasecmp(subd.c_str(),
"HO")) {
42 produces<HORecHitCollection>();
44 else if (!strcasecmp(subd.c_str(),
"HBHE")) {
47 produces<HBHERecHitCollection>();
50 else if (!strcasecmp(subd.c_str(),
"HF")) {
53 produces<HFRecHitCollection>();
57 std::cout <<
"HcalSimpleReconstructor is not associated with a specific subdetector!" << std::endl;
91 template<
class DIGICOLL,
class RECHITCOLL>
102 std::auto_ptr<RECHITCOLL> rec(
new RECHITCOLL);
103 rec->reserve(digi->size());
107 typename DIGICOLL::const_iterator
i;
108 for (i=digi->begin(); i!=digi->end(); i++) {
113 if (i->zsMarkAndPass())
continue;
116 const HcalQIECoder* channelCoder = conditions->getHcalCoder (cell);
117 const HcalQIEShape* shape = conditions->getHcalShape (channelCoder);
146 rec->reserve(digi->size());
152 for (i=digi->begin(); i!=digi->end(); i++) {
157 if (i->zsMarkAndPass())
continue;
160 const HcalQIECoder* channelCoder = conditions->getHcalCoder (cell);
161 const HcalQIEShape* shape = conditions->getHcalShape (channelCoder);
184 rec->reserve(digi->size());
190 for (i=digi->begin(); i!=digi->end(); i++) {
195 if (i->zsMarkAndPass())
continue;
198 const HcalQIECoder* channelCoder = conditions->getHcalCoder (cell);
199 const HcalQIEShape* shape = conditions->getHcalShape (channelCoder);
229 process<HBHEDigiCollection, HBHERecHitCollection>(
e, eventSetup);
231 process<HFDigiCollection, HFRecHitCollection>(
e, eventSetup);
233 process<HODigiCollection, HORecHitCollection>(
e, eventSetup);
235 process<HcalCalibDigiCollection, HcalCalibRecHitCollection>(
e, eventSetup);
edm::InputTag inputLabel_
unsigned int firstSample() const
T getParameter(std::string const &) const
HBHERecHit reconstruct(const HBHEDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
HcalSimpleReconstructor(const edm::ParameterSet &ps)
void beginRun(edm::EventSetup const &es)
virtual ~HcalSimpleReconstructor()
virtual void beginRun(edm::Run const &r, edm::EventSetup const &es) overridefinal
std::vector< T >::const_iterator const_iterator
void setTopo(const HcalTopology *topo) const
const Item * getValues(DetId fId, bool throwOnFail=true) const
uint32_t rawId() const
get the raw id
HcalOtherSubdetector subdetOther_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
HFRecHit reconstructHFUpgrade(const HcalUpgradeDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
HcalTopology * theTopology
unsigned int samplesToAdd() const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
void process(edm::Event &e, const edm::EventSetup &c)
virtual void produce(edm::Event &e, const edm::EventSetup &c) overridefinal
T const * product() const
HBHERecHit reconstructHBHEUpgrade(const HcalUpgradeDataFrame &digi, int first, int toadd, const HcalCoder &coder, const HcalCalibrations &calibs) const
void processUpgrade(edm::Event &e, const edm::EventSetup &c)
virtual void endRun(edm::Run const &r, edm::EventSetup const &es) overridefinal