Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:37:25

0001 #ifndef _SIGNEDDECAYLENGHT3D_H_
0002 #define _SIGNEDDECAYLENGHT3D_H_
0003 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0004 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
0005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0006 #include "DataFormats/VertexReco/interface/Vertex.h"
0007 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0008 #include <utility>
0009 
0010 /** Threedimensional track decay length (minimum distance of the closest 
0011    *  approach to a jet from the primary vertex) signed according to the jet 
0012    *  direction
0013    */
0014 
0015 class SignedDecayLength3D {
0016 public:
0017   // construct
0018 
0019   SignedDecayLength3D() {}
0020 
0021   static std::pair<bool, Measurement1D> apply(const reco::TransientTrack &track,
0022                                               const GlobalVector &direction,
0023                                               const reco::Vertex &vertex);
0024 
0025   int id() const { return 3; }
0026 
0027 private:
0028   static TrajectoryStateOnSurface closestApproachToJet(const FreeTrajectoryState &,
0029                                                        const reco::Vertex &,
0030                                                        const GlobalVector &,
0031                                                        const MagneticField *);
0032 };
0033 
0034 #endif