00001 #ifndef CSCTFConfigProducer_h 00002 #define CSCTFConfigProducer_h 00003 00004 #include <FWCore/Framework/interface/ESProducer.h> 00005 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00006 00007 #include "CondFormats/DataRecord/interface/L1MuCSCTFConfigurationRcd.h" 00008 #include "CondFormats/L1TObjects/interface/L1MuCSCTFConfiguration.h" 00009 00010 #include "CondFormats/DataRecord/interface/L1MuCSCTFAlignmentRcd.h" 00011 #include "CondFormats/L1TObjects/interface/L1MuCSCTFAlignment.h" 00012 00013 #include "CondFormats/DataRecord/interface/L1MuCSCPtLutRcd.h" 00014 #include "CondFormats/L1TObjects/interface/L1MuCSCPtLut.h" 00015 00016 #include <string> 00017 #include <vector> 00018 00019 class CSCTFConfigProducer : public edm::ESProducer { 00020 private: 00021 std::string registers[12]; 00022 std::vector<double> alignment; 00023 std::string ptLUT_path; 00024 00025 public: 00026 std::auto_ptr<L1MuCSCTFConfiguration> produceL1MuCSCTFConfigurationRcd(const L1MuCSCTFConfigurationRcd& iRecord); 00027 std::auto_ptr<L1MuCSCTFAlignment> produceL1MuCSCTFAlignmentRcd (const L1MuCSCTFAlignmentRcd& iRecord); 00028 std::auto_ptr<L1MuCSCPtLut> produceL1MuCSCPtLutRcd (const L1MuCSCPtLutRcd& iRecord); 00029 void readLUT(std::string path, unsigned short* lut, unsigned long length); 00030 00031 CSCTFConfigProducer(const edm::ParameterSet& pset); 00032 ~CSCTFConfigProducer(void){} 00033 }; 00034 00035 #endif