CMS 3D CMS Logo

Public Member Functions | Private Attributes

MuonCkfTrajectoryBuilderESProducer Class Reference

#include <MuonCkfTrajectoryBuilderESProducer.h>

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

List of all members.

Public Member Functions

 MuonCkfTrajectoryBuilderESProducer (const edm::ParameterSet &p)
boost::shared_ptr
< TrajectoryBuilder
produce (const CkfComponentsRecord &)
virtual ~MuonCkfTrajectoryBuilderESProducer ()

Private Attributes

boost::shared_ptr
< TrajectoryBuilder
_trajectoryBuilder
edm::ParameterSet pset_

Detailed Description

Definition at line 9 of file MuonCkfTrajectoryBuilderESProducer.h.


Constructor & Destructor Documentation

MuonCkfTrajectoryBuilderESProducer::MuonCkfTrajectoryBuilderESProducer ( const edm::ParameterSet p)

Definition at line 26 of file MuonCkfTrajectoryBuilderESProducer.cc.

References edm::ParameterSet::getParameter(), and AlCaHLTBitMon_ParallelJobs::p.

{ 
  std::string myName = p.getParameter<std::string>("ComponentName");
  pset_ = p;
  setWhatProduced(this,myName);
}
MuonCkfTrajectoryBuilderESProducer::~MuonCkfTrajectoryBuilderESProducer ( ) [virtual]

Definition at line 33 of file MuonCkfTrajectoryBuilderESProducer.cc.

{}

Member Function Documentation

boost::shared_ptr< TrajectoryBuilder > MuonCkfTrajectoryBuilderESProducer::produce ( const CkfComponentsRecord iRecord)

Definition at line 36 of file MuonCkfTrajectoryBuilderESProducer.cc.

References reco_skim_cfg_mod::filterName, edm::eventsetup::EventSetupRecord::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), PixelTracksForL3Isolation_cfi::measurementTrackerName, MuonCkfTrajectoryBuilderESProducer_cfi::MuonCkfTrajectoryBuilder, and edm::ESHandle< T >::product().

{ 
  std::string updatorName            = pset_.getParameter<std::string>("updator");   
  std::string propagatorAlongName    = pset_.getParameter<std::string>("propagatorAlong");
  std::string propagatorOppositeName = pset_.getParameter<std::string>("propagatorOpposite");   
  std::string propagatorProximityName = pset_.getParameter<std::string>("propagatorProximity");   
  std::string estimatorName          = pset_.getParameter<std::string>("estimator"); 
  std::string recHitBuilderName      = pset_.getParameter<std::string>("TTRHBuilder");     
  std::string measurementTrackerName = pset_.getParameter<std::string>("MeasurementTrackerName");
  std::string filterName             = pset_.getParameter<std::string>("trajectoryFilterName");

  edm::ESHandle<TrajectoryStateUpdator> updatorHandle;
  edm::ESHandle<Propagator>             propagatorAlongHandle;
  edm::ESHandle<Propagator>             propagatorOppositeHandle;
  edm::ESHandle<Propagator>             propagatorProximityHandle;
  edm::ESHandle<Chi2MeasurementEstimatorBase>   estimatorHandle;
  edm::ESHandle<TransientTrackingRecHitBuilder> recHitBuilderHandle;
  edm::ESHandle<MeasurementTracker>             measurementTrackerHandle;
  edm::ESHandle<TrajectoryFilter>               trajectoryFilterHandle;

  iRecord.getRecord<TrackingComponentsRecord>().get(updatorName,updatorHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorAlongName,propagatorAlongHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorOppositeName,propagatorOppositeHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorProximityName,propagatorProximityHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(estimatorName,estimatorHandle);  
  iRecord.getRecord<TransientRecHitRecord>().get(recHitBuilderName,recHitBuilderHandle);  
  iRecord.get(measurementTrackerName, measurementTrackerHandle);  
  iRecord.get(filterName,trajectoryFilterHandle);
    
  _trajectoryBuilder  = 
    boost::shared_ptr<TrajectoryBuilder>(new MuonCkfTrajectoryBuilder(pset_,
                                                                      updatorHandle.product(),
                                                                      propagatorAlongHandle.product(),
                                                                      propagatorOppositeHandle.product(),
                                                                      propagatorProximityHandle.product(),
                                                                      estimatorHandle.product(),
                                                                      recHitBuilderHandle.product(),
                                                                      measurementTrackerHandle.product(),
                                                                      trajectoryFilterHandle.product()) );  
  return _trajectoryBuilder;
}

Member Data Documentation

Definition at line 15 of file MuonCkfTrajectoryBuilderESProducer.h.

Definition at line 16 of file MuonCkfTrajectoryBuilderESProducer.h.