![]() |
![]() |
#include <RecoTracker/SiTrackerMRHTools/plugins/MultiRecHitCollectorESProducer.h>
Public Member Functions | |
MultiRecHitCollectorESProducer (const edm::ParameterSet &p) | |
boost::shared_ptr < MultiRecHitCollector > | produce (const MultiRecHitRecord &) |
virtual | ~MultiRecHitCollectorESProducer () |
Private Attributes | |
boost::shared_ptr < MultiRecHitCollector > | _collector |
edm::ParameterSet | pset_ |
Definition at line 11 of file MultiRecHitCollectorESProducer.h.
MultiRecHitCollectorESProducer::MultiRecHitCollectorESProducer | ( | const edm::ParameterSet & | p | ) |
Definition at line 18 of file MultiRecHitCollectorESProducer.cc.
References edm::ParameterSet::getParameter(), pset_, and edm::ESProducer::setWhatProduced().
00019 { 00020 std::string myname = p.getParameter<std::string>("ComponentName"); 00021 pset_ = p; 00022 setWhatProduced(this,myname); 00023 }
MultiRecHitCollectorESProducer::~MultiRecHitCollectorESProducer | ( | ) | [virtual] |
boost::shared_ptr< MultiRecHitCollector > MultiRecHitCollectorESProducer::produce | ( | const MultiRecHitRecord & | iRecord | ) |
Definition at line 28 of file MultiRecHitCollectorESProducer.cc.
References _collector, edm::eventsetup::EventSetupRecordImplementation< T >::get(), edm::ParameterSet::getParameter(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), HLT_VtxMuL3::measurementTrackerName, mode, edm::ESHandle< T >::product(), and pset_.
00028 { 00029 std::string mode = "Grouped"; 00030 if (pset_.getParameter<std::string>("Mode")=="Simple") mode = "Simple"; 00031 00032 std::string mrhupdator = pset_.getParameter<std::string>("MultiRecHitUpdator"); 00033 std::string propagatorAlongName = pset_.getParameter<std::string>("propagatorAlong"); 00034 std::string estimatorName = pset_.getParameter<std::string>("estimator"); 00035 std::string measurementTrackerName = pset_.getParameter<std::string>("MeasurementTrackerName"); 00036 00037 ESHandle<SiTrackerMultiRecHitUpdator> mrhuhandle; 00038 iRecord.get(mrhupdator, mrhuhandle); 00039 ESHandle<Propagator> propagatorhandle; 00040 iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(propagatorAlongName, propagatorhandle); 00041 ESHandle<Chi2MeasurementEstimatorBase> estimatorhandle; 00042 iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(estimatorName, estimatorhandle); 00043 ESHandle<MeasurementTracker> measurementhandle; 00044 iRecord.getRecord<CkfComponentsRecord>().get(measurementTrackerName, measurementhandle); 00045 00046 if (mode == "Grouped"){ 00047 std::string propagatorOppositeName = pset_.getParameter<std::string>("propagatorOpposite"); 00048 ESHandle<Propagator> propagatorOppositehandle; 00049 iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(propagatorOppositeName, propagatorOppositehandle); 00050 _collector = boost::shared_ptr<MultiRecHitCollector>(new GroupedDAFHitCollector(measurementhandle.product(), 00051 mrhuhandle.product(), 00052 estimatorhandle.product(), 00053 propagatorhandle.product(), 00054 propagatorOppositehandle.product())); 00055 } else { 00056 _collector = boost::shared_ptr<MultiRecHitCollector>(new SimpleDAFHitCollector(measurementhandle.product(), 00057 mrhuhandle.product(), 00058 estimatorhandle.product(), 00059 propagatorhandle.product())); 00060 } 00061 00062 return _collector; 00063 }
boost::shared_ptr<MultiRecHitCollector> MultiRecHitCollectorESProducer::_collector [private] |
Definition at line 18 of file MultiRecHitCollectorESProducer.h.
Referenced by MultiRecHitCollectorESProducer(), and produce().