CMS 3D CMS Logo

Public Types | Public Member Functions | Protected Attributes

L1ObjectKeysOnlineProdBase Class Reference

#include <CondTools/L1ObjectKeysOnlineProdBase/src/L1ObjectKeysOnlineProdBase.cc>

Inheritance diagram for L1ObjectKeysOnlineProdBase:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider CSCTFObjectKeysOnlineProd DTTFRSKeysOnlineProd DTTFTSCObjectKeysOnlineProd L1GctRSObjectKeysOnlineProd L1GctTSCObjectKeysOnlineProd L1GtRsObjectKeysOnlineProd L1GtTscObjectKeysOnlineProd L1MuGMTParametersKeysOnlineProd L1MuGMTRSKeysOnlineProd L1MuTriggerScaleKeysOnlineProd L1RCT_RSKeysOnlineProd RCTObjectKeysOnlineProd RPCObjectKeysOnlineProd

List of all members.

Public Types

typedef boost::shared_ptr
< L1TriggerKey
ReturnType

Public Member Functions

virtual void fillObjectKeys (ReturnType pL1TriggerKey)=0
 L1ObjectKeysOnlineProdBase (const edm::ParameterSet &)
ReturnType produce (const L1TriggerKeyRcd &)
 ~L1ObjectKeysOnlineProdBase ()

Protected Attributes

l1t::OMDSReader m_omdsReader

Detailed Description

Description: Abstract base class for producers that navigate OMDS to get object keys for a given subsystem key. Each base class should be configured (via ParameterSet) with a different subsystem label.

Usage: <usage>

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 40 of file L1ObjectKeysOnlineProdBase.h.


Member Typedef Documentation

Definition at line 45 of file L1ObjectKeysOnlineProdBase.h.


Constructor & Destructor Documentation

L1ObjectKeysOnlineProdBase::L1ObjectKeysOnlineProdBase ( const edm::ParameterSet iConfig)

Definition at line 48 of file L1ObjectKeysOnlineProdBase.cc.

References edm::ParameterSet::getParameter(), and edm::ESProducer::setWhatProduced().

   : m_omdsReader(
        iConfig.getParameter< std::string >( "onlineDB" ),
        iConfig.getParameter< std::string >( "onlineAuthentication" ) )
{
   //the following line is needed to tell the framework what
   // data is being produced

  // The subsystemLabel is used by L1TriggerKeyOnlineProd to identify the
  // L1TriggerKeys to concatenate.
  setWhatProduced(this,
                  iConfig.getParameter< std::string >( "subsystemLabel" )
                  );

   //now do what ever other initialization is needed
}
L1ObjectKeysOnlineProdBase::~L1ObjectKeysOnlineProdBase ( )

Definition at line 66 of file L1ObjectKeysOnlineProdBase.cc.

{
 
   // do anything here that needs to be done at desctruction time
   // (e.g. close files, deallocate resources etc.)

}

Member Function Documentation

virtual void L1ObjectKeysOnlineProdBase::fillObjectKeys ( ReturnType  pL1TriggerKey) [pure virtual]
L1ObjectKeysOnlineProdBase::ReturnType L1ObjectKeysOnlineProdBase::produce ( const L1TriggerKeyRcd iRecord)

Definition at line 81 of file L1ObjectKeysOnlineProdBase.cc.

References fillObjectKeys(), and edm::eventsetup::EventSetupRecord::get().

{
   using namespace edm::es;

  // Get L1TriggerKey with label "SubsystemKeysOnly".  Re-throw exception if
  // not present.
  edm::ESHandle< L1TriggerKey > subsystemKeys ;
  try
    {
      iRecord.get( "SubsystemKeysOnly", subsystemKeys ) ;
    }
  catch( l1t::DataAlreadyPresentException& ex )
    {
      throw ex ;
    }

  // Copy L1TriggerKey to new object.
  boost::shared_ptr<L1TriggerKey> pL1TriggerKey ;
  pL1TriggerKey = boost::shared_ptr< L1TriggerKey >(
    new L1TriggerKey( *subsystemKeys ) ) ;

  // Get object keys.
  fillObjectKeys( pL1TriggerKey ) ;

  return pL1TriggerKey ;
}

Member Data Documentation