Main Page
Namespaces
Classes
Package Documentation
TrackingTools
GsfTracking
plugins
GsfTrajectorySmootherESProducer.cc
Go to the documentation of this file.
1
#include "
TrackingTools/GsfTracking/plugins/GsfTrajectorySmootherESProducer.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/GsfTrajectorySmoother.h
"
17
18
#include <string>
19
#include <memory>
20
21
GsfTrajectorySmootherESProducer::GsfTrajectorySmootherESProducer
(
const
edm::ParameterSet
&
p
)
22
{
23
std::string
myname = p.
getParameter
<
std::string
>(
"ComponentName"
);
24
pset_
=
p
;
25
setWhatProduced
(
this
,myname);
26
}
27
28
GsfTrajectorySmootherESProducer::~GsfTrajectorySmootherESProducer
() {}
29
30
std::shared_ptr<TrajectorySmoother>
31
GsfTrajectorySmootherESProducer::produce
(
const
TrajectoryFitterRecord
& iRecord){
32
//
33
// material effects
34
//
35
std::string
matName =
pset_
.
getParameter
<
std::string
>(
"MaterialEffectsUpdator"
);
36
edm::ESHandle<GsfMaterialEffectsUpdator>
matProducer;
37
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(matName,matProducer);
38
//
39
// propagator
40
//
41
std::string
geomName =
pset_
.
getParameter
<
std::string
>(
"GeometricalPropagator"
);
42
edm::ESHandle<Propagator>
geomProducer;
43
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(geomName,geomProducer);
44
GsfPropagatorWithMaterial
propagator
(*geomProducer.product(),*matProducer.product());
45
//
46
// merger
47
//
48
std::string
mergerName =
pset_
.
getParameter
<
std::string
>(
"Merger"
);
49
// edm::ESHandle<MultiTrajectoryStateMerger> mergerProducer;
50
// iRecord.get(mergerName,mergerProducer);
51
edm::ESHandle< MultiGaussianStateMerger<5>
> mergerProducer;
52
iRecord.
getRecord
<
TrackingComponentsRecord
>().
get
(mergerName,mergerProducer);
53
MultiTrajectoryStateMerger
merger(*mergerProducer.product());
54
//
55
// estimator
56
//
57
// double chi2Cut = pset_.getParameter<double>("ChiSquarCut");
58
double
chi2Cut
(100.);
59
GsfChi2MeasurementEstimator
estimator
(chi2Cut);
60
//
61
// geometry
62
std::string
gname =
pset_
.
getParameter
<
std::string
>(
"RecoGeometry"
);
63
edm::ESHandle<DetLayerGeometry>
geo;
64
iRecord.
getRecord
<
RecoGeometryRecord
>().
get
(gname,geo);
65
// create algorithm
66
//
67
// bool matBefUpd = pset_.getParameter<bool>("MaterialBeforeUpdate");
68
double
scale
=
pset_
.
getParameter
<
double
>(
"ErrorRescaling"
);
69
return
std::shared_ptr<TrajectorySmoother>(
new
GsfTrajectorySmoother
(
propagator
,
70
GsfMultiStateUpdator
(),
71
estimator,merger,
72
// matBefUpd,
73
scale,
74
true
,
//BM should this be taken from parameterSet?
75
geo.product()));
76
}
GsfPropagatorWithMaterial
Definition:
GsfPropagatorWithMaterial.h:23
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
GsfTrajectorySmootherESProducer.h
Scenarios_cff.scale
scale
Definition:
Scenarios_cff.py:2190
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:152
GsfTrajectorySmootherESProducer::GsfTrajectorySmootherESProducer
GsfTrajectorySmootherESProducer(const edm::ParameterSet &p)
Definition:
GsfTrajectorySmootherESProducer.cc:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:255
TrackingComponentsRecord
Definition:
TrackingComponentsRecord.h:13
EventSetup.h
GsfMultiStateUpdator.h
edm::ESProducer::setWhatProduced
void setWhatProduced(T *iThis, const es::Label &iLabel=es::Label())
Definition:
ESProducer.h:115
GsfTrajectorySmootherESProducer::produce
std::shared_ptr< TrajectorySmoother > produce(const TrajectoryFitterRecord &)
Definition:
GsfTrajectorySmootherESProducer.cc:31
edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT & getRecord() const
Definition:
DependentRecordImplementation.h:48
MultiTrajectoryStateMerger.h
MultiTrajectoryStateMerger
Definition:
MultiTrajectoryStateMerger.h:15
RecoGeometryRecord
Definition:
RecoGeometryRecord.h:15
edm::ESHandle
Definition:
DTSurvey.h:22
ESHandle.h
GsfTrajectorySmoother.h
GsfElectronTrajectorySmoother_cfi.GsfTrajectorySmoother
GsfTrajectorySmoother
Definition:
GsfElectronTrajectorySmoother_cfi.py:3
GsfChi2MeasurementEstimator
Definition:
GsfChi2MeasurementEstimator.h:15
TrajectoryFitterRecord
Definition:
TrajectoryFitterRecord.h:13
CloseComponentsMerger.h
GsfMultiStateUpdator
Definition:
GsfMultiStateUpdator.h:16
GsfTrajectorySmootherESProducer::pset_
edm::ParameterSet pset_
Definition:
GsfTrajectorySmootherESProducer.h:19
GsfTrajectorySmootherESProducer::~GsfTrajectorySmootherESProducer
virtual ~GsfTrajectorySmootherESProducer()
Definition:
GsfTrajectorySmootherESProducer.cc:28
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
PVValHelper::estimator
estimator
Definition:
PVValidationHelpers.h:18
GsfMaterialEffectsUpdator.h
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi.propagator
propagator
Definition:
PhotonConversionTrajectorySeedProducerFromQuadruplets_cfi.py:41
Generated for CMSSW Reference Manual by
1.8.11