CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions
VertexHigherPtSquared Class Reference

#include <VertexHigherPtSquared.h>

Public Member Functions

bool operator() (const TransientVertex &v1, const TransientVertex &v2) const
 
bool operator() (const reco::Vertex &v1, const reco::Vertex &v2) const
 
double sumPtSquared (const reco::Vertex &v) const
 
double sumPtSquared (const std::vector< reco::TransientTrack > &tks) const
 

Detailed Description

operator for sorting TransientVertex objects in decreasing order of the sum of the squared track pT's

Definition at line 13 of file VertexHigherPtSquared.h.

Member Function Documentation

bool VertexHigherPtSquared::operator() ( const TransientVertex v1,
const TransientVertex v2 
) const

Definition at line 5 of file VertexHigherPtSquared.cc.

References TransientVertex::originalTracks().

5  {
6  // return (sumPtSquared(v1) > sumPtSquared(v2)); V-01-05-02
7  const std::vector<reco::TransientTrack>& tks1 = v1.originalTracks();
8  const std::vector<reco::TransientTrack>& tks2 = v2.originalTracks();
9  return (sumPtSquared(tks1) > sumPtSquared(tks2));
10 }
std::vector< reco::TransientTrack > const & originalTracks() const
double sumPtSquared(const reco::Vertex &v) const
bool VertexHigherPtSquared::operator() ( const reco::Vertex v1,
const reco::Vertex v2 
) const

Definition at line 12 of file VertexHigherPtSquared.cc.

12  {
13  return (sumPtSquared(v1) > sumPtSquared(v2));
14 }
double sumPtSquared(const reco::Vertex &v) const
double VertexHigherPtSquared::sumPtSquared ( const reco::Vertex v) const

Definition at line 16 of file VertexHigherPtSquared.cc.

References PVValHelper::pT, reco::Vertex::tracks_begin(), and reco::Vertex::tracks_end().

16  {
17  double sum = 0.;
18  double pT;
19  for (Vertex::trackRef_iterator it = v.tracks_begin(); it != v.tracks_end(); it++) {
20  pT = (**it).pt();
21  double epT = (**it).ptError();
22  pT = pT > epT ? pT - epT : 0;
23 
24  sum += pT * pT;
25  }
26  return sum;
27 }
trackRef_iterator tracks_end() const
last iterator over tracks
Definition: Vertex.h:110
trackRef_iterator tracks_begin() const
first iterator over tracks
Definition: Vertex.h:108
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector&lt;TrackRef&gt;
Definition: Vertex.h:38
double VertexHigherPtSquared::sumPtSquared ( const std::vector< reco::TransientTrack > &  tks) const

Definition at line 29 of file VertexHigherPtSquared.cc.

References DiDispStaMuonMonitor_cfi::pt, and PVValHelper::pT.

29  {
30  double sum = 0.;
31  for (std::vector<reco::TransientTrack>::const_iterator it = tks.begin(); it != tks.end(); it++) {
32  double pT = (it->track()).pt();
33  double epT = (it->track()).ptError();
34  pT = pT > epT ? pT - epT : 0;
35 
36  sum += pT * pT;
37  }
38  return sum;
39 }