File indexing completed on 2024-04-06 12:21:03
0001
0002 #include <memory>
0003
0004
0005 #include "FWCore/Framework/interface/ModuleFactory.h"
0006 #include "FWCore/Framework/interface/ESProducer.h"
0007 #include "FWCore/Framework/interface/ESHandle.h"
0008 #include "FWCore/Framework/interface/ESProducts.h"
0009
0010 #include "CondFormats/L1TObjects/interface/L1TMuonOverlapParams.h"
0011 #include "CondFormats/DataRecord/interface/L1TMuonOverlapParamsRcd.h"
0012
0013 #include "L1Trigger/L1TMuonOverlap/interface/OMTFConfiguration.h"
0014 #include "L1Trigger/L1TMuonOverlap/interface/XMLConfigReader.h"
0015
0016 class L1TMuonOverlapParamsESProducer : public edm::ESProducer {
0017 public:
0018 L1TMuonOverlapParamsESProducer(const edm::ParameterSet&);
0019 ~L1TMuonOverlapParamsESProducer() override;
0020
0021 using ReturnType = std::unique_ptr<L1TMuonOverlapParams>;
0022
0023 ReturnType produceParams(const L1TMuonOverlapParamsRcd&);
0024
0025 ReturnType producePatterns(const L1TMuonOverlapParamsRcd&);
0026
0027 private:
0028
0029
0030
0031 bool readPatternsXML(XMLConfigReader& aReader);
0032
0033
0034 bool readConnectionsXML(const XMLConfigReader& aReader);
0035
0036 L1TMuonOverlapParams params;
0037 L1TMuonOverlapParams patterns;
0038 };