CMS 3D CMS Logo

VertexAssociationSelector.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_PatUtils_interface_VertexAssociationSelector_h
2 #define PhysicsTools_PatUtils_interface_VertexAssociationSelector_h
3 
7 
8 namespace pat {
10  public:
14  struct Config {
15  Config() : dZ(0), dR(0), sigmasZ(0), sigmasR(0) {} //, sigmas3d(0) {}
17  float dZ, dR, sigmasZ, sigmasR; //, sigmas3d;
18  };
19 #if 0
20  class SelectCandidates {
22  public:
23  SelectCandidates(const VertexAssociationSelector &asso, const reco::Vertex &vtx) : vtx_(vtx), asso_(asso) { }
24  bool operator()(const reco::Candidate &c) const { return asso_(c, vtx_); }
25  private:
26  const reco::Vertex & vtx_;
27  const VertexAssociationSelector & asso_;
28  };
30  class SelectVertices {
31  public:
32  SelectVertices(const VertexAssociationSelector &asso, const reco::Candidate &cand) : cand_(cand), asso_(asso) { }
33  bool operator()(const reco::Vertex &vtx) const { return asso_(cand_, vtx); }
34  private:
35  const reco::Candidate & cand_;
36  const VertexAssociationSelector & asso_;
37  };
38 #endif
39 
43  VertexAssociationSelector(const Config &conf);
44 
46  bool operator()(const pat::VertexAssociation &vass) const;
47 
51  bool operator()(const reco::Candidate &c, const reco::Vertex &) const;
52 
54 #if 0
55  SelectCandidates selectCandidates(const reco::Vertex & vtx ) const { return SelectCandidates(*this, vtx ); }
57 
59  SelectVertices selectVertices( const reco::Candidate & cand) const { return SelectVertices( *this, cand ); }
60 #endif
61  private:
63 
64  }; // class
65 } // namespace pat
66 
67 #endif
pat::VertexAssociation simpleAssociation(const reco::Candidate &c, const reco::VertexRef &vtx) const
Definition: HeavyIon.h:7
bool operator()(const pat::VertexAssociation &vass) const
check if this VertexAssociation is ok
Definition: Config.py:1
float dZ
cuts on Z and transverse distance from the vertex, absolute values or significances ...
Analysis-level structure for vertex-related information.
Definition: Vertexing.h:25
VertexAssociationSelector()
an empty constructor is sometimes needed