Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:18

0001 #ifndef L1GtConfigProducers_L1GtTriggerMenuXmlProducer_h
0002 #define L1GtConfigProducers_L1GtTriggerMenuXmlProducer_h
0003 
0004 /**
0005  * \class L1GtTriggerMenuXmlProducer
0006  * 
0007  * 
0008  * Description: ESProducer for the L1 Trigger Menu from an XML file .  
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *   
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  * 
0015  *
0016  */
0017 
0018 // system include files
0019 #include <memory>
0020 #include <string>
0021 
0022 // user include files
0023 //   base class
0024 #include "FWCore/Framework/interface/ESProducer.h"
0025 
0026 #include "FWCore/Framework/interface/ModuleFactory.h"
0027 #include "FWCore/Framework/interface/ESHandle.h"
0028 
0029 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenu.h"
0030 #include "CondFormats/DataRecord/interface/L1GtTriggerMenuRcd.h"
0031 
0032 // forward declarations
0033 class L1GtStableParameters;
0034 
0035 // class declaration
0036 class L1GtTriggerMenuXmlProducer : public edm::ESProducer {
0037 public:
0038   /// constructor
0039   L1GtTriggerMenuXmlProducer(const edm::ParameterSet&);
0040 
0041   /// destructor
0042   ~L1GtTriggerMenuXmlProducer() override;
0043 
0044   /// public methods
0045 
0046   /// L1 GT parameters
0047   std::unique_ptr<L1GtTriggerMenu> produceGtTriggerMenu(const L1GtTriggerMenuRcd&);
0048 
0049 private:
0050   /// XML file for Global Trigger menu (def.xml)
0051   std::string m_defXmlFile;
0052 
0053   /// XML file for Global Trigger VME configuration (vme.xml)
0054   std::string m_vmeXmlFile;
0055 
0056   edm::ESGetToken<L1GtStableParameters, L1GtStableParametersRcd> m_getToken;
0057 };
0058 
0059 #endif