Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:56:42

0001 #ifndef L1GtConfigProducers_L1GtParametersTrivialProducer_h
0002 #define L1GtConfigProducers_L1GtParametersTrivialProducer_h
0003 
0004 /**
0005  * \class L1GtParametersTrivialProducer
0006  *
0007  *
0008  * Description: ESProducer for L1 GT parameters.
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 <vector>
0021 
0022 // user include files
0023 //   base class
0024 #include "FWCore/Framework/interface/ESProducer.h"
0025 
0026 #include "FWCore/Framework/interface/ModuleFactory.h"
0027 
0028 #include "CondFormats/L1TObjects/interface/L1GtParameters.h"
0029 #include "CondFormats/DataRecord/interface/L1GtParametersRcd.h"
0030 #include <cstdint>
0031 
0032 // forward declarations
0033 
0034 // class declaration
0035 class L1GtParametersTrivialProducer : public edm::ESProducer {
0036 public:
0037   /// constructor
0038   L1GtParametersTrivialProducer(const edm::ParameterSet&);
0039 
0040   /// destructor
0041   ~L1GtParametersTrivialProducer() override;
0042 
0043   /// public methods
0044 
0045   /// L1 GT parameters
0046   std::unique_ptr<L1GtParameters> produceGtParameters(const L1GtParametersRcd&);
0047 
0048 private:
0049   /// total Bx's in the event
0050   int m_totalBxInEvent;
0051 
0052   /// active boards in the L1 DAQ record
0053   uint16_t m_daqActiveBoards;
0054 
0055   /// active boards in the L1 EVM record
0056   uint16_t m_evmActiveBoards;
0057 
0058   /// number of Bx per board in the DAQ record
0059   std::vector<int> m_daqNrBxBoard;
0060 
0061   /// number of Bx per board in the EVM record
0062   std::vector<int> m_evmNrBxBoard;
0063 
0064   /// length of BST record (in bytes)
0065   unsigned int m_bstLengthBytes;
0066 };
0067 
0068 #endif