File indexing completed on 2025-06-03 00:12:21
0001
0002
0003
0004
0005
0006 #include "FWCore/Framework/interface/ModuleFactory.h"
0007 #include "FWCore/Framework/interface/ESProducer.h"
0008 #include "FWCore/Framework/interface/ESHandle.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/Utilities/interface/ESGetToken.h"
0011 #include "FWCore/Utilities/interface/ESInputTag.h"
0012 #include "DataFormats/Provenance/interface/ParameterSetID.h"
0013 #include "L1Trigger/TrackFindingTracklet/interface/HitPatternHelper.h"
0014 #include "L1Trigger/TrackTrigger/interface/Setup.h"
0015 #include "L1Trigger/TrackerTFP/interface/DataFormats.h"
0016 #include "L1Trigger/TrackerTFP/interface/LayerEncoding.h"
0017
0018 #include <memory>
0019
0020 namespace hph {
0021
0022 class ProducerHPH : public edm::ESProducer {
0023 public:
0024 ProducerHPH(const edm::ParameterSet& iConfig);
0025 ~ProducerHPH() override = default;
0026 std::unique_ptr<Setup> produce(const SetupRcd& Rcd);
0027
0028 private:
0029 Setup::Config iConfig_;
0030 edm::ESGetToken<tt::Setup, tt::SetupRcd> esGetTokenSetup_;
0031 edm::ESGetToken<trackerTFP::DataFormats, trackerTFP::DataFormatsRcd> esGetTokenDataFormats_;
0032 edm::ESGetToken<trackerTFP::LayerEncoding, trackerTFP::DataFormatsRcd> esGetTokenLayerEncoding_;
0033 };
0034
0035 ProducerHPH::ProducerHPH(const edm::ParameterSet& iConfig) {
0036 auto cc = setWhatProduced(this);
0037 esGetTokenSetup_ = cc.consumes();
0038 esGetTokenDataFormats_ = cc.consumes();
0039 esGetTokenLayerEncoding_ = cc.consumes();
0040 const edm::ParameterSet& oldKFPSet = iConfig.getParameter<edm::ParameterSet>("oldKFPSet");
0041 iConfig_.hphDebug_ = iConfig.getParameter<bool>("hphDebug");
0042 iConfig_.useNewKF_ = iConfig.getParameter<bool>("useNewKF");
0043 iConfig_.chosenRofZ_ = oldKFPSet.getParameter<double>("ChosenRofZ");
0044 iConfig_.etaRegions_ = oldKFPSet.getParameter<std::vector<double>>("EtaRegions");
0045 }
0046
0047 std::unique_ptr<Setup> ProducerHPH::produce(const SetupRcd& Rcd) {
0048 const tt::Setup& setupTT = Rcd.get(esGetTokenSetup_);
0049 const trackerTFP::DataFormats& dataFormats = Rcd.get(esGetTokenDataFormats_);
0050 const trackerTFP::LayerEncoding& layerEncoding = Rcd.get(esGetTokenLayerEncoding_);
0051 return std::make_unique<Setup>(iConfig_, setupTT, dataFormats, layerEncoding);
0052 }
0053
0054 }
0055
0056 DEFINE_FWK_EVENTSETUP_MODULE(hph::ProducerHPH);