CMS 3D CMS Logo

PFDisplacedVertexSeed.h
Go to the documentation of this file.
1 #ifndef DataFormat_ParticleFlowReco_PFDisplacedVertexSeed_h
2 #define DataFormat_ParticleFlowReco_PFDisplacedVertexSeed_h
3 
6 
7 #include <vector>
8 #include <iostream>
9 
10 namespace reco {
11 
13 
26  public:
29 
33 
35  void reserveElements(size_t);
36 
39  void updateSeedPoint(const GlobalPoint& dcaPoint, const TrackBaseRef, const TrackBaseRef, double weight = 1);
40 
42  void mergeWith(const PFDisplacedVertexSeed& displacedVertex);
43 
45  bool isEmpty() const { return (elements_.empty()); }
46 
48  const std::vector<TrackBaseRef>& elements() const { return elements_; }
49 
50  const double nTracks() const { return elements_.size(); }
51 
53  const GlobalPoint& seedPoint() const { return seedPoint_; }
54 
56  const double totalWeight() const { return totalWeight_; }
57 
59  void Dump(std::ostream& out = std::cout) const;
60 
61  private:
62  friend std::ostream& operator<<(std::ostream& out, const PFDisplacedVertexSeed& co);
63 
65 
67  std::vector<TrackBaseRef> elements_;
72  float totalWeight_;
73  };
74 } // namespace reco
75 
76 #endif
friend std::ostream & operator<<(std::ostream &out, const PFDisplacedVertexSeed &co)
bool isEmpty() const
Check if it is a new Seed.
const GlobalPoint & seedPoint() const
Definition: weight.py:1
void mergeWith(const PFDisplacedVertexSeed &displacedVertex)
Merge two Seeds if their seed Points are close enough.
const double totalWeight() const
__host__ __device__ VT * co
Definition: prefixScan.h:47
void Dump(std::ostream &out=std::cout) const
cout function
const std::vector< TrackBaseRef > & elements() const
GlobalPoint seedPoint_
Seed point which indicated the approximative position of the vertex.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
fixed size matrix
void reserveElements(size_t)
Reserve space for elements.
PFDisplacedVertexSeed()
Default constructor.
std::vector< TrackBaseRef > elements_
---—— MEMBERS ----—— ///
void updateSeedPoint(const GlobalPoint &dcaPoint, const TrackBaseRef, const TrackBaseRef, double weight=1)