Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:03:17

0001 #ifndef GsfVertexWeightCalculator_H
0002 #define GsfVertexWeightCalculator_H
0003 
0004 #include "RecoVertex/VertexPrimitives/interface/LinearizedTrackState.h"
0005 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
0006 #include "RecoVertex/VertexPrimitives/interface/VertexState.h"
0007 
0008 /**
0009  *  Calulates the (non-normalised) weight of a component the new mixture 
0010  *  of vertices for the Gaussian Sum vertex filter.
0011  *  (c.f. Th.Speer & R. Fruewirth, Comp.Phys.Comm 174, 935 (2006) )
0012  */
0013 
0014 class GsfVertexWeightCalculator {
0015 public:
0016   typedef ReferenceCountingPointer<LinearizedTrackState<5> > RefCountedLinearizedTrackState;
0017 
0018   /**
0019  *  Method to calculate the weight
0020  *  A negative weight is returned in case of error.
0021  *
0022  */
0023 
0024   double calculate(const VertexState& oldVertex, const RefCountedLinearizedTrackState track, double cov) const;
0025 
0026 private:
0027   typedef LinearizedTrackState<5>::AlgebraicVectorN AlgebraicVectorN;
0028   typedef LinearizedTrackState<5>::AlgebraicMatrixN3 AlgebraicMatrixN3;
0029   typedef LinearizedTrackState<5>::AlgebraicMatrixNM AlgebraicMatrixNM;
0030   typedef LinearizedTrackState<5>::AlgebraicSymMatrixNN AlgebraicSymMatrixNN;
0031 };
0032 
0033 #endif