#include <CalibTracker/SiStripESProducers/plugins/real/SiStripLorentzAngleDepESProducer.cc>
Public Member Functions | |
boost::shared_ptr < SiStripLorentzAngle > | produce (const SiStripLorentzAngleDepRcd &) |
SiStripLorentzAngleDepESProducer (const edm::ParameterSet &) | |
~SiStripLorentzAngleDepESProducer () | |
Private Attributes | |
edm::ParameterSet | getDeconv |
edm::ParameterSet | getLatency |
edm::ParameterSet | getPeak |
edm::ParameterSet | pset_ |
boost::shared_ptr < SiStripLorentzAngle > | siStripLA_ |
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 22 of file SiStripLorentzAngleDepESProducer.h.
SiStripLorentzAngleDepESProducer::SiStripLorentzAngleDepESProducer | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 25 of file SiStripLorentzAngleDepESProducer.cc.
References edm::ESProducer::setWhatProduced().
: pset_(iConfig), getLatency(iConfig.getParameter<edm::ParameterSet>("LatencyRecord")), getPeak(iConfig.getParameter<edm::ParameterSet>("LorentzAnglePeakMode")), getDeconv(iConfig.getParameter<edm::ParameterSet>("LorentzAngleDeconvMode")) { setWhatProduced(this); edm::LogInfo("SiStripLorentzAngleDepESProducer") << "ctor" << std::endl; }
SiStripLorentzAngleDepESProducer::~SiStripLorentzAngleDepESProducer | ( | ) | [inline] |
Definition at line 25 of file SiStripLorentzAngleDepESProducer.h.
{};
boost::shared_ptr< SiStripLorentzAngle > SiStripLorentzAngleDepESProducer::produce | ( | const SiStripLorentzAngleDepRcd & | iRecord | ) |
Definition at line 38 of file SiStripLorentzAngleDepESProducer.cc.
References getDeconv, getLatency, edm::ParameterSet::getParameter(), getPeak, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), edm::ParameterSet::getUntrackedParameter(), edm::ESHandle< T >::product(), siStripLA_, redigi_cff::SiStripLorentzAngle, and SiStripLorentzAngle_Frontier_cff::siStripLorentzAngle.
{ edm::LogInfo("SiStripLorentzAngleDepESProducer") << "Producer called" << std::endl; std::string latencyRecordName = getLatency.getParameter<std::string>("record"); std::string latencyLabel = getLatency.getUntrackedParameter<std::string>("label"); bool peakMode = false; if( latencyRecordName == "SiStripLatencyRcd" ) { edm::ESHandle<SiStripLatency> latency; iRecord.getRecord<SiStripLatencyRcd>().get( latencyLabel, latency); if(latency -> singleReadOutMode() == 1) peakMode = true; } else edm::LogError("SiStripLorentzAngleDepESProducer") << "[SiStripLorentzAngleDepESProducer::produce] No Latency Record found " << std::endl; std::string lorentzAngleRecordName; std::string lorentzAngleLabel; if (peakMode){ lorentzAngleRecordName = getPeak.getParameter<std::string>("record"); lorentzAngleLabel = getPeak.getUntrackedParameter<std::string>("label"); } else { lorentzAngleRecordName = getDeconv.getParameter<std::string>("record"); lorentzAngleLabel = getDeconv.getUntrackedParameter<std::string>("label"); } if ( lorentzAngleRecordName == "SiStripLorentzAngleRcd"){ edm::ESHandle<SiStripLorentzAngle> siStripLorentzAngle; iRecord.getRecord<SiStripLorentzAngleRcd>().get(lorentzAngleLabel, siStripLorentzAngle); siStripLA_.reset(new SiStripLorentzAngle(*(siStripLorentzAngle.product()))); } else edm::LogError("SiStripLorentzAngleDepESProducer") << "[SiStripLorentzAngleDepESProducer::produce] No Lorentz Angle Record found " << std::endl; return siStripLA_; }
Definition at line 38 of file SiStripLorentzAngleDepESProducer.h.
Referenced by produce().
Definition at line 36 of file SiStripLorentzAngleDepESProducer.h.
Referenced by produce().
Definition at line 37 of file SiStripLorentzAngleDepESProducer.h.
Referenced by produce().
Definition at line 31 of file SiStripLorentzAngleDepESProducer.h.
boost::shared_ptr<SiStripLorentzAngle> SiStripLorentzAngleDepESProducer::siStripLA_ [private] |
Definition at line 40 of file SiStripLorentzAngleDepESProducer.h.
Referenced by produce().