Back to home page

Project CMSSW displayed by LXR

 
 

    


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  *  Turn the TrimmedVertexFinder into a VertexFitter.
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   // Clone method
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