Go to the documentation of this file.00001 #include "L1TriggerConfig/CSCTFConfigProducers/interface/CSCTFObjectKeysOnlineProd.h"
00002 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00003
00004 CSCTFObjectKeysOnlineProd::CSCTFObjectKeysOnlineProd( const edm::ParameterSet& iConfig )
00005 : L1ObjectKeysOnlineProdBase( iConfig ),
00006 m_enableConfiguration( iConfig.getParameter< bool >( "enableConfiguration" ) ),
00007 m_enablePtLut( iConfig.getParameter< bool >( "enablePtLut" ) )
00008 {}
00009
00010 void CSCTFObjectKeysOnlineProd::fillObjectKeys( ReturnType pL1TriggerKey )
00011 {
00012 std::string csctfKey = pL1TriggerKey->subsystemKey( L1TriggerKey::kCSCTF ) ;
00013
00014
00015
00016 if( !csctfKey.empty() )
00017 {
00018 if( m_enableConfiguration )
00019 {
00020
00021
00022 pL1TriggerKey->add( "L1MuCSCTFConfigurationRcd",
00023 "L1MuCSCTFConfiguration",
00024 csctfKey ) ;
00025
00026 }
00027
00028 if( m_enablePtLut )
00029 {
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 std::string sp1key = csctfKey + "0001";
00040
00041
00042 l1t::OMDSReader::QueryResults objectKeyResults =
00043 m_omdsReader.basicQuery(
00044 "PTLUT_VERSION",
00045 "CMS_CSC_TF",
00046 "CSCTF_SP_CONF",
00047 "CSCTF_SP_CONF.SP_KEY",
00048 m_omdsReader.singleAttribute( sp1key ) );
00049
00050
00051 if( objectKeyResults.queryFailed() || objectKeyResults.numberRows() != 1 )
00052 {
00053 edm::LogError( "L1-O2O" ) << "Problem with CSCTF key while retrieving "
00054 << "the PTLUT_VERSION" ;
00055 return ;
00056 }
00057
00058
00059 std::string ptLutKey;
00060 objectKeyResults.fillVariable( ptLutKey ) ;
00061 pL1TriggerKey->add( "L1MuCSCPtLutRcd", "L1MuCSCPtLut", ptLutKey ) ;
00062
00063 }
00064 }
00065 }
00066