CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GhostTrackState.h
Go to the documentation of this file.
1 #ifndef RecoBTag_GhostTrackState_h
2 #define RecoBTag_GhostTrackState_h
3 
4 #include <utility>
5 
9 
11 
13 
14 class VertexState;
15 
16 namespace reco {
17 
18 class TransientTrack;
19 class GhostTrackPrediction;
20 
23 
24  public:
27 
29  GhostTrackState(const GlobalPoint &pos, const CovarianceMatrix &cov);
32 
33  const TransientTrack &track() const;
34  const TrajectoryStateOnSurface &tsos() const;
35 
36  GlobalPoint globalPosition() const { return data().globalPosition(); }
37  GlobalError cartesianError() const { return data().cartesianError(); }
38  CovarianceMatrix cartesianCovariance() const { return data().cartesianCovariance(); }
39 
40  double lambda() const { return data().lambda(); }
41  double lambdaError(const GhostTrackPrediction &pred,
42  const GlobalError &pvError = GlobalError()) const;
43  bool isValid() const { return Base::isValid() && data().isValid(); }
44  bool isTrack() const;
45  bool isVertex() const;
46 
47  void reset() { unsharedData().reset(); }
48  bool linearize(const GhostTrackPrediction &pred,
49  bool initial = false, double lambda = 0.)
50  { return unsharedData().linearize(pred, initial, lambda); }
51  bool linearize(const GhostTrackPrediction &pred, double lambda)
52  { return unsharedData().linearize(pred, lambda); }
53 
54  double flightDistance(const GlobalPoint &point,
55  const GlobalVector &dir) const;
56  double axisDistance(const GlobalPoint &point,
57  const GlobalVector &dir) const;
58  double axisDistance(const GhostTrackPrediction &pred) const;
59 
61  const GhostTrackPrediction &pred,
62  bool withMeasurementError = true) const
63  { return data().vertexStateOnGhostTrack(pred, withMeasurementError); }
65  bool withGhostTrackError = true) const
66  { return data().vertexStateOnMeasurement(pred, withGhostTrackError); }
67 
68  double weight() const { return data().weight(); }
69  void setWeight(double weight) { unsharedData().setWeight(weight); }
70 };
71 
72 }
73 
74 #endif // RecoBTag_GhostTrackState_h
double lambdaError(const GhostTrackPrediction &pred, const GlobalError &pvError=GlobalError()) const
std::pair< GlobalPoint, GlobalError > Vertex
Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, bool withMeasurementError=true) const
const TransientTrack & track() const
double weight() const
void setWeight(double weight)
GlobalError cartesianError() const
double flightDistance(const GlobalPoint &point, const GlobalVector &dir) const
T & unsharedData()
Definition: ProxyBase.h:66
GlobalErrorBase< double, ErrorMatrixTag > GlobalError
Definition: GlobalError.h:11
const TrajectoryStateOnSurface & tsos() const
double lambda() const
BasicGhostTrackState::CovarianceMatrix CovarianceMatrix
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalVector
vector in glovbal coordinate system
Definition: Vector3D.h:28
BasicGhostTrackState::Proxy Base
BasicGhostTrackState::Vertex Vertex
double axisDistance(const GlobalPoint &point, const GlobalVector &dir) const
bool linearize(const GhostTrackPrediction &pred, bool initial=false, double lambda=0.)
bool linearize(const GhostTrackPrediction &pred, double lambda)
math::Error< 3 >::type CovarianceMatrix
const T & data() const
Definition: ProxyBase.h:64
char state
Definition: procUtils.cc:75
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, bool withGhostTrackError=true) const
bool isValid() const
Definition: ProxyBase.h:78
CovarianceMatrix cartesianCovariance() const
dbl *** dir
Definition: mlp_gen.cc:35
GhostTrackState(const TransientTrack &track)
GlobalPoint globalPosition() 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