CMS 3D CMS Logo

GsfTrajectoryFitterESProducer.cc
Go to the documentation of this file.
7 
11 
21 
22 #include <string>
23 #include <memory>
24 
25 #include <iostream>
26 
30 public:
33  std::unique_ptr<TrajectoryFitter> produce(const TrajectoryFitterRecord&);
34 
35  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
36 
37 private:
42 };
43 
45  std::string myname = p.getParameter<std::string>("ComponentName");
46  auto cc = setWhatProduced(this, myname);
47  matUpdatorToken_ = cc.consumes(edm::ESInputTag("", p.getParameter<std::string>("MaterialEffectsUpdator")));
48  propagatorToken_ = cc.consumes(edm::ESInputTag("", p.getParameter<std::string>("GeometricalPropagator")));
49  mergerToken_ = cc.consumes(edm::ESInputTag("", p.getParameter<std::string>("Merger")));
50  geoToken_ = cc.consumes(edm::ESInputTag("", p.getParameter<std::string>("RecoGeometry")));
51 }
52 
54 
55 std::unique_ptr<TrajectoryFitter> GsfTrajectoryFitterESProducer::produce(const TrajectoryFitterRecord& iRecord) {
56  //
57  // propagator
58  //
60  //
61  // merger
62  //
64  //
65  // estimator
66  //
67  // double chi2Cut = pset_.getParameter<double>("ChiSquarCut");
68  double chi2Cut(100.);
70 
71  //
72  // create algorithm
73  //
74  return std::make_unique<GsfTrajectoryFitter>(
75  propagator, GsfMultiStateUpdator(), estimator, merger, &iRecord.get(geoToken_));
76 }
77 
80  desc.add<std::string>("ComponentName");
81  desc.add<std::string>("MaterialEffectsUpdator");
82  desc.add<std::string>("GeometricalPropagator");
83  desc.add<std::string>("Merger");
84  desc.add<std::string>("RecoGeometry");
85  descriptions.addDefault(desc);
86 }
87 
GsfTrajectoryFitterESProducer::produce
std::unique_ptr< TrajectoryFitter > produce(const TrajectoryFitterRecord &)
Definition: GsfTrajectoryFitterESProducer.cc:55
edm::ESInputTag
Definition: ESInputTag.h:87
ESHandle.h
GsfTrajectoryFitter.h
MultiGaussianStateMerger.h
GsfMultiStateUpdator
Definition: GsfMultiStateUpdator.h:16
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
ESProducer.h
GsfTrajectoryFitterESProducer
Definition: GsfTrajectoryFitterESProducer.cc:29
GsfPropagatorWithMaterial.h
GsfTrajectoryFitterESProducer::matUpdatorToken_
edm::ESGetToken< GsfMaterialEffectsUpdator, TrackingComponentsRecord > matUpdatorToken_
Definition: GsfTrajectoryFitterESProducer.cc:38
ESGetToken.h
PVValHelper::estimator
estimator
Definition: PVValidationHelpers.h:45
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
GsfTrajectoryFitterESProducer::mergerToken_
edm::ESGetToken< MultiGaussianStateMerger< 5 >, TrackingComponentsRecord > mergerToken_
Definition: GsfTrajectoryFitterESProducer.cc:40
TrajectoryFitterRecord
Definition: TrajectoryFitterRecord.h:12
TrajectoryFitter.h
TrajectoryFitterRecord.h
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:109
GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer
GsfTrajectoryFitterESProducer(const edm::ParameterSet &p)
Definition: GsfTrajectoryFitterESProducer.cc:44
GsfChi2MeasurementEstimator
Definition: GsfChi2MeasurementEstimator.h:15
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::ParameterSet
Definition: ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
MultiTrajectoryStateMerger.h
AnalyticalPropagator.h
cc
CloseComponentsMerger.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ESGetToken< GsfMaterialEffectsUpdator, TrackingComponentsRecord >
ModuleFactory.h
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
TrackingComponentsRecord.h
GsfMultiStateUpdator.h
EventSetup.h
PixelTripletNoTipGenerator_cfi.chi2Cut
chi2Cut
Definition: PixelTripletNoTipGenerator_cfi.py:10
GsfTrajectoryFitterESProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: GsfTrajectoryFitterESProducer.cc:78
edm::ESProducer
Definition: ESProducer.h:104
GsfMaterialEffectsUpdator.h
GsfTrajectoryFitterESProducer::~GsfTrajectoryFitterESProducer
~GsfTrajectoryFitterESProducer() override
Definition: GsfTrajectoryFitterESProducer.cc:53
ParameterSet.h
GsfPropagatorWithMaterial
Definition: GsfPropagatorWithMaterial.h:23
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
GsfTrajectoryFitterESProducer::propagatorToken_
edm::ESGetToken< Propagator, TrackingComponentsRecord > propagatorToken_
Definition: GsfTrajectoryFitterESProducer.cc:39
MultiTrajectoryStateMerger
Definition: MultiTrajectoryStateMerger.h:13
GsfTrajectoryFitterESProducer::geoToken_
edm::ESGetToken< DetLayerGeometry, RecoGeometryRecord > geoToken_
Definition: GsfTrajectoryFitterESProducer.cc:41
GsfChi2MeasurementEstimator.h
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12