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::VertexAssociationSelector::Config::sigmasR
float sigmasR
Definition: VertexAssociationSelector.h:17
pat::VertexAssociationSelector
Definition: VertexAssociationSelector.h:9
pat::VertexAssociationSelector::operator()
bool operator()(const pat::VertexAssociation &vass) const
check if this VertexAssociation is ok
Definition: VertexAssociationSelector.cc:48
pat::VertexAssociationSelector::Config::sigmasZ
float sigmasZ
Definition: VertexAssociationSelector.h:17
edm::Ref< VertexCollection >
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
Vertex.h
cand
Definition: decayParser.h:34
pat::VertexAssociationSelector::Config::dR
float dR
Definition: VertexAssociationSelector.h:17
pat::VertexAssociationSelector::Config::Config
Config()
Definition: VertexAssociationSelector.h:15
pat::VertexAssociationSelector::simpleAssociation
pat::VertexAssociation simpleAssociation(const reco::Candidate &c, const reco::VertexRef &vtx) const
Definition: VertexAssociationSelector.cc:8
pat::VertexAssociationSelector::Config::dZ
float dZ
cuts on Z and transverse distance from the vertex, absolute values or significances
Definition: VertexAssociationSelector.h:17
pat
Definition: HeavyIon.h:7
Vertexing.h
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
pat::VertexAssociation
Analysis-level structure for vertex-related information.
Definition: Vertexing.h:25
reco::Candidate
Definition: Candidate.h:27
pat::VertexAssociationSelector::VertexAssociationSelector
VertexAssociationSelector()
an empty constructor is sometimes needed
Definition: VertexAssociationSelector.h:41
Candidate.h
pat::VertexAssociationSelector::conf_
Config conf_
Definition: VertexAssociationSelector.h:62
Config
Definition: Config.py:1
reco::Vertex
Definition: Vertex.h:35