CMS 3D CMS Logo

SequentialVertexFitter.h
Go to the documentation of this file.
1 #ifndef SequentialVertexFitter_H
2 #define SequentialVertexFitter_H
3 
12 #include <cmath>
13 // #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
14 // #include "Vertex/VertexPrimitives/interface/VertexSeedFactory.h"
15 
33 template <unsigned int N>
35 public:
39 
48  const VertexSmoother<N>& smoother,
49  const AbstractLTSFactory<N>& ltsf);
50 
56  const LinearizationPointFinder& linP,
58  const VertexSmoother<N>& smoother,
59  const AbstractLTSFactory<N>& ltsf);
60 
66 
67  ~SequentialVertexFitter() override;
68 
76 
82 
90  CachingVertex<N> vertex(const std::vector<reco::TransientTrack>& tracks) const override;
91 
101  CachingVertex<N> vertex(const std::vector<RefCountedVertexTrack>& tracks) const override;
102 
106  CachingVertex<N> vertex(const std::vector<RefCountedVertexTrack>& tracks, const reco::BeamSpot& spot) const override;
107 
110  CachingVertex<N> vertex(const std::vector<reco::TransientTrack>& tracks, const GlobalPoint& linPoint) const override;
111 
116  CachingVertex<N> vertex(const std::vector<reco::TransientTrack>& tracks,
117  const reco::BeamSpot& beamSpot) const override;
118 
124  CachingVertex<N> vertex(const std::vector<reco::TransientTrack>& tracks,
125  const GlobalPoint& priorPos,
126  const GlobalError& priorError) const override;
127 
132  CachingVertex<N> vertex(const std::vector<RefCountedVertexTrack>& tracks,
133  const GlobalPoint& priorPos,
134  const GlobalError& priorError) const override;
135 
146  // virtual CachingVertex<N> vertex(const RefCountedVertexSeed seed) const;
147 
152 
153  const VertexUpdator<N>* vertexUpdator() const { return theUpdator; }
154 
155  const VertexSmoother<N>* vertexSmoother() const { return theSmoother; }
156 
157  const float maxShift() const { return theMaxShift; }
158 
159  const int maxStep() const { return theMaxStep; }
160 
161  const edm::ParameterSet parameterSet() const { return thePSet; }
162 
163  SequentialVertexFitter* clone() const override { return new SequentialVertexFitter(*this); }
164 
166 
167 protected:
173 
174 private:
184  CachingVertex<N> fit(const std::vector<RefCountedVertexTrack>& tracks,
185  const VertexState priorVertex,
186  bool withPrior) const;
187 
195  std::vector<RefCountedVertexTrack> linearizeTracks(const std::vector<reco::TransientTrack>& tracks,
196  const VertexState state) const;
197 
208  std::vector<RefCountedVertexTrack> reLinearizeTracks(const std::vector<RefCountedVertexTrack>& tracks,
209  const VertexState state) const;
210 
215  void readParameters();
216  void setDefaultParameters();
217 
221  inline bool hasNan(const GlobalPoint& point) const {
222  using namespace std;
223  return (edm::isNotFinite(point.x()) || edm::isNotFinite(point.y()) || edm::isNotFinite(point.z()));
224  }
225 
226  float theMaxShift;
228 
234  // LinearizedTrackStateFactoryAbstractLTSFactory theLTrackFactory;
236 
237  // VertexSeedFactory theVSeedFactory;
238 };
239 
240 #endif
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
VertexUpdator
Definition: VertexUpdator.h:12
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition: pwdgSkimBPark_cfi.py:5
SequentialVertexFitter::SequentialVertexFitter
SequentialVertexFitter()
Definition: SequentialVertexFitter.h:172
SequentialVertexFitter::setMaximumNumberOfIterations
void setMaximumNumberOfIterations(int maxIterations)
Definition: SequentialVertexFitter.h:81
edm::isNotFinite
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
LinearizedTrackStateFactory.h
CachingVertex
Definition: CachingVertex.h:22
VertexFitter.h
SequentialVertexFitter::thePSet
edm::ParameterSet thePSet
Definition: SequentialVertexFitter.h:229
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
SequentialVertexFitter::linearizeTracks
std::vector< RefCountedVertexTrack > linearizeTracks(const std::vector< reco::TransientTrack > &tracks, const VertexState state) const
Definition: SequentialVertexFitter.cc:184
SequentialVertexFitter::maxShift
const float maxShift() const
Definition: SequentialVertexFitter.h:157
VertexFitter
Definition: VertexFitter.h:20
VertexTrackFactory.h
SequentialVertexFitter::theSmoother
VertexSmoother< N > * theSmoother
Definition: SequentialVertexFitter.h:232
HLT_2018_cff.updator
updator
Definition: HLT_2018_cff.py:123
LinearizationPointFinder
Definition: LinearizationPointFinder.h:12
reco::BeamSpot
Definition: BeamSpot.h:21
SequentialVertexFitter
Definition: SequentialVertexFitter.h:34
Point3DBase< float, GlobalTag >
SequentialVertexFitter::RefCountedLinearizedTrackState
ReferenceCountingPointer< LinearizedTrackState< N > > RefCountedLinearizedTrackState
Definition: SequentialVertexFitter.h:38
SequentialVertexFitter::fit
CachingVertex< N > fit(const std::vector< RefCountedVertexTrack > &tracks, const VertexState priorVertex, bool withPrior) const
Definition: SequentialVertexFitter.cc:221
SequentialVertexFitter::linearizedTrackStateFactory
const AbstractLTSFactory< N > * linearizedTrackStateFactory() const
Definition: SequentialVertexFitter.h:165
SequentialVertexFitter::readParameters
void readParameters()
Definition: SequentialVertexFitter.cc:66
SequentialVertexFitter::setDefaultParameters
void setDefaultParameters()
Definition: SequentialVertexFitter.cc:72
edm::ParameterSet
Definition: ParameterSet.h:36
VertexTrackFactory
Definition: VertexTrackFactory.h:16
SequentialVertexFitter::vertexUpdator
const VertexUpdator< N > * vertexUpdator() const
Definition: SequentialVertexFitter.h:153
SequentialVertexFitter::theLinP
LinearizationPointFinder * theLinP
Definition: SequentialVertexFitter.h:230
definitions.original
original
Definition: definitions.py:57
SequentialVertexFitter::reLinearizeTracks
std::vector< RefCountedVertexTrack > reLinearizeTracks(const std::vector< RefCountedVertexTrack > &tracks, const VertexState state) const
Definition: SequentialVertexFitter.cc:202
SequentialVertexFitter::maxStep
const int maxStep() const
Definition: SequentialVertexFitter.h:159
SequentialVertexFitter::setMaximumDistance
void setMaximumDistance(float maxShift)
Definition: SequentialVertexFitter.h:75
SequentialVertexFitter::vertexSmoother
const VertexSmoother< N > * vertexSmoother() const
Definition: SequentialVertexFitter.h:155
GlobalErrorBase< double, ErrorMatrixTag >
SequentialVertexFitter::hasNan
bool hasNan(const GlobalPoint &point) const
Definition: SequentialVertexFitter.h:221
SequentialVertexFitter::~SequentialVertexFitter
~SequentialVertexFitter() override
Definition: SequentialVertexFitter.cc:58
LinearizationPointFinder.h
SequentialVertexFitter::clone
SequentialVertexFitter * clone() const override
Definition: SequentialVertexFitter.h:163
SequentialVertexFitter::linearizationPointFinder
const LinearizationPointFinder * linearizationPointFinder() const
Definition: SequentialVertexFitter.h:151
std
Definition: JetResolutionObject.h:76
SequentialVertexFitter::RefCountedVertexTrack
ReferenceCountingPointer< VertexTrack< N > > RefCountedVertexTrack
Definition: SequentialVertexFitter.h:37
SequentialVertexFitter::parameterSet
const edm::ParameterSet parameterSet() const
Definition: SequentialVertexFitter.h:161
isFinite.h
VertexUpdator.h
VertexState
Definition: VertexState.h:13
HLT_2018_cff.maxIterations
maxIterations
Definition: HLT_2018_cff.py:11849
VertexSmoother.h
SequentialVertexFitter::theMaxStep
int theMaxStep
Definition: SequentialVertexFitter.h:227
SequentialVertexFitter::theUpdator
VertexUpdator< N > * theUpdator
Definition: SequentialVertexFitter.h:231
SequentialVertexFitter::theVTrackFactory
VertexTrackFactory< N > theVTrackFactory
Definition: SequentialVertexFitter.h:235
SequentialVertexFitter::theMaxShift
float theMaxShift
Definition: SequentialVertexFitter.h:226
ParameterSet.h
SequentialVertexFitter::theLTrackFactory
const AbstractLTSFactory< N > * theLTrackFactory
Definition: SequentialVertexFitter.h:233
SequentialVertexFitter::vertex
CachingVertex< N > vertex(const std::vector< reco::TransientTrack > &tracks) const override
Definition: SequentialVertexFitter.cc:79
point
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
SequentialVertexFitter::RefCountedRefittedTrackState
ReferenceCountingPointer< RefittedTrackState< N > > RefCountedRefittedTrackState
Definition: SequentialVertexFitter.h:36
AbstractLTSFactory
Definition: AbstractLTSFactory.h:12
VertexSmoother
Definition: VertexSmoother.h:13