CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IPTools.h
Go to the documentation of this file.
1 #ifndef TrackingTools_IPTools_h
2 #define TrackingTools_IPTools_h
8 #include <utility>
15 
16 
17 
18 namespace IPTools
19 {
25  std::pair<bool,Measurement1D> absoluteImpactParameter3D(const reco::TransientTrack & transientTrack, const reco::Vertex & vertex);
26 
33  std::pair<bool,Measurement1D> absoluteTransverseImpactParameter(const reco::TransientTrack & transientTrack, const reco::Vertex & vertex);
34 
40  std::pair<bool,Measurement1D> signedTransverseImpactParameter(const reco::TransientTrack & track,
41  const GlobalVector & direction, const reco::Vertex & vertex);
42 
49  std::pair<bool,Measurement1D> signedImpactParameter3D(const reco::TransientTrack & track,
50  const GlobalVector & direction, const reco::Vertex & vertex);
51 
53  std::pair<bool,Measurement1D> absoluteImpactParameter(const TrajectoryStateOnSurface & tsos , const reco::Vertex & vertex, VertexDistance & distanceComputer) ;
54 
55 
56  inline TrajectoryStateOnSurface transverseExtrapolate(const TrajectoryStateOnSurface & track,const GlobalPoint & vertexPosition, const MagneticField * field)
57  {
58  TransverseImpactPointExtrapolator extrapolator(field);
59  return extrapolator.extrapolate(track, vertexPosition);
60  }
61 
62 
63 
65  const GlobalVector& aJetDirection,const MagneticField * field);
66 
68 
69 
70  std::pair<bool,Measurement1D> linearizedSignedImpactParameter3D(const TrajectoryStateOnSurface & state,
71  const GlobalVector & direction, const reco::Vertex & vertex);
72 
73  inline std::pair<bool,Measurement1D> linearizedSignedImpactParameter3D(const reco::TransientTrack & transientTrack,
74  const GlobalVector & direction, const reco::Vertex & vertex)
75  {
76  // extrapolate to the point of closest approach to the jet axis
77  TrajectoryStateOnSurface closestToJetState = closestApproachToJet(transientTrack.impactPointState(), vertex, direction,transientTrack.field());
78  return linearizedSignedImpactParameter3D(closestToJetState,direction,vertex);
79  }
80 
81  std::pair<bool,Measurement1D> signedDecayLength3D(const TrajectoryStateOnSurface & state,
82  const GlobalVector & direction, const reco::Vertex & vertex);
83 
84  inline std::pair<bool,Measurement1D> signedDecayLength3D(const reco::TransientTrack & transientTrack,
85  const GlobalVector & direction, const reco::Vertex & vertex)
86  {
87  // extrapolate to the point of closest approach to the jet axis
88  TrajectoryStateOnSurface closestToJetState = closestApproachToJet(transientTrack.impactPointState(), vertex, direction,transientTrack.field());
89  return signedDecayLength3D(closestToJetState,direction,vertex);
90  }
91 
92 
93  std::pair<double,Measurement1D> jetTrackDistance(const reco::TransientTrack & track, const GlobalVector & direction,
94  const reco::Vertex & vertex);
95 }
96 
97 #endif
GlobalVector linearImpactParameter(const TrajectoryStateOnSurface &aTSOS, const GlobalPoint &point)
Definition: IPTools.cc:191
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:50
std::pair< bool, Measurement1D > signedDecayLength3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:94
std::pair< bool, Measurement1D > absoluteImpactParameter3D(const reco::TransientTrack &transientTrack, const reco::Vertex &vertex)
Definition: IPTools.cc:37
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:71
TrajectoryStateOnSurface closestApproachToJet(const TrajectoryStateOnSurface &state, const reco::Vertex &vertex, const GlobalVector &aJetDirection, const MagneticField *field)
Definition: IPTools.cc:177
const MagneticField * field() const
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:200
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:27
std::pair< bool, Measurement1D > absoluteTransverseImpactParameter(const reco::TransientTrack &transientTrack, const reco::Vertex &vertex)
Definition: IPTools.cc:43
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:17
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
std::pair< bool, Measurement1D > linearizedSignedImpactParameter3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:133
TrajectoryStateOnSurface impactPointState() const
TrajectoryStateOnSurface transverseExtrapolate(const TrajectoryStateOnSurface &track, const GlobalPoint &vertexPosition, const MagneticField *field)
Definition: IPTools.h:56
std::pair< bool, Measurement1D > absoluteImpactParameter(const TrajectoryStateOnSurface &tsos, const reco::Vertex &vertex, VertexDistance &distanceComputer)
Impact parameter without direction (internally used)
Definition: IPTools.cc:26
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5