CMS 3D CMS Logo

Public Member Functions | Private Attributes

GroupedCkfTrajectoryBuilderESProducer Class Reference

#include <GroupedCkfTrajectoryBuilderESProducer.h>

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

List of all members.

Public Member Functions

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

Private Attributes

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

Detailed Description

Definition at line 10 of file GroupedCkfTrajectoryBuilderESProducer.h.


Constructor & Destructor Documentation

GroupedCkfTrajectoryBuilderESProducer::GroupedCkfTrajectoryBuilderESProducer ( const edm::ParameterSet p)

Definition at line 27 of file GroupedCkfTrajectoryBuilderESProducer.cc.

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

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

Definition at line 34 of file GroupedCkfTrajectoryBuilderESProducer.cc.

{}

Member Function Documentation

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

Definition at line 37 of file GroupedCkfTrajectoryBuilderESProducer.cc.

References reco_skim_cfg_mod::filterName, edm::eventsetup::EventSetupRecord::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), GroupedCkfTrajectoryBuilderESProducer_cfi::GroupedCkfTrajectoryBuilder, 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 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");
  std::string inOutFilterName = pset_.getParameter<std::string>("inOutTrajectoryFilterName");
  bool useSameTrajFilter = pset_.getParameter<bool>("useSameTrajFilter");

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

  iRecord.getRecord<TrackingComponentsRecord>().get(updatorName,updatorHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorAlongName,propagatorAlongHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorOppositeName,propagatorOppositeHandle);
  iRecord.getRecord<TrackingComponentsRecord>().get(estimatorName,estimatorHandle);  
  iRecord.getRecord<TransientRecHitRecord>().get(recHitBuilderName,recHitBuilderHandle);  
  iRecord.get(measurementTrackerName, measurementTrackerHandle);  
  iRecord.get(filterName, filterHandle);
  if (useSameTrajFilter) {
    inOutFilterHandle = filterHandle;
  } else {
    iRecord.get(inOutFilterName, inOutFilterHandle);
  }

  _trajectoryBuilder  = 
    boost::shared_ptr<TrajectoryBuilder>(new GroupedCkfTrajectoryBuilder(pset_,
                                                                         updatorHandle.product(),
                                                                         propagatorAlongHandle.product(),
                                                                         propagatorOppositeHandle.product(),
                                                                         estimatorHandle.product(),
                                                                         recHitBuilderHandle.product(),
                                                                         measurementTrackerHandle.product(),
                                                                         filterHandle.product(),
                                                                         inOutFilterHandle.product()) );  
  return _trajectoryBuilder;
}

Member Data Documentation

Definition at line 16 of file GroupedCkfTrajectoryBuilderESProducer.h.

Definition at line 17 of file GroupedCkfTrajectoryBuilderESProducer.h.