File indexing completed on 2024-04-06 12:25:52
0001 #ifndef ZDCSIMPLERECONSTRUCTOR_H
0002 #define ZDCSIMPLERECONSTRUCTOR_H 1
0003
0004 #include <memory>
0005
0006 #include "FWCore/Framework/interface/stream/EDProducer.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "DataFormats/Common/interface/Handle.h"
0009 #include "CondFormats/HcalObjects/interface/HcalLongRecoParams.h"
0010 #include "CondFormats/HcalObjects/interface/HcalLongRecoParam.h"
0011 #include "FWCore/Framework/interface/EventSetup.h"
0012 #include "FWCore/Utilities/interface/ESGetToken.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0015 #include "CalibCalorimetry/HcalAlgos/interface/HcalTimeSlew.h"
0016
0017 #include "RecoLocalCalo/HcalRecAlgos/interface/ZdcSimpleRecAlgo.h"
0018
0019 #include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"
0020 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0021
0022 class HcalTopology;
0023 class HcalRecNumberingRecord;
0024 class HcalLongRecoParamsRcd;
0025 class HcalDbService;
0026 class HcalDbRecord;
0027 class HcalTimeSlew;
0028 class HcalTimeSlewRecord;
0029
0030
0031
0032
0033
0034 class ZdcSimpleReconstructor : public edm::stream::EDProducer<> {
0035 public:
0036 explicit ZdcSimpleReconstructor(const edm::ParameterSet& ps);
0037 ~ZdcSimpleReconstructor() override;
0038 void beginRun(edm::Run const& r, edm::EventSetup const& es) final;
0039 void endRun(edm::Run const& r, edm::EventSetup const& es) final;
0040 void produce(edm::Event& e, const edm::EventSetup& c) override;
0041
0042 private:
0043 ZdcSimpleRecAlgo reco_;
0044 DetId::Detector det_;
0045 int subdet_;
0046 HcalOtherSubdetector subdetOther_;
0047 edm::EDGetTokenT<ZDCDigiCollection> tok_input_hcal;
0048 edm::EDGetTokenT<ZDCDigiCollection> tok_input_castor;
0049
0050 bool dropZSmarkedPassed_;
0051
0052 std::unique_ptr<HcalLongRecoParams> longRecoParams_;
0053
0054 const HcalTimeSlew* hcalTimeSlew_delay_;
0055
0056
0057 edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> htopoToken_;
0058 edm::ESGetToken<HcalLongRecoParams, HcalLongRecoParamsRcd> paramsToken_;
0059 edm::ESGetToken<HcalDbService, HcalDbRecord> conditionsToken_;
0060 edm::ESGetToken<HcalTimeSlew, HcalTimeSlewRecord> timeSlewToken_;
0061 };
0062
0063 #endif