CMS 3D CMS Logo

IPTools.h
Go to the documentation of this file.
1 #ifndef TrackingTools_IPTools_h
2 #define TrackingTools_IPTools_h
8 #include <utility>
15 
16 namespace IPTools {
22  std::pair<bool, Measurement1D> absoluteImpactParameter3D(const reco::TransientTrack& transientTrack,
23  const reco::Vertex& vertex);
24 
31  std::pair<bool, Measurement1D> absoluteTransverseImpactParameter(const reco::TransientTrack& transientTrack,
32  const reco::Vertex& vertex);
33 
39  std::pair<bool, Measurement1D> signedTransverseImpactParameter(const reco::TransientTrack& track,
40  const GlobalVector& direction,
41  const reco::Vertex& vertex);
42 
49  std::pair<bool, Measurement1D> signedImpactParameter3D(const reco::TransientTrack& track,
50  const GlobalVector& direction,
51  const reco::Vertex& vertex);
52 
54  std::pair<bool, Measurement1D> absoluteImpactParameter(const TrajectoryStateOnSurface& tsos,
55  const reco::Vertex& vertex,
56  VertexDistance& distanceComputer);
57 
59  const GlobalPoint& vertexPosition,
60  const MagneticField* field) {
61  TransverseImpactPointExtrapolator extrapolator(field);
62  return extrapolator.extrapolate(track, vertexPosition);
63  }
64 
66  const reco::Vertex& vertex,
67  const GlobalVector& aJetDirection,
68  const MagneticField* field);
69 
71 
72  std::pair<bool, Measurement1D> linearizedSignedImpactParameter3D(const TrajectoryStateOnSurface& state,
73  const GlobalVector& direction,
74  const reco::Vertex& vertex);
75 
76  inline std::pair<bool, Measurement1D> linearizedSignedImpactParameter3D(const reco::TransientTrack& transientTrack,
77  const GlobalVector& direction,
78  const reco::Vertex& vertex) {
79  // extrapolate to the point of closest approach to the jet axis
80  TrajectoryStateOnSurface closestToJetState =
81  closestApproachToJet(transientTrack.impactPointState(), vertex, direction, transientTrack.field());
82  return linearizedSignedImpactParameter3D(closestToJetState, direction, vertex);
83  }
84 
85  std::pair<bool, Measurement1D> signedDecayLength3D(const TrajectoryStateOnSurface& state,
86  const GlobalVector& direction,
87  const reco::Vertex& vertex);
88 
89  inline std::pair<bool, Measurement1D> signedDecayLength3D(const reco::TransientTrack& transientTrack,
90  const GlobalVector& direction,
91  const reco::Vertex& vertex) {
92  // extrapolate to the point of closest approach to the jet axis
93  TrajectoryStateOnSurface closestToJetState =
94  closestApproachToJet(transientTrack.impactPointState(), vertex, direction, transientTrack.field());
95  return signedDecayLength3D(closestToJetState, direction, vertex);
96  }
97 
98  std::pair<double, Measurement1D> jetTrackDistance(const reco::TransientTrack& track,
99  const GlobalVector& direction,
100  const reco::Vertex& vertex);
101 } // namespace IPTools
102 
103 #endif
GlobalVector linearImpactParameter(const TrajectoryStateOnSurface &aTSOS, const GlobalPoint &point)
Definition: IPTools.cc:198
TrajectoryStateOnSurface extrapolate(const FreeTrajectoryState &fts, const GlobalPoint &vtx) const
extrapolation with default (=geometrical) propagator
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:57
std::pair< bool, Measurement1D > signedDecayLength3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:105
std::pair< bool, Measurement1D > absoluteImpactParameter3D(const reco::TransientTrack &transientTrack, const reco::Vertex &vertex)
Definition: IPTools.cc:38
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
TrajectoryStateOnSurface closestApproachToJet(const TrajectoryStateOnSurface &state, const reco::Vertex &vertex, const GlobalVector &aJetDirection, const MagneticField *field)
Definition: IPTools.cc:182
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:206
const MagneticField * field() const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:28
std::pair< bool, Measurement1D > absoluteTransverseImpactParameter(const reco::TransientTrack &transientTrack, const reco::Vertex &vertex)
Definition: IPTools.cc:47
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
std::pair< bool, Measurement1D > linearizedSignedImpactParameter3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:141
TrajectoryStateOnSurface transverseExtrapolate(const TrajectoryStateOnSurface &track, const GlobalPoint &vertexPosition, const MagneticField *field)
Definition: IPTools.h:58
std::pair< bool, Measurement1D > absoluteImpactParameter(const TrajectoryStateOnSurface &tsos, const reco::Vertex &vertex, VertexDistance &distanceComputer)
Impact parameter without direction (internally used)
Definition: IPTools.cc:23
TrajectoryStateOnSurface impactPointState() const
*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