Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:29

0001 #ifndef KullbackLeiblerDistance_H
0002 #define KullbackLeiblerDistance_H
0003 
0004 #include "TrackingTools/GsfTools/interface/DistanceBetweenComponents.h"
0005 
0006 /** Calculation of Kullback-Leibler distance between two Gaussian components.
0007  */
0008 
0009 template <unsigned int N>
0010 class KullbackLeiblerDistance final : public DistanceBetweenComponents<N> {
0011 public:
0012   /** Method which calculates the actual Kullback-Leibler distance.
0013    */
0014   double operator()(const SingleGaussianState<N>&, const SingleGaussianState<N>&) const override;
0015 
0016   KullbackLeiblerDistance<N>* clone() const override { return new KullbackLeiblerDistance<N>(*this); }
0017 };
0018 
0019 #include "TrackingTools/GsfTools/interface/KullbackLeiblerDistance.icc"
0020 
0021 #endif  // KullbackLeiblerDistance_H