Main Page
Namespaces
Classes
Package Documentation
TrackingTools
GsfTracking
plugins
GsfTrajectoryFitterESProducer.cc
Go to the documentation of this file.
1
#include "
TrackingTools/GsfTracking/plugins/GsfTrajectoryFitterESProducer.h
"
2
3
#include "
FWCore/Framework/interface/EventSetup.h
"
4
#include "
FWCore/Framework/interface/ESHandle.h
"
5
#include "
FWCore/Framework/interface/ModuleFactory.h
"
6
#include "
FWCore/Framework/interface/ESProducer.h
"
7
8
#include "
TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h
"
9
#include "
TrackingTools/GsfTracking/interface/GsfMaterialEffectsUpdator.h
"
10
#include "
TrackingTools/GsfTracking/interface/GsfPropagatorWithMaterial.h
"
11
#include "
TrackingTools/GsfTracking/interface/GsfMultiStateUpdator.h
"
12
#include "
TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h
"
13
#include "
TrackingTools/GsfTools/interface/CloseComponentsMerger.h
"
14
#include "
TrackingTools/GsfTracking/interface/MultiTrajectoryStateMerger.h
"
15
#include "
TrackingTools/GsfTracking/interface/GsfChi2MeasurementEstimator.h
"
16
#include "
TrackingTools/GsfTracking/interface/GsfTrajectoryFitter.h
"
17
18
#include <string>
19
#include <memory>
20
21
#include <iostream>
22
23
GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer
(
const
edm::ParameterSet
&
p
)
24
{
25
std::string
myname = p.
getParameter
<
std::string
>(
"ComponentName"
);
26
pset_
=
p
;
27
setWhatProduced
(
this
,myname);
28
}
29
30
GsfTrajectoryFitterESProducer::~GsfTrajectoryFitterESProducer
() {}
31
32
std::shared_ptr<TrajectoryFitter>
33
GsfTrajectoryFitterESProducer::produce
(
const
TrajectoryFitterRecord
& iRecord){
34
//
35
// material effects
36
//
37
std::string
matName =
pset_
.
getParameter
<
std::string
>(
"MaterialEffectsUpdator"
);
38
edm::ESHandle<GsfMaterialEffectsUpdator>
matProducer;
39
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(matName,matProducer);
40
//
41
// propagator
42
//
43
std::string
geomName =
pset_
.
getParameter
<
std::string
>(
"GeometricalPropagator"
);
44
edm::ESHandle<Propagator>
geomProducer;
45
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(geomName,geomProducer);
46
GsfPropagatorWithMaterial
propagator
(*geomProducer.product(),*matProducer.product());
47
//
48
// merger
49
//
50
std::string
mergerName =
pset_
.
getParameter
<
std::string
>(
"Merger"
);
51
// edm::ESHandle<MultiTrajectoryStateMerger> mergerProducer;
52
// iRecord.get(mergerName,mergerProducer);
53
edm::ESHandle< MultiGaussianStateMerger<5>
> mergerProducer;
54
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(mergerName,mergerProducer);
55
MultiTrajectoryStateMerger
merger(*mergerProducer.product());
56
//
57
// estimator
58
//
59
// double chi2Cut = pset_.getParameter<double>("ChiSquarCut");
60
double
chi2Cut
(100.);
61
GsfChi2MeasurementEstimator
estimator
(chi2Cut);
62
63
// geometry
64
std::string
gname =
pset_
.
getParameter
<
std::string
>(
"RecoGeometry"
);
65
edm::ESHandle<DetLayerGeometry>
geo;
66
iRecord.
getRecord
<
RecoGeometryRecord
>().
get
(gname,geo);
67
//
68
// create algorithm
69
//
70
return
std::shared_ptr<TrajectoryFitter>(
new
GsfTrajectoryFitter
(
propagator
,
71
GsfMultiStateUpdator
(),
72
estimator,merger,
73
geo.product()));
74
}
GsfPropagatorWithMaterial
Definition:
GsfPropagatorWithMaterial.h:23
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
GsfTrajectoryFitterESProducer::pset_
edm::ParameterSet pset_
Definition:
GsfTrajectoryFitterESProducer.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
TrackingComponentsRecord
Definition:
TrackingComponentsRecord.h:13
EventSetup.h
GsfTrajectoryFitterESProducer.h
GsfMultiStateUpdator.h
edm::ESProducer::setWhatProduced
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition:
ESProducer.h:115
GsfTrajectoryFitterESProducer::~GsfTrajectoryFitterESProducer
virtual ~GsfTrajectoryFitterESProducer()
Definition:
GsfTrajectoryFitterESProducer.cc:30
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT & getRecord() const
Definition:
DependentRecordImplementation.h:47
MultiTrajectoryStateMerger.h
MultiTrajectoryStateMerger
Definition:
MultiTrajectoryStateMerger.h:15
GsfTrajectoryFitterESProducer::GsfTrajectoryFitterESProducer
GsfTrajectoryFitterESProducer(const edm::ParameterSet &p)
Definition:
GsfTrajectoryFitterESProducer.cc:23
RecoGeometryRecord
Definition:
RecoGeometryRecord.h:15
edm::ESHandle
Definition:
DTSurvey.h:22
ESHandle.h
GsfElectronTrajectoryFitter_cfi.GsfTrajectoryFitter
GsfTrajectoryFitter
Definition:
GsfElectronTrajectoryFitter_cfi.py:3
GsfChi2MeasurementEstimator
Definition:
GsfChi2MeasurementEstimator.h:15
TrajectoryFitterRecord
Definition:
TrajectoryFitterRecord.h:13
CloseComponentsMerger.h
GsfMultiStateUpdator
Definition:
GsfMultiStateUpdator.h:16
statmode::estimator
estimator
Definition:
PrimaryVertexValidation.h:62
GsfPropagatorWithMaterial.h
ESProducer.h
MultiGaussianStateMerger.h
PixelTripletNoTipGenerator_cfi.chi2Cut
chi2Cut
Definition:
PixelTripletNoTipGenerator_cfi.py:10
AnalyticalPropagator.h
GsfChi2MeasurementEstimator.h
edm::ParameterSet
Definition:
ParameterSet.h:36
ModuleFactory.h
GsfTrajectoryFitter.h
GsfMaterialEffectsUpdator.h
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi.propagator
propagator
Definition:
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi.py:41
GsfTrajectoryFitterESProducer::produce
std::shared_ptr< TrajectoryFitter > produce(const TrajectoryFitterRecord &)
Definition:
GsfTrajectoryFitterESProducer.cc:33
Generated for CMSSW Reference Manual by
1.8.11