CMS 3D CMS Logo

ConfigurableMultiVertexFitter.cc
Go to the documentation of this file.
4 // #include "RecoVertex/ConfigurableVertexReco/interface/ConfigurableTrimmedKalmanFinder.h"
6 
7 namespace {
8  edm::ParameterSet mydefaults() {
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 
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;
28  }
29 } // namespace
30 
32  : theRector(new MultiVertexReconstructor(MultiVertexBSeeder())), theCheater(0) {}
33 
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 
49  if (theRector)
50  delete theRector;
51 }
52 
54  : theRector(o.theRector->clone()), theCheater(o.theCheater) {}
55 
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 
76 
78 
79 namespace {
80  const ConfRecoBuilder<ConfigurableMultiVertexFitter> t("mvf", "Multi Vertex Fitter");
81 }
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:542
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:42
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
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:47
AnnealingSchedule
Definition: AnnealingSchedule.h:6
edm::ParameterSet::addParameter
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:135
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
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
ConfigurableVertexReconstructor
Definition: ConfigurableVertexReconstructor.h:13