CMS 3D CMS Logo

AdaptiveVertexFitter.h
Go to the documentation of this file.
1 #ifndef AdaptiveVertexFitter_H
2 #define AdaptiveVertexFitter_H
3 
9 // #include "RecoVertex/AdaptiveVertexFit/interface/KalmanVertexSmoother.h"
15 
30 public:
33 
43  const VertexSmoother<5> &smoother = DummyVertexSmoother<5>(),
45 
47 
48  ~AdaptiveVertexFitter() override;
49 
56  CachingVertex<5> vertex(const std::vector<reco::TransientTrack> &) const override;
57 
66  CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack> &) const override;
67 
71  CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack> &, const reco::BeamSpot &spot) const override;
72 
76  CachingVertex<5> vertex(const std::vector<reco::TransientTrack> &, const GlobalPoint &linPoint) const override;
77 
83  CachingVertex<5> vertex(const std::vector<reco::TransientTrack> &,
84  const GlobalPoint &priorPos,
85  const GlobalError &priorError) const override;
86 
91  CachingVertex<5> vertex(const std::vector<reco::TransientTrack> &tracks,
92  const reco::BeamSpot &beamSpot) const override;
93 
98  CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack> &,
99  const GlobalPoint &priorPos,
100  const GlobalError &priorError) const override;
101 
102  AdaptiveVertexFitter *clone() const override;
103 
110  void setWeightThreshold(float w);
111 
123  void setParameters(double maxshift = 0.0001,
124  double maxlpshift = 0.1,
125  unsigned maxstep = 30,
126  double weightthreshold = .001);
127 
133  void setParameters(const edm::ParameterSet &);
134 
136 
138 
139 private:
150  std::vector<RefCountedVertexTrack> reLinearizeTracks(const std::vector<RefCountedVertexTrack> &tracks,
151  const CachingVertex<5> &vertex) const;
152 
157  std::vector<RefCountedVertexTrack> reWeightTracks(const std::vector<RefCountedLinearizedTrackState> &,
158  const CachingVertex<5> &seed) const;
159 
165  std::vector<RefCountedVertexTrack> reWeightTracks(const std::vector<RefCountedVertexTrack> &,
166  const CachingVertex<5> &seed) const;
167 
173  std::vector<RefCountedVertexTrack> weightTracks(const std::vector<RefCountedLinearizedTrackState> &,
174  const VertexState &seed) const;
175 
179  std::vector<RefCountedVertexTrack> linearizeTracks(const std::vector<reco::TransientTrack> &,
180  const VertexState &) const;
184  CachingVertex<5> fit(const std::vector<RefCountedVertexTrack> &tracks,
185  const VertexState &priorSeed,
186  bool withPrior) const;
187 
188  double getWeight(float chi2) const;
189 
190 private:
191  double theMaxShift;
195  mutable int theNr;
196 
204 };
205 
206 #endif
DummyVertexSmoother
Definition: DummyVertexSmoother.h:11
AdaptiveVertexFitter
Definition: AdaptiveVertexFitter.h:29
AdaptiveVertexFitter::reLinearizeTracks
std::vector< RefCountedVertexTrack > reLinearizeTracks(const std::vector< RefCountedVertexTrack > &tracks, const CachingVertex< 5 > &vertex) const
Definition: AdaptiveVertexFitter.cc:304
KalmanVertexUpdator< 5 >
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
VertexUpdator< 5 >
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
KalmanVertexTrackCompatibilityEstimator.h
AdaptiveVertexFitter::clone
AdaptiveVertexFitter * clone() const override
Definition: AdaptiveVertexFitter.cc:327
LinearizedTrackStateFactory.h
CachingVertex< 5 >
VertexTrackCompatibilityEstimator.h
AdaptiveVertexFitter::gsfIntermediarySmoothing
void gsfIntermediarySmoothing(bool sm)
Definition: AdaptiveVertexFitter.h:135
VertexFitter.h
AdaptiveVertexFitter::RefCountedVertexTrack
ReferenceCountingPointer< VertexTrack< 5 > > RefCountedVertexTrack
Definition: AdaptiveVertexFitter.h:31
AdaptiveVertexFitter::theLinTrkFactory
const AbstractLTSFactory< 5 > * theLinTrkFactory
Definition: AdaptiveVertexFitter.h:202
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
AdaptiveVertexFitter::vertex
CachingVertex< 5 > vertex(const std::vector< reco::TransientTrack > &) const override
Definition: AdaptiveVertexFitter.cc:158
VertexFitter
Definition: VertexFitter.h:20
LinearizedTrackStateFactory
Definition: LinearizedTrackStateFactory.h:14
DefaultLinearizationPointFinder.h
HLT_2018_cff.updator
updator
Definition: HLT_2018_cff.py:123
LinearizationPointFinder
Definition: LinearizationPointFinder.h:12
AdaptiveVertexFitter::reWeightTracks
std::vector< RefCountedVertexTrack > reWeightTracks(const std::vector< RefCountedLinearizedTrackState > &, const CachingVertex< 5 > &seed) const
Definition: AdaptiveVertexFitter.cc:344
w
const double w
Definition: UKUtility.cc:23
KalmanVertexTrackCompatibilityEstimator
Definition: KalmanVertexTrackCompatibilityEstimator.h:24
AdaptiveVertexFitter::AdaptiveVertexFitter
AdaptiveVertexFitter(const AnnealingSchedule &ann=GeometricAnnealing(), const LinearizationPointFinder &linP=DefaultLinearizationPointFinder(), const VertexUpdator< 5 > &updator=KalmanVertexUpdator< 5 >(), const VertexTrackCompatibilityEstimator< 5 > &estor=KalmanVertexTrackCompatibilityEstimator< 5 >(), const VertexSmoother< 5 > &smoother=DummyVertexSmoother< 5 >(), const AbstractLTSFactory< 5 > &ltsf=LinearizedTrackStateFactory())
Definition: AdaptiveVertexFitter.cc:102
reco::BeamSpot
Definition: BeamSpot.h:21
AdaptiveVertexFitter::setParameters
void setParameters(double maxshift=0.0001, double maxlpshift=0.1, unsigned maxstep=30, double weightthreshold=.001)
Definition: AdaptiveVertexFitter.cc:144
AdaptiveVertexFitter::theUpdator
VertexUpdator< 5 > * theUpdator
Definition: AdaptiveVertexFitter.h:198
VertexState.h
Point3DBase< float, GlobalTag >
AdaptiveVertexFitter::theSmoother
VertexSmoother< 5 > * theSmoother
Definition: AdaptiveVertexFitter.h:199
AdaptiveVertexFitter::theMaxLPShift
double theMaxLPShift
Definition: AdaptiveVertexFitter.h:192
GeometricAnnealing.h
AdaptiveVertexFitter::RefCountedLinearizedTrackState
ReferenceCountingPointer< LinearizedTrackState< 5 > > RefCountedLinearizedTrackState
Definition: AdaptiveVertexFitter.h:32
edm::ParameterSet
Definition: ParameterSet.h:36
AnnealingSchedule
Definition: AnnealingSchedule.h:6
AdaptiveVertexFitter::theMaxShift
double theMaxShift
Definition: AdaptiveVertexFitter.h:191
definitions.original
original
Definition: definitions.py:57
DummyVertexSmoother.h
GeometricAnnealing
Definition: GeometricAnnealing.h:7
AdaptiveVertexFitter::linearizeTracks
std::vector< RefCountedVertexTrack > linearizeTracks(const std::vector< reco::TransientTrack > &, const VertexState &) const
Definition: AdaptiveVertexFitter.cc:283
HLT_2018_cff.weightthreshold
weightthreshold
Definition: HLT_2018_cff.py:50461
AdaptiveVertexFitter::setWeightThreshold
void setWeightThreshold(float w)
Definition: AdaptiveVertexFitter.cc:119
KalmanVertexUpdator.h
GlobalErrorBase< double, ErrorMatrixTag >
DefaultLinearizationPointFinder
Definition: DefaultLinearizationPointFinder.h:13
AdaptiveVertexFitter::weightTracks
std::vector< RefCountedVertexTrack > weightTracks(const std::vector< RefCountedLinearizedTrackState > &, const VertexState &seed) const
Definition: AdaptiveVertexFitter.cc:393
VertexTrackCompatibilityEstimator< 5 >
VertexState
Definition: VertexState.h:13
AdaptiveVertexFitter::theAssProbComputer
AnnealingSchedule * theAssProbComputer
Definition: AdaptiveVertexFitter.h:200
AdaptiveVertexFitter::theComp
VertexTrackCompatibilityEstimator< 5 > * theComp
Definition: AdaptiveVertexFitter.h:201
AdaptiveVertexFitter::theWeightThreshold
double theWeightThreshold
Definition: AdaptiveVertexFitter.h:194
AdaptiveVertexFitter::theMaxStep
int theMaxStep
Definition: AdaptiveVertexFitter.h:193
ParameterSet.h
AdaptiveVertexFitter::getWeight
double getWeight(float chi2) const
Definition: AdaptiveVertexFitter.cc:329
AdaptiveVertexFitter::gsfIntermediarySmoothing_
bool gsfIntermediarySmoothing_
Definition: AdaptiveVertexFitter.h:203
AdaptiveVertexFitter::~AdaptiveVertexFitter
~AdaptiveVertexFitter() override
Definition: AdaptiveVertexFitter.cc:135
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
AdaptiveVertexFitter::fit
CachingVertex< 5 > fit(const std::vector< RefCountedVertexTrack > &tracks, const VertexState &priorSeed, bool withPrior) const
Definition: AdaptiveVertexFitter.cc:451
AdaptiveVertexFitter::gsfIntermediarySmoothing
bool gsfIntermediarySmoothing() const
Definition: AdaptiveVertexFitter.h:137
AbstractLTSFactory< 5 >
VertexSmoother< 5 >
AdaptiveVertexFitter::theLinP
LinearizationPointFinder * theLinP
Definition: AdaptiveVertexFitter.h:197
AdaptiveVertexFitter::theNr
int theNr
Definition: AdaptiveVertexFitter.h:195