CMS 3D CMS Logo

BasicGhostTrackState.h
Go to the documentation of this file.
1 #ifndef RecoBTag_BasicGhostTrackState_h
2 #define RecoBTag_BasicGhostTrackState_h
3 
4 #include <utility>
5 
7 
12 
15 
16 namespace reco {
17 
18  class GhostTrackPrediction;
19 
21  public:
25 
27  typedef std::pair<GlobalPoint, GlobalError> Vertex;
28 
29  virtual ~BasicGhostTrackState() {}
30 
31  template <typename T, typename... Args>
32  static std::shared_ptr<BGTS> build(Args &&... args) {
33  return std::make_shared<T>(std::forward<Args>(args)...);
34  }
35 
36  virtual GlobalPoint globalPosition() const = 0;
37  virtual GlobalError cartesianError() const = 0;
38  virtual CovarianceMatrix cartesianCovariance() const = 0;
39 
40  double lambda() const { return lambda_; }
41  virtual bool isValid() const { return true; }
42 
43  virtual void reset() {}
44  virtual bool linearize(const GhostTrackPrediction &pred, bool initial, double lambda) {
45  lambda_ = lambda;
46  return true;
47  }
48  virtual bool linearize(const GhostTrackPrediction &pred, double lambda) {
49  lambda_ = lambda;
50  return true;
51  }
52 
53  virtual Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, bool withMeasurementError) const = 0;
54  virtual Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, bool withGhostTrackError) const = 0;
55 
56  double weight() const { return weight_; }
57  void setWeight(double weight) { weight_ = weight; }
58 
59  virtual pointer clone() const = 0;
60 
61  protected:
62  double lambda_ = 0;
63  double weight_ = 1.;
64  };
65 
66 } // namespace reco
67 
68 #endif // RecoBTag_BasicGhostTrackState_h
writedatasetfile.args
args
Definition: writedatasetfile.py:18
TrajectoryStateOnSurface.h
reco::BasicGhostTrackState::CovarianceMatrix
math::Error< 3 >::type CovarianceMatrix
Definition: BasicGhostTrackState.h:26
reco::BasicGhostTrackState::clone
virtual pointer clone() const =0
CovarianceMatrix
Definition: CovarianceMatrix.h:28
reco::BasicGhostTrackState::vertexStateOnMeasurement
virtual Vertex vertexStateOnMeasurement(const GhostTrackPrediction &pred, bool withGhostTrackError) const =0
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
TransientTrack.h
reco::BasicGhostTrackState::cartesianError
virtual GlobalError cartesianError() const =0
reco::BasicGhostTrackState::lambda_
double lambda_
Definition: BasicGhostTrackState.h:62
ProxyBase11.h
reco::BasicGhostTrackState::~BasicGhostTrackState
virtual ~BasicGhostTrackState()
Definition: BasicGhostTrackState.h:29
ProxyBase11::pointer
std::shared_ptr< T > pointer
Definition: ProxyBase11.h:25
reco::BasicGhostTrackState::pointer
Proxy::pointer pointer
Definition: BasicGhostTrackState.h:24
reco::BasicGhostTrackState::build
static std::shared_ptr< BGTS > build(Args &&... args)
Definition: BasicGhostTrackState.h:32
reco::BasicGhostTrackState::Vertex
std::pair< GlobalPoint, GlobalError > Vertex
Definition: BasicGhostTrackState.h:27
reco::BasicGhostTrackState::isValid
virtual bool isValid() const
Definition: BasicGhostTrackState.h:41
Error.h
reco::BasicGhostTrackState::weight_
double weight_
Definition: BasicGhostTrackState.h:63
GlobalError.h
GlobalErrorBase< double, ErrorMatrixTag >
reco::BasicGhostTrackState::linearize
virtual bool linearize(const GhostTrackPrediction &pred, double lambda)
Definition: BasicGhostTrackState.h:48
reco::BasicGhostTrackState::vertexStateOnGhostTrack
virtual Vertex vertexStateOnGhostTrack(const GhostTrackPrediction &pred, bool withMeasurementError) const =0
reco::BasicGhostTrackState::reset
virtual void reset()
Definition: BasicGhostTrackState.h:43
ProxyBase11
Definition: ProxyBase11.h:23
T
long double T
Definition: Basic3DVectorLD.h:48
reco::BasicGhostTrackState::weight
double weight() const
Definition: BasicGhostTrackState.h:56
math::Error::type
ErrorD< N >::type type
Definition: Error.h:32
reco::BasicGhostTrackState::setWeight
void setWeight(double weight)
Definition: BasicGhostTrackState.h:57
GlobalVector.h
reco::BasicGhostTrackState::lambda
double lambda() const
Definition: BasicGhostTrackState.h:40
reco::BasicGhostTrackState::cartesianCovariance
virtual CovarianceMatrix cartesianCovariance() const =0
reco::BasicGhostTrackState::globalPosition
virtual GlobalPoint globalPosition() const =0
math::GlobalPoint
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
reco::GhostTrackPrediction
Definition: GhostTrackPrediction.h:21
reco::BasicGhostTrackState
Definition: BasicGhostTrackState.h:20
reco::BasicGhostTrackState::linearize
virtual bool linearize(const GhostTrackPrediction &pred, bool initial, double lambda)
Definition: BasicGhostTrackState.h:44
GlobalPoint.h
weight
Definition: weight.py:1
reco::Vertex
Definition: Vertex.h:35