CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/RecoBTag/BTagTools/interface/SignedImpactParameter3D.h

Go to the documentation of this file.
00001 #ifndef _BTAGGER_SIGNEDIMPACTPARAMETER3D_H_
00002 #define _BTAGGER_SIGNEDIMPACTPARAMETER3D_H_
00003 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00004 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
00005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00006 #include "DataFormats/VertexReco/interface/Vertex.h"
00007 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
00008 #include <utility>
00013 class SignedImpactParameter3D {
00014 
00015 public:
00016 
00017   // construct
00018 
00019   SignedImpactParameter3D(){};
00020 
00021   std::pair<bool,Measurement1D> apply( const reco::TransientTrack &, const GlobalVector & direction, const reco::Vertex & vertex) const;
00022 
00023   int id() const {return 2;}
00024 
00030 static  std::pair<double,Measurement1D> distanceWithJetAxis(const reco::TransientTrack & transientTrack, const GlobalVector & direction, const reco::Vertex & vertex)  ;
00031 
00032 private:
00033 
00034   static GlobalVector distance(const TrajectoryStateOnSurface &, const reco::Vertex &, const GlobalVector &) ;
00035 
00036   static TrajectoryStateOnSurface closestApproachToJet(const FreeTrajectoryState &, const reco::Vertex &, const GlobalVector &,  const MagneticField *) ;
00037 
00038 };
00039 
00040 #endif
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050