RecoVertex
ConfigurableVertexReco
src
ConfigurableAdaptiveFitter.cc
Go to the documentation of this file.
1
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfigurableAdaptiveFitter.h
"
2
#include "
RecoVertex/ConfigurableVertexReco/interface/ReconstructorFromFitter.h
"
3
#include "
RecoVertex/AdaptiveVertexFit/interface/AdaptiveVertexFitter.h
"
4
#include "
RecoVertex/VertexTools/interface/GeometricAnnealing.h
"
5
#include "
RecoVertex/LinearizationPointFinders/interface/DefaultLinearizationPointFinder.h
"
6
// #include "RecoVertex/LinearizationPointFinders/interface/GenericLinearizationPointFinder.h"
7
// #include "RecoVertex/KalmanVertexFit/interface/KalmanVertexFitter.h"
8
// #include "RecoVertex/LinearizationPointFinders/interface/ZeroLinearizationPointFinder.h"
9
#include "
RecoVertex/KalmanVertexFit/interface/KalmanVertexUpdator.h
"
10
#include "
RecoVertex/KalmanVertexFit/interface/KalmanVertexTrackCompatibilityEstimator.h
"
11
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfigurableAnnealing.h
"
12
#include "
RecoVertex/VertexTools/interface/DummyVertexSmoother.h
"
13
#include "
RecoVertex/KalmanVertexFit/interface/KalmanVertexSmoother.h
"
14
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
15
16
using namespace
std
;
17
18
namespace
{
19
edm::ParameterSet
mydefaults() {
20
edm::ParameterSet
ret
;
21
ret
.addParameter<
string
>(
"annealing"
,
"geom"
);
22
ret
.addParameter<
bool
>(
"smoothing"
,
true
);
23
ret
.addParameter<
double
>(
"sigmacut"
, 3.0);
24
ret
.addParameter<
double
>(
"Tini"
, 256.0);
25
ret
.addParameter<
double
>(
"ratio"
, 0.25);
26
27
ret
.addParameter<
double
>(
"maxshift"
, 0.0001);
28
ret
.addParameter<
double
>(
"maxlpshift"
, 0.1);
29
ret
.addParameter<
int
>(
"maxstep"
, 30);
30
ret
.addParameter<
double
>(
"weightthreshold"
, 0.001);
31
return
ret
;
32
}
33
}
// namespace
34
35
ConfigurableAdaptiveFitter::ConfigurableAdaptiveFitter
() :
AbstractConfFitter
(
AdaptiveVertexFitter
()) {}
36
37
void
ConfigurableAdaptiveFitter::configure
(
const
edm::ParameterSet
&
n
) {
38
edm::ParameterSet
m
=
n
;
39
m
.augment(mydefaults());
40
ConfigurableAnnealing
ann(
m
);
41
DefaultLinearizationPointFinder
linpt;
42
// ZeroLinearizationPointFinder linpt;
43
// KalmanVertexFitter kvf;
44
// GenericLinearizationPointFinder linpt ( kvf );
45
KalmanVertexUpdator<5>
updator
;
46
bool
s
=
m
.getParameter<
bool
>(
"smoothing"
);
47
VertexSmoother<5>
* smoother =
nullptr
;
48
if
(
s
) {
49
smoother =
new
KalmanVertexSmoother
();
50
}
else
{
51
smoother =
new
DummyVertexSmoother<5>
();
52
}
53
KalmanVertexTrackCompatibilityEstimator<5>
estimator
;
54
55
if
(
theFitter
)
56
delete
theFitter
;
57
AdaptiveVertexFitter
* fitter =
new
AdaptiveVertexFitter
(ann, linpt,
updator
,
estimator
, *smoother);
58
delete
smoother;
59
fitter->
setParameters
(
m
);
60
theFitter
= fitter;
61
}
62
63
ConfigurableAdaptiveFitter::~ConfigurableAdaptiveFitter
() {
64
/*
65
if (theFitter) delete theFitter;
66
theFitter=0;
67
*/
68
}
69
70
ConfigurableAdaptiveFitter::ConfigurableAdaptiveFitter
(
const
ConfigurableAdaptiveFitter
&
o
) :
AbstractConfFitter
(
o
) {}
71
72
ConfigurableAdaptiveFitter
*
ConfigurableAdaptiveFitter::clone
()
const
{
return
new
ConfigurableAdaptiveFitter
(*
this
); }
73
74
edm::ParameterSet
ConfigurableAdaptiveFitter::defaults
()
const
{
return
mydefaults(); }
75
76
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfFitterBuilder.h
"
77
78
namespace
{
79
const
ConfFitterBuilder<ConfigurableAdaptiveFitter>
t
(
"avf"
,
"AdaptiveVertexFitter"
);
80
}
ConfigurableAdaptiveFitter::ConfigurableAdaptiveFitter
ConfigurableAdaptiveFitter()
Definition:
ConfigurableAdaptiveFitter.cc:35
KalmanVertexTrackCompatibilityEstimator.h
AdaptiveVertexFitter.h
DummyVertexSmoother
Definition:
DummyVertexSmoother.h:11
ConfFitterBuilder.h
ReconstructorFromFitter.h
MessageLogger.h
VertexSmoother< 5 >
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:650
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition:
runTheMatrix.py:631
ConfigurableAnnealing.h
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
std
Definition:
JetResolutionObject.h:76
ConfFitterBuilder
Definition:
ConfFitterBuilder.h:11
KalmanVertexSmoother.h
ConfigurableAdaptiveFitter::~ConfigurableAdaptiveFitter
~ConfigurableAdaptiveFitter() override
Definition:
ConfigurableAdaptiveFitter.cc:63
dqmiodumpmetadata.n
n
Definition:
dqmiodumpmetadata.py:28
KalmanVertexSmoother
Definition:
KalmanVertexSmoother.h:6
AbstractConfFitter
Definition:
AbstractConfFitter.h:12
ConfigurableAnnealing
Definition:
ConfigurableAnnealing.h:8
GeometricAnnealing.h
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:42
KalmanVertexTrackCompatibilityEstimator
Definition:
KalmanVertexTrackCompatibilityEstimator.h:24
HLT_2022v15_cff.updator
updator
Definition:
HLT_2022v15_cff.py:106
ConfigurableAdaptiveFitter::defaults
edm::ParameterSet defaults() const override
Definition:
ConfigurableAdaptiveFitter.cc:74
visualization-live-secondInstance_cfg.m
m
Definition:
visualization-live-secondInstance_cfg.py:80
DefaultLinearizationPointFinder.h
KalmanVertexUpdator.h
AdaptiveVertexFitter
Definition:
AdaptiveVertexFitter.h:29
ConfigurableAdaptiveFitter::configure
void configure(const edm::ParameterSet &) override
Definition:
ConfigurableAdaptiveFitter.cc:37
AdaptiveVertexFitter::setParameters
void setParameters(double maxshift=0.0001, double maxlpshift=0.1, unsigned maxstep=30, double weightthreshold=.001)
Definition:
AdaptiveVertexFitter.cc:144
AbstractConfFitter::theFitter
const VertexFitter< 5 > * theFitter
Definition:
AbstractConfFitter.h:41
ConfigurableAdaptiveFitter.h
KalmanVertexUpdator< 5 >
ConfigurableAdaptiveFitter
Definition:
ConfigurableAdaptiveFitter.h:10
DefaultLinearizationPointFinder
Definition:
DefaultLinearizationPointFinder.h:13
edm::ParameterSet
Definition:
ParameterSet.h:47
PVValHelper::estimator
estimator
Definition:
PVValidationHelpers.h:45
DummyVertexSmoother.h
ConfigurableAdaptiveFitter::clone
ConfigurableAdaptiveFitter * clone() const override
Definition:
ConfigurableAdaptiveFitter.cc:72
Generated for CMSSW Reference Manual by
1.8.14