CMS 3D CMS Logo

GhostTrack.h
Go to the documentation of this file.
1 #ifndef RecoBTag_GhostTrack_h
2 #define RecoBTag_GhostTrack_h
3 
4 #include <vector>
5 
8 
10 
13 
14 namespace reco {
15 
16  class GhostTrack {
17  public:
20  const std::vector<GhostTrackState> &states,
21  double ndof,
22  double chi2)
24 
27  const std::vector<TransientTrack> &tracks,
28  double ndof,
29  double chi2,
30  const std::vector<float> &weights = std::vector<float>(),
31  const GlobalPoint &origin = GlobalPoint(),
32  bool withOrigin = false);
33 
34  GhostTrack(const Track &ghostTrack,
35  const std::vector<TransientTrack> &tracks,
36  const std::vector<float> &weights = std::vector<float>(),
38  const GlobalPoint &origin = GlobalPoint(),
39  bool withOrigin = false);
40 
41  const GhostTrackPrediction &prediction() const { return prediction_; }
42  const GhostTrackPrediction &prior() const { return prior_; }
43 
44  const std::vector<GhostTrackState> &states() const { return states_; }
45  double ndof() const { return ndof_; }
46  double chi2() const { return chi2_; }
47 
48  operator Track() const { return prediction_.track(ndof_, chi2_); }
49 
50  private:
51  void initStates(const std::vector<TransientTrack> &tracks, const std::vector<float> &weights, double offset);
52 
55  std::vector<GhostTrackState> states_;
56  double ndof_;
57  double chi2_;
58  };
59 
60 } // namespace reco
61 
62 #endif // RecoBTag_GhostTrack_h
Track track(double ndof=0., double chi2=0.) const
double chi2() const
Definition: GhostTrack.h:46
GhostTrackPrediction prior_
Definition: GhostTrack.h:54
double ndof() const
Definition: GhostTrack.h:45
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
void initStates(const std::vector< TransientTrack > &tracks, const std::vector< float > &weights, double offset)
Definition: GhostTrack.cc:14
std::vector< GhostTrackState > states_
Definition: GhostTrack.h:55
GhostTrackPrediction prediction_
Definition: GhostTrack.h:53
const std::vector< GhostTrackState > & states() const
Definition: GhostTrack.h:44
auto const & tracks
cannot be loose
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
GhostTrack(const GhostTrackPrediction &prior, const GhostTrackPrediction &prediction, const std::vector< GhostTrackState > &states, double ndof, double chi2)
Definition: GhostTrack.h:18
fixed size matrix
const GhostTrackPrediction & prior() const
Definition: GhostTrack.h:42
const GhostTrackPrediction & prediction() const
Definition: GhostTrack.h:41