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