RecoVertex
ConfigurableVertexReco
src
ConfigurableMultiVertexFitter.cc
Go to the documentation of this file.
1
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfigurableMultiVertexFitter.h
"
2
#include "
RecoVertex/MultiVertexFit/interface/MultiVertexReconstructor.h
"
3
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfigurableVertexReconstructor.h
"
4
// #include "RecoVertex/ConfigurableVertexReco/interface/ConfigurableTrimmedKalmanFinder.h"
5
#include "
RecoVertex/MultiVertexFit/interface/MultiVertexBSeeder.h
"
6
7
namespace
{
8
edm::ParameterSet
mydefaults() {
9
edm::ParameterSet
ret
;
10
ret
.addParameter<
double
>(
"sigmacut"
, 9.0);
11
ret
.addParameter<
double
>(
"Tini"
, 8.0);
12
ret
.addParameter<
double
>(
"ratio"
, 0.25);
13
ret
.addParameter<
int
>(
"cheat"
, 0);
14
edm::ParameterSet
nest;
15
nest.
addParameter
<
std::string
>(
"finder"
,
"mbs"
);
16
ret
.addParameter<
edm::ParameterSet
>(
"ini"
, nest);
17
return
ret
;
18
}
19
20
const
AnnealingSchedule
*
schedule
(
const
edm::ParameterSet
&
m
) {
21
return
new
GeometricAnnealing
(
22
m
.getParameter<
double
>(
"sigmacut"
),
m
.getParameter<
double
>(
"Tini"
),
m
.getParameter<
double
>(
"ratio"
));
23
}
24
25
const
VertexReconstructor
* initialiser(
const
edm::ParameterSet
&
p
) {
26
// std::cout << "[ConfigurableMultiVertexFitter] ini: " << p << std::endl;
27
return
new
ConfigurableVertexReconstructor
(
p
);
28
}
29
}
// namespace
30
31
ConfigurableMultiVertexFitter::ConfigurableMultiVertexFitter
()
32
: theRector(new
MultiVertexReconstructor
(
MultiVertexBSeeder
())), theCheater(0) {}
33
34
void
ConfigurableMultiVertexFitter::configure
(
const
edm::ParameterSet
&
n
) {
35
edm::ParameterSet
m
=
n
;
36
m
.augment(mydefaults());
37
// print ( m );
38
const
AnnealingSchedule
* ann =
schedule
(
m
);
39
const
VertexReconstructor
* ini = initialiser(
m
.getParameter<
edm::ParameterSet
>(
"ini"
));
40
if
(
theRector
)
41
delete
theRector
;
42
theRector
=
new
MultiVertexReconstructor
(*ini, *ann);
43
theCheater
=
m
.getParameter<
int
>(
"cheat"
);
44
delete
ann;
45
delete
ini;
46
}
47
48
ConfigurableMultiVertexFitter::~ConfigurableMultiVertexFitter
() {
49
if
(
theRector
)
50
delete
theRector
;
51
}
52
53
ConfigurableMultiVertexFitter::ConfigurableMultiVertexFitter
(
const
ConfigurableMultiVertexFitter
&
o
)
54
: theRector(
o
.theRector->
clone
()), theCheater(
o
.theCheater) {}
55
56
ConfigurableMultiVertexFitter
*
ConfigurableMultiVertexFitter::clone
()
const
{
57
return
new
ConfigurableMultiVertexFitter
(*
this
);
58
}
59
60
std::vector<TransientVertex>
ConfigurableMultiVertexFitter::vertices
(
const
std::vector<reco::TransientTrack>&
t
,
61
const
reco::BeamSpot
&
s
)
const
{
62
return
theRector
->
vertices
(
t
,
s
);
63
}
64
65
std::vector<TransientVertex>
ConfigurableMultiVertexFitter::vertices
(
const
std::vector<reco::TransientTrack>& prims,
66
const
std::vector<reco::TransientTrack>& secs,
67
const
reco::BeamSpot
&
s
)
const
{
68
return
theRector
->
vertices
(prims, secs,
s
);
69
}
70
71
std::vector<TransientVertex>
ConfigurableMultiVertexFitter::vertices
(
const
std::vector<reco::TransientTrack>&
t
)
const
{
72
return
theRector
->
vertices
(
t
);
73
}
74
75
edm::ParameterSet
ConfigurableMultiVertexFitter::defaults
()
const
{
return
mydefaults(); }
76
77
#include "
RecoVertex/ConfigurableVertexReco/interface/ConfRecoBuilder.h
"
78
79
namespace
{
80
const
ConfRecoBuilder<ConfigurableMultiVertexFitter>
t
(
"mvf"
,
"Multi Vertex Fitter"
);
81
}
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition:
runTheMatrix.py:355
ConfigurableMultiVertexFitter::vertices
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &t) const override
Definition:
ConfigurableMultiVertexFitter.cc:71
MultiVertexReconstructor
Definition:
MultiVertexReconstructor.h:12
MultiVertexBSeeder
Definition:
MultiVertexBSeeder.h:12
dqmiodumpmetadata.n
n
Definition:
dqmiodumpmetadata.py:28
ConfigurableMultiVertexFitter::clone
ConfigurableMultiVertexFitter * clone() const override
Definition:
ConfigurableMultiVertexFitter.cc:56
ConfigurableMultiVertexFitter::configure
void configure(const edm::ParameterSet &) override
Definition:
ConfigurableMultiVertexFitter.cc:34
ConfigurableMultiVertexFitter
Definition:
ConfigurableMultiVertexFitter.h:12
ConfigurableMultiVertexFitter::theCheater
int theCheater
Definition:
ConfigurableMultiVertexFitter.h:37
AlCaHLTBitMon_ParallelJobs.p
p
Definition:
AlCaHLTBitMon_ParallelJobs.py:153
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:36
ConfigurableMultiVertexFitter::theRector
const MultiVertexReconstructor * theRector
Definition:
ConfigurableMultiVertexFitter.h:36
alignCSCRings.s
s
Definition:
alignCSCRings.py:92
clone
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
Definition:
eve_macros.cc:135
visualization-live-secondInstance_cfg.m
m
Definition:
visualization-live-secondInstance_cfg.py:72
MultiVertexBSeeder.h
reco::BeamSpot
Definition:
BeamSpot.h:21
OrderedSet.t
t
Definition:
OrderedSet.py:90
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition:
ParameterSet.h:36
AnnealingSchedule
Definition:
AnnealingSchedule.h:6
edm::ParameterSet::addParameter
void addParameter(std::string const &name, T const &value)
Definition:
ParameterSet.h:124
ConfigurableMultiVertexFitter::ConfigurableMultiVertexFitter
ConfigurableMultiVertexFitter()
Definition:
ConfigurableMultiVertexFitter.cc:31
ConfigurableMultiVertexFitter::defaults
edm::ParameterSet defaults() const override
Definition:
ConfigurableMultiVertexFitter.cc:75
GeometricAnnealing
Definition:
GeometricAnnealing.h:7
ConfigurableVertexReconstructor.h
VertexReconstructor
Definition:
VertexReconstructor.h:13
ConfigurableMultiVertexFitter::~ConfigurableMultiVertexFitter
~ConfigurableMultiVertexFitter() override
Definition:
ConfigurableMultiVertexFitter.cc:48
ConfRecoBuilder.h
ConfigurableMultiVertexFitter.h
MultiVertexReconstructor::vertices
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &, const reco::BeamSpot &) const override
Definition:
MultiVertexReconstructor.cc:67
MultiVertexReconstructor.h
ConfRecoBuilder
Definition:
ConfRecoBuilder.h:11
filterRecHits_cfg.schedule
schedule
Definition:
filterRecHits_cfg.py:62
ConfigurableVertexReconstructor
Definition:
ConfigurableVertexReconstructor.h:13
Generated for CMSSW Reference Manual by
1.8.16