Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:03

0001 // system include files
0002 #include <memory>
0003 
0004 // user include files
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   ///Read Golden Patters from single XML file.
0029   ///XMLConfigReader  state is modified, as it hold
0030   ///cache of the Golden Patters read from XML file.
0031   bool readPatternsXML(XMLConfigReader& aReader);
0032 
0033   ///Read Connections from single XML file.
0034   bool readConnectionsXML(const XMLConfigReader& aReader);
0035 
0036   L1TMuonOverlapParams params;
0037   L1TMuonOverlapParams patterns;
0038 };