CMS 3D CMS Logo

RecoTauVertexAssociator.h
Go to the documentation of this file.
1 #ifndef RecoTauTag_RecoTau_RecoTauVertexAssociator_h
2 #define RecoTauTag_RecoTau_RecoTauVertexAssociator_h
3 
4 /* RecoTauVertexAssociator
5  *
6  * Authors: Evan K. Friis, Christian Veelken, UC Davis
7  * Michalis Bachtis, UW Madison
8  *
9  * The associatedVertex member function retrieves the vertex from the event
10  * associated to a given tau. This class is configured using a cms.PSet.
11  *
12  * The required arguments are:
13  * o primaryVertexSrc - InputTag with the vertex collection
14  * o useClosestPV - Use the "closest to lead track in z" to find the vertex.
15  *
16  * The setEvent method must be called at least once per event.
17  *
18  */
19 
26 
29 
31 
33 
34 #include <map>
35 
36 // Forward declarations
37 namespace edm {
38  class ParameterSet;
39  class Event;
40 } // namespace edm
41 
42 namespace reco {
43  class PFTau;
44  class Jet;
45 } // namespace reco
46 
47 namespace reco {
48  namespace tau {
49 
51  public:
52  enum Algorithm { kHighestPtInEvent, kClosestDeltaZ, kHighestWeigtForLeadTrack, kCombined };
53 
55  virtual ~RecoTauVertexAssociator();
62  reco::VertexRef associatedVertex(const PFTau& tau, bool useJet = false) const;
64  reco::VertexRef associatedVertex(const Track* track) const;
65 
67  void setEvent(const edm::Event& evt);
68  const Track* getLeadTrack(const Jet&) const;
69  const TrackBaseRef getLeadTrackRef(const Jet&) const;
70  const CandidatePtr getLeadCand(const Jet&) const;
71 
72  private:
76  std::vector<reco::VertexRef> selectedVertices_;
79  //PJ adding quality cuts
82  enum { kLeadTrack, kLeadPFCand, kMinLeadTrackOrPFCand, kFirstTrack };
85  // containers for holding vertices associated to jets
86  std::map<const reco::Jet*, reco::VertexRef>* jetToVertexAssociation_;
89  };
90 
91  } // namespace tau
92 } // namespace reco
93 
94 #endif /* end of include guard: RecoTauTag_RecoTau_RecoTauVertexAssociator_h */
unsigned long long EventNumber_t
associatedVertex
===> require is not the leading lepton and opposite to the leading lepton
std::vector< reco::VertexRef > selectedVertices_
Definition: Jet.py:1
StringCutObjectSelector< reco::Vertex > * vertexSelector_
std::map< const reco::Jet *, reco::VertexRef > * jetToVertexAssociation_
edm::EDGetTokenT< reco::VertexCollection > vxToken_
fixed size matrix
HLT enums.