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
reco::PFDisplacedVertexSeed::PFDisplacedVertexSeed
PFDisplacedVertexSeed()
Default constructor.
Definition: PFDisplacedVertexSeed.cc:9
reco::PFDisplacedVertexSeed::seedPoint
const GlobalPoint & seedPoint() const
Definition: PFDisplacedVertexSeed.h:53
gather_cfg.cout
cout
Definition: gather_cfg.py:144
reco::PFDisplacedVertexSeed
Block of elements.
Definition: PFDisplacedVertexSeed.h:25
reco::PFDisplacedVertexSeed::operator<<
friend std::ostream & operator<<(std::ostream &out, const PFDisplacedVertexSeed &co)
reco::PFDisplacedVertexSeed::totalWeight_
float totalWeight_
Definition: PFDisplacedVertexSeed.h:72
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:46
reco::PFDisplacedVertexSeed::Dump
void Dump(std::ostream &out=std::cout) const
cout function
Definition: PFDisplacedVertexSeed.cc:63
reco::PFDisplacedVertexSeed::addElement
void addElement(TrackBaseRef)
Definition: PFDisplacedVertexSeed.cc:11
reco::PFDisplacedVertexSeed::mergeWith
void mergeWith(const PFDisplacedVertexSeed &displacedVertex)
Merge two Seeds if their seed Points are close enough.
Definition: PFDisplacedVertexSeed.cc:41
reco::PFDisplacedVertexSeed::totalWeight
const double totalWeight() const
Definition: PFDisplacedVertexSeed.h:56
TrackFwd.h
cms::cuda::co
__host__ __device__ VT * co
Definition: prefixScan.h:47
reco::PFDisplacedVertexSeed::elements
const std::vector< TrackBaseRef > & elements() const
Definition: PFDisplacedVertexSeed.h:48
reco::PFDisplacedVertexSeed::nTracks
const double nTracks() const
Definition: PFDisplacedVertexSeed.h:50
reco::PFDisplacedVertexSeed::seedPoint_
GlobalPoint seedPoint_
Seed point which indicated the approximative position of the vertex.
Definition: PFDisplacedVertexSeed.h:69
reco::PFDisplacedVertexSeed::elements_
std::vector< TrackBaseRef > elements_
------— MEMBERS -------— ///
Definition: PFDisplacedVertexSeed.h:67
edm::RefToBase< reco::Track >
math::GlobalPoint
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< float >, ROOT::Math::GlobalCoordinateSystemTag > GlobalPoint
point in global coordinate system
Definition: Point3D.h:18
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::PFDisplacedVertexSeed::updateSeedPoint
void updateSeedPoint(const GlobalPoint &dcaPoint, const TrackBaseRef, const TrackBaseRef, double weight=1)
Definition: PFDisplacedVertexSeed.cc:19
GlobalPoint.h
weight
Definition: weight.py:1
reco::PFDisplacedVertexSeed::isEmpty
bool isEmpty() const
Check if it is a new Seed.
Definition: PFDisplacedVertexSeed.h:45
reco::PFDisplacedVertexSeed::reserveElements
void reserveElements(size_t)
Reserve space for elements.
Definition: PFDisplacedVertexSeed.cc:17