Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef CSCTFConfigProducer_h
0002 #define CSCTFConfigProducer_h
0003 
0004 #include <FWCore/Framework/interface/ESProducer.h>
0005 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0006 
0007 #include "CondFormats/DataRecord/interface/L1MuCSCTFConfigurationRcd.h"
0008 #include "CondFormats/L1TObjects/interface/L1MuCSCTFConfiguration.h"
0009 
0010 #include "CondFormats/DataRecord/interface/L1MuCSCTFAlignmentRcd.h"
0011 #include "CondFormats/L1TObjects/interface/L1MuCSCTFAlignment.h"
0012 
0013 #include "CondFormats/DataRecord/interface/L1MuCSCPtLutRcd.h"
0014 #include "CondFormats/L1TObjects/interface/L1MuCSCPtLut.h"
0015 
0016 #include <string>
0017 #include <vector>
0018 
0019 class CSCTFConfigProducer : public edm::ESProducer {
0020 private:
0021   std::string registers[12];
0022   std::vector<double> alignment;
0023   std::string ptLUT_path;
0024 
0025 public:
0026   std::unique_ptr<L1MuCSCTFConfiguration> produceL1MuCSCTFConfigurationRcd(const L1MuCSCTFConfigurationRcd& iRecord);
0027   std::unique_ptr<L1MuCSCTFAlignment> produceL1MuCSCTFAlignmentRcd(const L1MuCSCTFAlignmentRcd& iRecord);
0028   std::unique_ptr<L1MuCSCPtLut> produceL1MuCSCPtLutRcd(const L1MuCSCPtLutRcd& iRecord);
0029   void readLUT(std::string path, unsigned short* lut, unsigned long length);
0030 
0031   CSCTFConfigProducer(const edm::ParameterSet& pset);
0032   ~CSCTFConfigProducer(void) override {}
0033 };
0034 
0035 #endif