CMS 3D CMS Logo

GsfVertexFitter.cc
Go to the documentation of this file.
5 
6 
7 
9  const LinearizationPointFinder & linP )
10 {
11  float theMaxShift = pSet.getParameter<double>("maxDistance"); //0.01
12  int theMaxStep = pSet.getParameter<int>("maxNbrOfIterations"); //10
13  bool limitComponents_ = pSet.getParameter<bool>("limitComponents");
14  bool useSmoothing = pSet.getParameter<bool>("smoothTracks");
15 
16  VertexSmoother<5> * theSmoother;
18 
19  if (limitComponents_) {
20  edm::ParameterSet mergerPSet = pSet.getParameter<edm::ParameterSet>("GsfMergerParameters");
21  theMerger = new GsfVertexMerger(mergerPSet);
22  }
23 
24  if (useSmoothing) theSmoother = new GsfVertexSmoother(limitComponents_, &*theMerger);
25  else theSmoother = new DummyVertexSmoother<5>();
26 
28  GsfVertexUpdator(limitComponents_, &*theMerger),
29  *theSmoother, MultiPerigeeLTSFactory());
30  theSequentialFitter->setMaximumDistance(theMaxShift);
31  theSequentialFitter->setMaximumNumberOfIterations(theMaxStep);
32 
33  delete theSmoother;
34  }
35 
37 {
39 }
40 
42 {
43  delete theSequentialFitter;
44 }
T getParameter(std::string const &) const
SequentialVertexFitter * clone() const override
GsfVertexFitter(const edm::ParameterSet &pSet, const LinearizationPointFinder &linP=DefaultLinearizationPointFinder())
SequentialVertexFitter< 5 > * theSequentialFitter
~GsfVertexFitter() override