CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Types | Private Attributes
reco::tau::RecoTauVertexAssociator Class Reference

#include <RecoTauVertexAssociator.h>

Public Types

enum  Algorithm { kHighestPtInEvent, kClosestDeltaZ, kHighestWeigtForLeadTrack, kCombined }
 

Public Member Functions

reco::VertexRef associatedVertex (const PFJet &jet) const
 
reco::VertexRef associatedVertex (const PFTau &tau) const
 
reco::TrackBaseRef getLeadTrack (const PFJet &jet) const
 
 RecoTauVertexAssociator (const edm::ParameterSet &pset, edm::ConsumesCollector &&iC)
 
void setEvent (const edm::Event &evt)
 Load the vertices from the event. More...
 
virtual ~RecoTauVertexAssociator ()
 

Private Types

enum  { kLeadTrack, kLeadPFCand, kMinLeadTrackOrPFCand, kFirstTrack }
 

Private Attributes

Algorithm algo_
 
std::string algorithm_
 
std::map< const reco::PFJet
*, reco::VertexRef > * 
jetToVertexAssociation_
 
edm::EventNumber_t lastEvent_
 
int leadingTrkOrPFCandOption_
 
RecoTauQualityCutsqcuts_
 
bool recoverLeadingTrk_
 
std::vector< reco::VertexRefselectedVertices_
 
int verbosity_
 
StringCutObjectSelector
< reco::Vertex > * 
vertexSelector_
 
edm::InputTag vertexTag_
 
edm::EDGetTokenT
< reco::VertexCollection
vxToken_
 
bool vxTrkFiltering_
 

Detailed Description

Definition at line 49 of file RecoTauVertexAssociator.h.

Member Enumeration Documentation

anonymous enum
private

Constructor & Destructor Documentation

reco::tau::RecoTauVertexAssociator::RecoTauVertexAssociator ( const edm::ParameterSet pset,
edm::ConsumesCollector &&  iC 
)

Definition at line 129 of file RecoTauVertexAssociator.cc.

References algo_, algorithm_, assert(), Exception, edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), edm::ParameterSet::getParameterSet(), HLT_25ns14e33_v1_cff::InputTag, kClosestDeltaZ, kCombined, kFirstTrack, kHighestPtInEvent, kHighestWeigtForLeadTrack, kLeadPFCand, kLeadTrack, kMinLeadTrackOrPFCand, leadingTrkOrPFCandOption_, qcuts_, recoverLeadingTrk_, AlCaHLTBitMon_QueryRunRegistry::string, verbosity_, HLT_25ns14e33_v1_cff::vertexSelection, vertexSelector_, vertexTag_, vxToken_, and vxTrkFiltering_.

130  : vertexSelector_(0),
131  qcuts_(0),
133  lastEvent_(0)
134 {
135  //std::cout << "<RecoTauVertexAssociator::RecoTauVertexAssociator>:" << std::endl;
136 
137  vertexTag_ = edm::InputTag("offlinePrimaryVertices", "");
138  algorithm_ = "highestPtInEvent";
139  // Sanity check, will remove once HLT module configs are updated.
140  if ( !pset.exists("primaryVertexSrc") || !pset.exists("pvFindingAlgo") ) {
141  edm::LogWarning("NoVertexFindingMethodSpecified")
142  << "The PSet passed to the RecoTauVertexAssociator was incorrectly configured."
143  << " The vertex will be taken as the highest Pt vertex from the 'offlinePrimaryVertices' collection."
144  << std::endl;
145  } else {
146  vertexTag_ = pset.getParameter<edm::InputTag>("primaryVertexSrc");
147  algorithm_ = pset.getParameter<std::string>("pvFindingAlgo");
148  }
149 
150  if ( pset.exists("vxAssocQualityCuts") ) {
151  //std::cout << " reading 'vxAssocQualityCuts'" << std::endl;
152  qcuts_ = new RecoTauQualityCuts(pset.getParameterSet("vxAssocQualityCuts"));
153  } else {
154  //std::cout << " reading 'signalQualityCuts'" << std::endl;
155  qcuts_ = new RecoTauQualityCuts(pset.getParameterSet("signalQualityCuts"));
156  }
157  assert(qcuts_);
158 
159  vxTrkFiltering_ = false;
160  if ( !pset.exists("vertexTrackFiltering") && pset.exists("vxAssocQualityCuts") ) {
161  edm::LogWarning("NoVertexTrackFilteringSpecified")
162  << "The PSet passed to the RecoTauVertexAssociator was incorrectly configured."
163  << " Please define vertexTrackFiltering in config file."
164  << " No filtering of tracks to vertices will be applied."
165  << std::endl;
166  } else {
167  vxTrkFiltering_ = pset.exists("vertexTrackFiltering") ?
168  pset.getParameter<bool>("vertexTrackFiltering") : false;
169  }
170  if ( pset.exists("vertexSelection") ) {
171  std::string vertexSelection = pset.getParameter<std::string>("vertexSelection");
172  if ( vertexSelection != "" ) {
174  }
175  }
176 
177  if ( algorithm_ == "highestPtInEvent" ) {
179  } else if ( algorithm_ == "closestInDeltaZ" ) {
181  } else if ( algorithm_ == "highestWeightForLeadTrack" ) {
183  } else if ( algorithm_ == "combined" ) {
184  algo_ = kCombined;
185  } else {
186  throw cms::Exception("BadVertexAssociatorConfig")
187  << "Invalid Configuration parameter 'algorithm' " << algorithm_ << "."
188  << " Valid options are: 'highestPtInEvent', 'closestInDeltaZ', 'highestWeightForLeadTrack' and 'combined'.\n";
189  }
190 
192 
193  recoverLeadingTrk_ = pset.exists("recoverLeadingTrk") ?
194  pset.getParameter<bool>("recoverLeadingTrk") : false;
195 
196  std::string leadingTrkOrPFCandOption_string = pset.exists("leadingTrkOrPFCandOption") ? pset.getParameter<std::string>("leadingTrkOrPFCandOption") : "firstTrack" ;
197  if ( leadingTrkOrPFCandOption_string == "leadTrack" ) leadingTrkOrPFCandOption_ = kLeadTrack;
198  else if ( leadingTrkOrPFCandOption_string == "leadPFCand" ) leadingTrkOrPFCandOption_ = kLeadPFCand;
199  else if ( leadingTrkOrPFCandOption_string == "minLeadTrackOrPFCand" ) leadingTrkOrPFCandOption_ = kMinLeadTrackOrPFCand;
200  else if ( leadingTrkOrPFCandOption_string == "firstTrack" ) leadingTrkOrPFCandOption_ = kFirstTrack;
201  else throw cms::Exception("BadVertexAssociatorConfig")
202  << "Invalid Configuration parameter 'leadingTrkOrPFCandOption' " << leadingTrkOrPFCandOption_string << "."
203  << " Valid options are: 'leadTrack', 'leadPFCand', 'firstTrack'.\n";
204 
205  verbosity_ = ( pset.exists("verbosity") ) ?
206  pset.getParameter<int>("verbosity") : 0;
207 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
assert(m_qm.get())
bool exists(std::string const &parameterName) const
checks if a parameter exists
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
StringCutObjectSelector< reco::Vertex > * vertexSelector_
ParameterSet const & getParameterSet(std::string const &) const
edm::EDGetTokenT< reco::VertexCollection > vxToken_
std::map< const reco::PFJet *, reco::VertexRef > * jetToVertexAssociation_
reco::tau::RecoTauVertexAssociator::~RecoTauVertexAssociator ( )
virtual

Definition at line 209 of file RecoTauVertexAssociator.cc.

References jetToVertexAssociation_, qcuts_, and vertexSelector_.

210 {
211  delete vertexSelector_;
212  delete qcuts_;
214 }
StringCutObjectSelector< reco::Vertex > * vertexSelector_
std::map< const reco::PFJet *, reco::VertexRef > * jetToVertexAssociation_

Member Function Documentation

reco::VertexRef reco::tau::RecoTauVertexAssociator::associatedVertex ( const PFJet jet) const

Get the primary vertex associated to a given jet. Returns a null Ref if no vertex is found.

Definition at line 248 of file RecoTauVertexAssociator.cc.

References algo_, algorithm_, gather_cfg::cout, alignCSCRings::e, reco::LeafCandidate::eta(), reco::TrackBase::eta(), getLeadTrack(), edm::RefToBase< T >::isNonnull(), metsig::jet, jetToVertexAssociation_, kClosestDeltaZ, kCombined, kHighestPtInEvent, kHighestWeigtForLeadTrack, singlePfTauSkim_cff::leadTrack, reco::LeafCandidate::phi(), reco::TrackBase::phi(), reco::LeafCandidate::pt(), reco::TrackBase::pt(), recoverLeadingTrk_, selectedVertices_, verbosity_, vertexTag_, and puppiForMET_cff::weight.

Referenced by associatedVertex(), Tau.Tau::dxy(), Muon.Muon::dxy(), Tau.Tau::dxy_approx(), Tau.Tau::dz(), Muon.Muon::dz(), reco::tau::RecoTauImpactParameterSignificancePlugin::operator()(), reco::tau::PFRecoTauChargedHadronFromPFCandidatePlugin::operator()(), reco::tau::RecoTauPiZeroStripPlugin::operator()(), reco::tau::PFRecoTauChargedHadronFromTrackPlugin::operator()(), reco::tau::RecoTauPiZeroStripPlugin2::operator()(), reco::tau::RecoTauPiZeroStripPlugin3::operator()(), reco::tau::RecoTauBuilderPlugin::primaryVertex(), and Tau.Tau::zImpact().

249 {
250  if ( verbosity_ >= 1 ) {
251  std::cout << "<RecoTauVertexAssociator::associatedVertex>:" << std::endl;
252  std::cout << " jet: Pt = " << jet.pt() << ", eta = " << jet.eta() << ", phi = " << jet.phi() << std::endl;
253  std::cout << " num. Vertices = " << selectedVertices_.size() << std::endl;
254  std::cout << " size(jetToVertexAssociation) = " << jetToVertexAssociation_->size() << std::endl;
255  std::cout << " vertexTag = " << vertexTag_ << std::endl;
256  std::cout << " algorithm = " << algorithm_ << std::endl;
257  std::cout << " recoverLeadingTrk = " << recoverLeadingTrk_ << std::endl;
258  }
259 
260  reco::VertexRef jetVertex = ( selectedVertices_.size() > 0 ) ? selectedVertices_[0] : reco::VertexRef();
261  const PFJet* jetPtr = &jet;
262 
263  // check if jet-vertex association has been determined for this jet before
264  std::map<const reco::PFJet*, reco::VertexRef>::iterator vertexPtr = jetToVertexAssociation_->find(jetPtr);
265  if ( vertexPtr != jetToVertexAssociation_->end() ) {
266  jetVertex = vertexPtr->second;
267  } else {
268  // no jet-vertex association exists for this jet yet, compute it!
269  if ( algo_ == kHighestPtInEvent ) {
270  if ( selectedVertices_.size() > 0 ) jetVertex = selectedVertices_[0];
271  } else if ( algo_ == kClosestDeltaZ ) {
272  // find "leading" (highest Pt) track in jet
274  if ( verbosity_ ) {
275  if ( leadTrack.isNonnull() ) std::cout << "leadTrack: Pt = " << leadTrack->pt() << ", eta = " << leadTrack->eta() << ", phi = " << leadTrack->phi() << std::endl;
276  else std::cout << "leadTrack: N/A" << std::endl;
277  }
278  if ( leadTrack.isNonnull() ) {
279  double closestDistance = 1.e+6;
280  DZtoTrack dzComputer(leadTrack);
281  // Find the vertex that has the lowest dZ to the leading track
282  int idxVertex = 0;
283  for ( std::vector<reco::VertexRef>::const_iterator selectedVertex = selectedVertices_.begin();
284  selectedVertex != selectedVertices_.end(); ++selectedVertex ) {
285  double dZ = dzComputer(*selectedVertex);
286  if ( verbosity_ ) {
287  std::cout << "vertex #" << idxVertex << ": x = " << (*selectedVertex)->position().x() << ", y = " << (*selectedVertex)->position().y() << ", z = " << (*selectedVertex)->position().z()
288  << " --> dZ = " << dZ << std::endl;
289  }
290  if ( dZ < closestDistance ) {
291  jetVertex = (*selectedVertex);
292  closestDistance = dZ;
293  }
294  ++idxVertex;
295  }
296  }
297  } else if ( algo_ == kHighestWeigtForLeadTrack || algo_ == kCombined ) {
298  reco::TrackBaseRef leadTrack = getLeadTrack(jet);
299  if ( verbosity_ ) {
300  if ( leadTrack.isNonnull() ) std::cout << "leadTrack: Pt = " << leadTrack->pt() << ", eta = " << leadTrack->eta() << ", phi = " << leadTrack->phi() << std::endl;
301  else std::cout << "leadTrack: N/A" << std::endl;
302  }
303  if ( leadTrack.isNonnull() ) {
304  double largestWeight = -1.;
305  // Find the vertex that has the highest association probability to the leading track
306  TrackWeightInVertex weightComputer(leadTrack);
307  int idxVertex = 0;
308  for ( std::vector<reco::VertexRef>::const_iterator selectedVertex = selectedVertices_.begin();
309  selectedVertex != selectedVertices_.end(); ++selectedVertex ) {
310  double weight = weightComputer(*selectedVertex);
311  if ( verbosity_ ) {
312  std::cout << "vertex #" << idxVertex << ": x = " << (*selectedVertex)->position().x() << ", y = " << (*selectedVertex)->position().y() << ", z = " << (*selectedVertex)->position().z()
313  << " --> weight = " << weight << std::endl;
314  }
315  if ( weight > largestWeight ) {
316  jetVertex = (*selectedVertex);
317  largestWeight = weight;
318  }
319  ++idxVertex;
320  }
321  // the weight was never larger than zero
322  if ( algo_ == kCombined && largestWeight < 1.e-7 ) {
323  if ( verbosity_ ) {
324  std::cout << "No vertex had positive weight! Trying dZ instead... " << std::endl;
325  }
326  double closestDistance = 1.e+6;
327  DZtoTrack dzComputer(leadTrack);
328  // Find the vertex that has the lowest dZ to the leading track
329  int idxVertex = 0;
330  for ( std::vector<reco::VertexRef>::const_iterator selectedVertex = selectedVertices_.begin();
331  selectedVertex != selectedVertices_.end(); ++selectedVertex ) {
332  double dZ = dzComputer(*selectedVertex);
333  if ( verbosity_ ) {
334  std::cout << "vertex #" << idxVertex << ": x = " << (*selectedVertex)->position().x() << ", y = " << (*selectedVertex)->position().y() << ", z = " << (*selectedVertex)->position().z()
335  << " --> dZ = " << dZ << std::endl;
336  }
337  if ( dZ < closestDistance ) {
338  jetVertex = (*selectedVertex);
339  closestDistance = dZ;
340  }
341  ++idxVertex;
342  }
343  }
344  }
345  }
346 
347  jetToVertexAssociation_->insert(std::pair<const PFJet*, reco::VertexRef>(jetPtr, jetVertex));
348  }
349 
350  if ( verbosity_ >= 1 ) {
351  std::cout << "--> returning vertex: x = " << jetVertex->position().x() << ", y = " << jetVertex->position().y() << ", z = " << jetVertex->position().z() << std::endl;
352  }
353 
354  return jetVertex;
355 }
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:632
bool isNonnull() const
Checks for non-null.
Definition: RefToBase.h:330
reco::TrackBaseRef getLeadTrack(const PFJet &jet) const
std::vector< reco::VertexRef > selectedVertices_
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:638
double pt() const
track transverse momentum
Definition: TrackBase.h:608
tuple cout
Definition: gather_cfg.py:121
std::map< const reco::PFJet *, reco::VertexRef > * jetToVertexAssociation_
reco::VertexRef reco::tau::RecoTauVertexAssociator::associatedVertex ( const PFTau tau) const

Convenience function to get the PV associated to the jet that seeded this tau.

Definition at line 239 of file RecoTauVertexAssociator.cc.

References associatedVertex(), edm::Ref< C, T, F >::isNull(), reco::PFTau::jetRef(), and reco::PFTau::pfTauTagInfoRef().

Referenced by Tau.Tau::dxy(), Muon.Muon::dxy(), Tau.Tau::dxy_approx(), Tau.Tau::dz(), Muon.Muon::dz(), and Tau.Tau::zImpact().

240 {
241  reco::PFJetRef jetRef = tau.jetRef();
242  // FIXME workaround for HLT which does not use updated data format
243  if ( jetRef.isNull() ) jetRef = tau.pfTauTagInfoRef()->pfjetRef();
244  return associatedVertex(*jetRef);
245 }
reco::VertexRef associatedVertex(const PFJet &jet) const
bool isNull() const
Checks for null.
Definition: Ref.h:249
reco::TrackBaseRef reco::tau::RecoTauVertexAssociator::getLeadTrack ( const PFJet jet) const

Definition at line 20 of file RecoTauVertexAssociator.cc.

References assert(), gather_cfg::cout, reco::LeafCandidate::eta(), reco::tau::RecoTauQualityCuts::filterCandRefs(), edm::Ptr< T >::isNonnull(), edm::Ptr< T >::isNull(), kFirstTrack, kLeadPFCand, kLeadTrack, kMinLeadTrackOrPFCand, leadingTrkOrPFCandOption_, reco::tau::leadPFCand(), Min(), reco::tau::pfChargedCands(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), reco::TrackBase::pt(), reco::TrackBase::ptError(), qcuts_, recoverLeadingTrk_, listHistos::trackPt, verbosity_, and vxTrkFiltering_.

Referenced by associatedVertex().

21 {
22  std::vector<PFCandidatePtr> chargedPFCands = pfChargedCands(jet, true);
23  if ( verbosity_ >= 1 ) {
24  std::cout << "<RecoTauVertexAssociator::getLeadTrack>:" << std::endl;
25  std::cout << " jet: Pt = " << jet.pt() << ", eta = " << jet.eta() << ", phi = " << jet.phi() << std::endl;
26  std::cout << " num. chargedPFCands = " << chargedPFCands.size() << std::endl;
27  std::cout << " vxTrkFiltering = " << vxTrkFiltering_ << std::endl;
28  }
29 
30  if ( chargedPFCands.size() == 0 ) {
31  return reco::TrackBaseRef();
32  }
33 
34  std::vector<PFCandidatePtr> selectedPFCands;
35  if ( vxTrkFiltering_ ) {
36  selectedPFCands = qcuts_->filterCandRefs(chargedPFCands);
37  } else {
38  selectedPFCands = chargedPFCands;
39  }
40  if ( verbosity_ >= 1 ) {
41  std::cout << " num. selectedPFCands = " << selectedPFCands.size() << std::endl;
42  }
43 
45  if ( selectedPFCands.size() >= 1 ) {
46  double leadTrackPt = 0.;
47  if ( leadingTrkOrPFCandOption_ == kFirstTrack){ leadPFCand=selectedPFCands[0];}
48  else
49  {
50  for ( std::vector<PFCandidatePtr>::const_iterator pfCand = selectedPFCands.begin();
51  pfCand != selectedPFCands.end(); ++pfCand ) {
52  const reco::Track* track = 0;
53  if ( (*pfCand)->trackRef().isNonnull() ) track = (*pfCand)->trackRef().get();
54  else if ( (*pfCand)->gsfTrackRef().isNonnull() ) track = (*pfCand)->gsfTrackRef().get();
55  if ( !track ) continue;
56  double trackPt = 0.;
58  //double trackPt = track->pt();
59  trackPt = track->pt() - 2.*track->ptError();
60  } else if ( leadingTrkOrPFCandOption_ == kLeadPFCand ) {
61  trackPt = (*pfCand)->pt();
63  trackPt = TMath::Min(track->pt(), (double)(*pfCand)->pt());
64  } else assert(0);
65  if ( trackPt > leadTrackPt ) {
66  leadPFCand = (*pfCand);
67  leadTrackPt = trackPt;
68  }
69  }
70  }
71  }
72  if ( leadPFCand.isNull() ) {
73  if ( recoverLeadingTrk_ ) {
74  leadPFCand = chargedPFCands[0];
75  } else {
76  return reco::TrackBaseRef();
77  }
78  }
79  if ( verbosity_ >= 1 ) {
80  std::cout << "leadPFCand: Pt = " << leadPFCand->pt() << ", eta = " << leadPFCand->eta() << ", phi = " << leadPFCand->phi() << std::endl;
81  }
82 
83  if ( leadPFCand->trackRef().isNonnull() ) {
84  return reco::TrackBaseRef(leadPFCand->trackRef());
85  } else if ( leadPFCand->gsfTrackRef().isNonnull() ) {
86  return reco::TrackBaseRef(leadPFCand->gsfTrackRef());
87  }
88  return reco::TrackBaseRef();
89 }
Coll filterCandRefs(const Coll &refcoll, bool invert=false) const
Filter a ref vector of PFCandidates.
tuple trackPt
Definition: listHistos.py:120
assert(m_qm.get())
T Min(T a, T b)
Definition: MathUtil.h:39
edm::RefToBase< reco::Track > TrackBaseRef
persistent reference to a Track, using views
Definition: TrackFwd.h:32
double pt() const
track transverse momentum
Definition: TrackBase.h:608
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:750
InputIterator leadPFCand(InputIterator begin, InputIterator end)
std::vector< PFCandidatePtr > pfChargedCands(const PFJet &jet, bool sort=true)
Extract all non-neutral candidates from a PFJet.
tuple cout
Definition: gather_cfg.py:121
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
void reco::tau::RecoTauVertexAssociator::setEvent ( const edm::Event evt)

Load the vertices from the event.

Definition at line 216 of file RecoTauVertexAssociator.cc.

References edm::EventID::event(), edm::Event::getByToken(), edm::EventBase::id(), jetToVertexAssociation_, lastEvent_, qcuts_, selectedVertices_, reco::tau::RecoTauQualityCuts::setPV(), vertexSelector_, HLT_25ns14e33_v1_cff::vertices, and vxToken_.

Referenced by reco::tau::RecoTauImpactParameterSignificancePlugin::beginEvent(), reco::tau::PFRecoTauChargedHadronFromPFCandidatePlugin::beginEvent(), reco::tau::RecoTauPiZeroStripPlugin::beginEvent(), reco::tau::PFRecoTauChargedHadronFromTrackPlugin::beginEvent(), reco::tau::RecoTauPiZeroStripPlugin2::beginEvent(), reco::tau::RecoTauPiZeroStripPlugin3::beginEvent(), and reco::tau::RecoTauBuilderPlugin::beginEvent().

217 {
219  evt.getByToken(vxToken_, vertices);
220  selectedVertices_.clear();
221  selectedVertices_.reserve(vertices->size());
222  for ( size_t idxVertex = 0; idxVertex < vertices->size(); ++idxVertex ) {
223  reco::VertexRef vertex(vertices, idxVertex);
224  if ( vertexSelector_ && !(*vertexSelector_)(*vertex) ) continue;
225  selectedVertices_.push_back(vertex);
226  }
227  if ( selectedVertices_.size() > 0 ) {
229  }
230  edm::EventNumber_t currentEvent = evt.id().event();
231  if ( currentEvent != lastEvent_ || !jetToVertexAssociation_ ) {
232  if ( !jetToVertexAssociation_ ) jetToVertexAssociation_ = new std::map<const reco::PFJet*, reco::VertexRef>;
233  else jetToVertexAssociation_->clear();
234  lastEvent_ = currentEvent;
235  }
236 }
EventNumber_t event() const
Definition: EventID.h:41
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:464
unsigned long long EventNumber_t
std::vector< reco::VertexRef > selectedVertices_
void setPV(const reco::VertexRef &vtx) const
Update the primary vertex.
StringCutObjectSelector< reco::Vertex > * vertexSelector_
edm::EDGetTokenT< reco::VertexCollection > vxToken_
edm::EventID id() const
Definition: EventBase.h:60
std::map< const reco::PFJet *, reco::VertexRef > * jetToVertexAssociation_

Member Data Documentation

Algorithm reco::tau::RecoTauVertexAssociator::algo_
private

Definition at line 76 of file RecoTauVertexAssociator.h.

Referenced by associatedVertex(), and RecoTauVertexAssociator().

std::string reco::tau::RecoTauVertexAssociator::algorithm_
private

Definition at line 75 of file RecoTauVertexAssociator.h.

Referenced by associatedVertex(), and RecoTauVertexAssociator().

std::map<const reco::PFJet*, reco::VertexRef>* reco::tau::RecoTauVertexAssociator::jetToVertexAssociation_
private

Definition at line 84 of file RecoTauVertexAssociator.h.

Referenced by associatedVertex(), setEvent(), and ~RecoTauVertexAssociator().

edm::EventNumber_t reco::tau::RecoTauVertexAssociator::lastEvent_
private

Definition at line 85 of file RecoTauVertexAssociator.h.

Referenced by setEvent().

int reco::tau::RecoTauVertexAssociator::leadingTrkOrPFCandOption_
private

Definition at line 81 of file RecoTauVertexAssociator.h.

Referenced by getLeadTrack(), and RecoTauVertexAssociator().

RecoTauQualityCuts* reco::tau::RecoTauVertexAssociator::qcuts_
private
bool reco::tau::RecoTauVertexAssociator::recoverLeadingTrk_
private
std::vector<reco::VertexRef> reco::tau::RecoTauVertexAssociator::selectedVertices_
private

Definition at line 74 of file RecoTauVertexAssociator.h.

Referenced by associatedVertex(), and setEvent().

int reco::tau::RecoTauVertexAssociator::verbosity_
private
StringCutObjectSelector<reco::Vertex>* reco::tau::RecoTauVertexAssociator::vertexSelector_
private
edm::InputTag reco::tau::RecoTauVertexAssociator::vertexTag_
private

Definition at line 71 of file RecoTauVertexAssociator.h.

Referenced by associatedVertex(), and RecoTauVertexAssociator().

edm::EDGetTokenT<reco::VertexCollection> reco::tau::RecoTauVertexAssociator::vxToken_
private

Definition at line 82 of file RecoTauVertexAssociator.h.

Referenced by RecoTauVertexAssociator(), and setEvent().

bool reco::tau::RecoTauVertexAssociator::vxTrkFiltering_
private

Definition at line 72 of file RecoTauVertexAssociator.h.

Referenced by getLeadTrack(), and RecoTauVertexAssociator().