File indexing completed on 2024-04-06 12:29:18
0001 #ifndef _TrimmedVertexFitter_H_
0002 #define _TrimmedVertexFitter_H_
0003
0004 #include "RecoVertex/VertexPrimitives/interface/VertexFitter.h"
0005 #include "RecoVertex/TrimmedKalmanVertexFinder/interface/KalmanTrimmedVertexFinder.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0008
0009
0010
0011
0012 class TrimmedVertexFitter : public VertexFitter<5> {
0013 public:
0014 typedef CachingVertex<5>::RefCountedVertexTrack RefCountedVertexTrack;
0015 typedef ReferenceCountingPointer<LinearizedTrackState<5> > RefCountedLinearizedTrackState;
0016
0017 TrimmedVertexFitter();
0018 TrimmedVertexFitter(const edm::ParameterSet& pSet);
0019
0020 ~TrimmedVertexFitter() override {}
0021
0022 CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks) const override;
0023
0024 CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks) const override;
0025
0026 CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks, const reco::BeamSpot& spot) const override;
0027
0028 CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks, const GlobalPoint& linPoint) const override;
0029
0030 CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks,
0031 const GlobalPoint& priorPos,
0032 const GlobalError& priorError) const override;
0033
0034 CachingVertex<5> vertex(const std::vector<RefCountedVertexTrack>& tracks,
0035 const GlobalPoint& priorPos,
0036 const GlobalError& priorError) const override;
0037
0038 CachingVertex<5> vertex(const std::vector<reco::TransientTrack>& tracks,
0039 const reco::BeamSpot& beamSpot) const override;
0040
0041
0042 TrimmedVertexFitter* clone() const override;
0043
0044 void setPtCut(float cut);
0045 void setTrackCompatibilityCut(float cut);
0046 void setVertexFitProbabilityCut(float cut);
0047
0048 private:
0049 KalmanTrimmedVertexFinder theRector;
0050 double ptcut;
0051 };
0052
0053 #endif