#include <TrackingTools/GsfTracking/plugins/GsfTrajectoryFitterESProducer.h>
Public Member Functions | |
GsfTrajectoryFitterESProducer (const edm::ParameterSet &p) | |
boost::shared_ptr < TrajectoryFitter > | produce (const TrackingComponentsRecord &) |
virtual | ~GsfTrajectoryFitterESProducer () |
Private Attributes | |
edm::ParameterSet | pset_ |
Definition at line 12 of file GsfTrajectoryFitterESProducer.h.
GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer | ( | const edm::ParameterSet & | p | ) |
Definition at line 23 of file GsfTrajectoryFitterESProducer.cc.
References edm::ParameterSet::getParameter(), pset_, and edm::ESProducer::setWhatProduced().
00024 { 00025 std::string myname = p.getParameter<std::string>("ComponentName"); 00026 pset_ = p; 00027 setWhatProduced(this,myname); 00028 }
GsfTrajectoryFitterESProducer::~GsfTrajectoryFitterESProducer | ( | ) | [virtual] |
boost::shared_ptr< TrajectoryFitter > GsfTrajectoryFitterESProducer::produce | ( | const TrackingComponentsRecord & | iRecord | ) |
Definition at line 33 of file GsfTrajectoryFitterESProducer.cc.
References HLT_VtxMuL3::estimator, edm::eventsetup::EventSetupRecordImplementation< T >::get(), edm::ParameterSet::getParameter(), GsfElectronTrajectoryFitter_cfi::GsfTrajectoryFitter, and pset_.
00033 { 00034 // 00035 // material effects 00036 // 00037 std::string matName = pset_.getParameter<std::string>("MaterialEffectsUpdator"); 00038 edm::ESHandle<GsfMaterialEffectsUpdator> matProducer; 00039 iRecord.get(matName,matProducer); 00040 // 00041 // propagator 00042 // 00043 std::string geomName = pset_.getParameter<std::string>("GeometricalPropagator"); 00044 edm::ESHandle<Propagator> geomProducer; 00045 iRecord.get(geomName,geomProducer); 00046 GsfPropagatorWithMaterial propagator(*geomProducer.product(),*matProducer.product()); 00047 // 00048 // merger 00049 // 00050 std::string mergerName = pset_.getParameter<std::string>("Merger"); 00051 // edm::ESHandle<MultiTrajectoryStateMerger> mergerProducer; 00052 // iRecord.get(mergerName,mergerProducer); 00053 edm::ESHandle< MultiGaussianStateMerger<5> > mergerProducer; 00054 iRecord.get(mergerName,mergerProducer); 00055 MultiTrajectoryStateMerger merger(*mergerProducer.product()); 00056 // 00057 // estimator 00058 // 00059 // double chi2Cut = pset_.getParameter<double>("ChiSquarCut"); 00060 double chi2Cut(100.); 00061 GsfChi2MeasurementEstimator estimator(chi2Cut); 00062 // 00063 // create algorithm 00064 // 00065 return boost::shared_ptr<TrajectoryFitter>(new GsfTrajectoryFitter(propagator, 00066 GsfMultiStateUpdator(), 00067 estimator,merger)); 00068 }
Definition at line 18 of file GsfTrajectoryFitterESProducer.h.
Referenced by GsfTrajectoryFitterESProducer(), and produce().