CMS 3D CMS Logo

Public Member Functions | Private Attributes

L1ScalesTrivialProducer Class Reference

#include <L1TriggerConfig/L1ScalesProducers/interface/L1ScalesTrivialProducer.h>

Inheritance diagram for L1ScalesTrivialProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 L1ScalesTrivialProducer (const edm::ParameterSet &)
std::auto_ptr< L1CaloEtScaleproduceEmScale (const L1EmEtScaleRcd &)
std::auto_ptr< L1CaloEtScaleproduceHfRingScale (const L1HfRingEtScaleRcd &)
std::auto_ptr< L1CaloEtScaleproduceHtMissScale (const L1HtMissScaleRcd &)
std::auto_ptr< L1CaloEtScaleproduceJetScale (const L1JetEtScaleRcd &)
 ~L1ScalesTrivialProducer ()

Private Attributes

double m_emEtScaleInputLsb
std::vector< double > m_emEtThresholds
std::vector< double > m_hfRingThresholds
std::vector< double > m_htMissThresholds
double m_jetEtScaleInputLsb
std::vector< double > m_jetEtThresholds

Detailed Description

Description: A Producer for the L1 scales available via EventSetup

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

Definition at line 46 of file L1ScalesTrivialProducer.h.


Constructor & Destructor Documentation

L1ScalesTrivialProducer::L1ScalesTrivialProducer ( const edm::ParameterSet ps)

Definition at line 15 of file L1ScalesTrivialProducer.cc.

References edm::ParameterSet::getParameter(), m_emEtScaleInputLsb, m_emEtThresholds, m_hfRingThresholds, m_htMissThresholds, m_jetEtScaleInputLsb, m_jetEtThresholds, produceEmScale(), produceHfRingScale(), produceHtMissScale(), produceJetScale(), and edm::ESProducer::setWhatProduced().

{
 
  //the following line is needed to tell the framework what
  // data is being produced
  setWhatProduced(this, &L1ScalesTrivialProducer::produceEmScale);
  setWhatProduced(this, &L1ScalesTrivialProducer::produceJetScale);
  setWhatProduced(this, &L1ScalesTrivialProducer::produceHtMissScale);
  setWhatProduced(this, &L1ScalesTrivialProducer::produceHfRingScale);

  //now do what ever other initialization is needed
  
  // get numbers from the config file -  all units are GeV
  m_emEtScaleInputLsb = ps.getParameter<double>("L1CaloEmEtScaleLSB"); 
  m_emEtThresholds = ps.getParameter< std::vector<double> >("L1CaloEmThresholds");

  m_jetEtScaleInputLsb = ps.getParameter<double>("L1CaloRegionEtScaleLSB"); 
  m_jetEtThresholds = ps.getParameter< std::vector<double> >("L1CaloJetThresholds");

  m_htMissThresholds = ps.getParameter< std::vector<double> >("L1HtMissThresholds");  
  m_hfRingThresholds = ps.getParameter< std::vector<double> >("L1HfRingThresholds");  

}
L1ScalesTrivialProducer::~L1ScalesTrivialProducer ( )

Definition at line 40 of file L1ScalesTrivialProducer.cc.

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

}

Member Function Documentation

std::auto_ptr< L1CaloEtScale > L1ScalesTrivialProducer::produceEmScale ( const L1EmEtScaleRcd iRecord)

Definition at line 54 of file L1ScalesTrivialProducer.cc.

References m_emEtScaleInputLsb, and m_emEtThresholds.

Referenced by L1ScalesTrivialProducer().

{
   using namespace edm::es;

   std::auto_ptr<L1CaloEtScale> emScale = std::auto_ptr<L1CaloEtScale>( new L1CaloEtScale(m_emEtScaleInputLsb, m_emEtThresholds) );

   return emScale ;
}
std::auto_ptr< L1CaloEtScale > L1ScalesTrivialProducer::produceHfRingScale ( const L1HfRingEtScaleRcd iRecord)

Definition at line 83 of file L1ScalesTrivialProducer.cc.

References m_hfRingThresholds, and m_jetEtScaleInputLsb.

Referenced by L1ScalesTrivialProducer().

{
   using namespace edm::es;

   std::auto_ptr<L1CaloEtScale> hfRingEtScale = std::auto_ptr<L1CaloEtScale>( new L1CaloEtScale(0xff, 0x7, m_jetEtScaleInputLsb, m_hfRingThresholds) );

   return hfRingEtScale ;
}
std::auto_ptr< L1CaloEtScale > L1ScalesTrivialProducer::produceHtMissScale ( const L1HtMissScaleRcd iRecord)

Definition at line 73 of file L1ScalesTrivialProducer.cc.

References m_htMissThresholds, and m_jetEtScaleInputLsb.

Referenced by L1ScalesTrivialProducer().

{
   using namespace edm::es;

   std::auto_ptr<L1CaloEtScale> htMissScale = std::auto_ptr<L1CaloEtScale>( new L1CaloEtScale(0, 0x7f, m_jetEtScaleInputLsb, m_htMissThresholds) );

   return htMissScale ;
}
std::auto_ptr< L1CaloEtScale > L1ScalesTrivialProducer::produceJetScale ( const L1JetEtScaleRcd iRecord)

Definition at line 63 of file L1ScalesTrivialProducer.cc.

References m_jetEtScaleInputLsb, and m_jetEtThresholds.

Referenced by L1ScalesTrivialProducer().

{
   using namespace edm::es;

   std::auto_ptr<L1CaloEtScale> jetEtScale = std::auto_ptr<L1CaloEtScale>( new L1CaloEtScale(m_jetEtScaleInputLsb, m_jetEtThresholds) );

   return jetEtScale ;
}

Member Data Documentation

Definition at line 59 of file L1ScalesTrivialProducer.h.

Referenced by L1ScalesTrivialProducer(), and produceEmScale().

std::vector<double> L1ScalesTrivialProducer::m_emEtThresholds [private]

Definition at line 60 of file L1ScalesTrivialProducer.h.

Referenced by L1ScalesTrivialProducer(), and produceEmScale().

std::vector<double> L1ScalesTrivialProducer::m_hfRingThresholds [private]

Definition at line 66 of file L1ScalesTrivialProducer.h.

Referenced by L1ScalesTrivialProducer(), and produceHfRingScale().

std::vector<double> L1ScalesTrivialProducer::m_htMissThresholds [private]

Definition at line 65 of file L1ScalesTrivialProducer.h.

Referenced by L1ScalesTrivialProducer(), and produceHtMissScale().

std::vector<double> L1ScalesTrivialProducer::m_jetEtThresholds [private]

Definition at line 63 of file L1ScalesTrivialProducer.h.

Referenced by L1ScalesTrivialProducer(), and produceJetScale().