CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
PrimaryVertexAssignment Class Reference

#include <PrimaryVertexAssignment.h>

Public Types

enum  Quality {
  UsedInFit = 7, PrimaryDz = 6, PrimaryV0 = 5, BTrack = 4,
  Unused = 3, OtherDz = 2, NotReconstructedPrimary = 1, Unassigned = 0
}
 

Public Member Functions

std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, int iVertex, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, const reco::PFCandidate &pfcand, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, const pat::PackedCandidate &pfcand, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
std::pair< int, PrimaryVertexAssignment::QualitychargedHadronVertex (const reco::VertexCollection &vertices, const reco::RecoChargedRefCandidate &chcand, const edm::ValueMap< float > *trackTimeTag, const edm::ValueMap< float > *trackTimeResoTag, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
 
 PrimaryVertexAssignment (const edm::ParameterSet &iConfig)
 
 ~PrimaryVertexAssignment ()
 

Private Attributes

double fDzCutForChargedFromPUVtxs_
 
double fEtaMinUseDz_
 
unsigned int fNumOfPUVtxsForCharged_
 
bool fOnlyUseFirstDz_
 
double fPtMaxCharged_
 
double maxDistanceToJetAxis_
 
double maxDtSigForPrimaryAssignment_
 
double maxDxyForJetAxisAssigment_
 
double maxDxyForNotReconstructedPrimary_
 
double maxDxySigForNotReconstructedPrimary_
 
double maxDzErrorForPrimaryAssignment_
 
double maxDzForJetAxisAssigment_
 
double maxDzForPrimaryAssignment_
 
double maxDzSigForPrimaryAssignment_
 
double maxJetDeltaR_
 
double minJetPt_
 
bool preferHighRanked_
 
bool useTiming_
 
bool useVertexFit_
 

Detailed Description

Definition at line 16 of file PrimaryVertexAssignment.h.

Member Enumeration Documentation

◆ Quality

Constructor & Destructor Documentation

◆ PrimaryVertexAssignment()

PrimaryVertexAssignment::PrimaryVertexAssignment ( const edm::ParameterSet iConfig)
inline

Definition at line 29 of file PrimaryVertexAssignment.h.

30  : maxDzSigForPrimaryAssignment_(iConfig.getParameter<double>("maxDzSigForPrimaryAssignment")),
31  maxDzForPrimaryAssignment_(iConfig.getParameter<double>("maxDzForPrimaryAssignment")),
32  maxDzErrorForPrimaryAssignment_(iConfig.getParameter<double>("maxDzErrorForPrimaryAssignment")),
33  maxDtSigForPrimaryAssignment_(iConfig.getParameter<double>("maxDtSigForPrimaryAssignment")),
34  maxJetDeltaR_(iConfig.getParameter<double>("maxJetDeltaR")),
35  minJetPt_(iConfig.getParameter<double>("minJetPt")),
36  maxDistanceToJetAxis_(iConfig.getParameter<double>("maxDistanceToJetAxis")),
37  maxDzForJetAxisAssigment_(iConfig.getParameter<double>("maxDzForJetAxisAssigment")),
38  maxDxyForJetAxisAssigment_(iConfig.getParameter<double>("maxDxyForJetAxisAssigment")),
39  maxDxySigForNotReconstructedPrimary_(iConfig.getParameter<double>("maxDxySigForNotReconstructedPrimary")),
40  maxDxyForNotReconstructedPrimary_(iConfig.getParameter<double>("maxDxyForNotReconstructedPrimary")),
41  useTiming_(iConfig.getParameter<bool>("useTiming")),
42  useVertexFit_(iConfig.getParameter<bool>("useVertexFit")),
43  preferHighRanked_(iConfig.getParameter<bool>("preferHighRanked")),
44  fNumOfPUVtxsForCharged_(iConfig.getParameter<unsigned int>("NumOfPUVtxsForCharged")),
45  fDzCutForChargedFromPUVtxs_(iConfig.getParameter<double>("DzCutForChargedFromPUVtxs")),
46  fPtMaxCharged_(iConfig.getParameter<double>("PtMaxCharged")),
47  fEtaMinUseDz_(iConfig.getParameter<double>("EtaMinUseDz")),
48  fOnlyUseFirstDz_(iConfig.getParameter<bool>("OnlyUseFirstDz")) {}
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

◆ ~PrimaryVertexAssignment()

PrimaryVertexAssignment::~PrimaryVertexAssignment ( )
inline

Definition at line 50 of file PrimaryVertexAssignment.h.

50 {}

Member Function Documentation

◆ chargedHadronVertex() [1/6]

std::pair< int, PrimaryVertexAssignment::Quality > PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
const reco::TrackRef trackRef,
const reco::Track track,
float  trackTime,
float  trackTimeResolution,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const

Definition at line 9 of file PrimaryVertexAssignment.cc.

References PDWG_EXODelayedJetMET_cff::jets, hcalRecHitTable_cff::time, HLT_2023v12_cff::track, AlignmentTracksFromVertexSelector_cfi::vertices, L1BJetProducer_cff::vtx, and w().

Referenced by chargedHadronVertex(), and PrimaryVertexSorter< ParticlesCollection >::runAlgo().

16  {
17  typedef reco::VertexCollection::const_iterator IV;
19 
20  int iVertex = -1;
21  size_t index = 0;
22  float bestweight = 0;
23  for (auto const& vtx : vertices) {
24  float w = vtx.trackWeight(trackRef);
25  if (w > bestweight) {
26  bestweight = w;
27  iVertex = index;
28  }
29  index++;
30  }
31  return chargedHadronVertex(vertices, iVertex, track, time, timeReso, jets, builder);
32 }
T w() const
std::vector< LinkConnSpec >::const_iterator IT
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38

◆ chargedHadronVertex() [2/6]

std::pair< int, PrimaryVertexAssignment::Quality > PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
int  iVertex,
const reco::Track track,
float  trackTime,
float  trackTimeResolution,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const

Definition at line 34 of file PrimaryVertexAssignment.cc.

References funct::abs(), BTrack, TransientTrackBuilder::build(), reco::deltaR2(), HLTMuonOfflineAnalyzer_cfi::deltaR2, HLT_2023v12_cff::distance, dt, PVValHelper::dz, run3scouting_cff::dzError, MillePedeFileConverter_cfg::e, fDzCutForChargedFromPUVtxs_, fEtaMinUseDz_, fNumOfPUVtxsForCharged_, fOnlyUseFirstDz_, fPtMaxCharged_, createfilelist::int, edm::isNotFinite(), gpuVertexFinder::iv, boostedTaus_cff::jetIdx, PDWG_EXODelayedJetMET_cff::jets, IPTools::jetTrackDistance(), SiStripPI::max, maxDistanceToJetAxis_, maxDtSigForPrimaryAssignment_, maxDxyForJetAxisAssigment_, maxDxyForNotReconstructedPrimary_, maxDxySigForNotReconstructedPrimary_, maxDzErrorForPrimaryAssignment_, maxDzForJetAxisAssigment_, maxDzForPrimaryAssignment_, maxDzSigForPrimaryAssignment_, maxJetDeltaR_, minJetPt_, NotReconstructedPrimary, or, OtherDz, preferHighRanked_, PrimaryDz, mathSSE::sqrt(), submitPVValidationJobs::t, hcalRecHitTable_cff::time, HLT_2023v12_cff::track, Unassigned, UsedInFit, useTiming_, useVertexFit_, and AlignmentTracksFromVertexSelector_cfi::vertices.

41  {
42  typedef reco::VertexCollection::const_iterator IV;
44 
45  bool useTime = useTiming_;
46  if (edm::isNotFinite(time) || timeReso < 1e-6) {
47  useTime = false;
48  time = 0.;
49  timeReso = -1.;
50  }
51 
52  if (preferHighRanked_) {
53  for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
54  int ivtx = iv - vertices.begin();
55  if (useVertexFit_ && (iVertex == ivtx))
57 
58  double dz = std::abs(track->dz(iv->position()));
59  double dt = std::abs(time - iv->t());
60 
61  bool useTimeVtx = useTime && iv->tError() > 0.;
62 
63  if ((dz < maxDzForPrimaryAssignment_ or dz / track->dzError() < maxDzSigForPrimaryAssignment_) and
64  (!useTimeVtx or dt / timeReso < maxDtSigForPrimaryAssignment_)) {
66  }
67  }
68  }
69 
70  double firstVertexDz = std::numeric_limits<double>::max();
71  if (!vertices.empty())
72  firstVertexDz = std::abs(track->dz(vertices[0].position()));
73  // recover cases where the primary vertex is split
74  if (useVertexFit_ && (iVertex > 0) && (iVertex <= int(fNumOfPUVtxsForCharged_)) &&
75  firstVertexDz < fDzCutForChargedFromPUVtxs_)
77 
78  if (useVertexFit_ && (iVertex >= 0))
79  return {iVertex, PrimaryVertexAssignment::UsedInFit};
80 
81  double distmin = std::numeric_limits<double>::max();
82  double dzmin = std::numeric_limits<double>::max();
83  double dtmin = std::numeric_limits<double>::max();
84  int vtxIdMinSignif = -1;
85  for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
86  double dz = std::abs(track->dz(iv->position()));
87  double dt = std::abs(time - iv->t());
88 
89  double dzsig = dz / track->dzError();
90  double dist = dzsig * dzsig;
91 
92  bool useTimeVtx = useTime && iv->tError() > 0.;
93  if (useTime && !useTimeVtx) {
94  dt = timeReso;
95  }
96 
97  if (useTime) {
98  double dtsig = dt / timeReso;
99 
100  dist += dtsig * dtsig;
101  }
102  if (dist < distmin) {
103  distmin = dist;
104  dzmin = dz;
105  dtmin = dt;
106  vtxIdMinSignif = iv - vertices.begin();
107  }
108  }
109 
110  // protect high pT particles from association to pileup vertices and assign them to the first vertex
111  if ((fPtMaxCharged_ > 0) && (vtxIdMinSignif >= 0) && (track->pt() > fPtMaxCharged_)) {
112  iVertex = 0;
113  } else {
114  // first use "closest in Z" with tight cuts (targetting primary particles)
115  const float add_cov = vtxIdMinSignif >= 0 ? vertices[vtxIdMinSignif].covariance(2, 2) : 0.f;
116  const float dzE = sqrt(track->dzError() * track->dzError() + add_cov);
117  if (!fOnlyUseFirstDz_) {
118  if (vtxIdMinSignif >= 0 and
119  (dzmin < maxDzForPrimaryAssignment_ and dzmin / dzE < maxDzSigForPrimaryAssignment_ and
120  track->dzError() < maxDzErrorForPrimaryAssignment_) and
121  (!useTime or dtmin / timeReso < maxDtSigForPrimaryAssignment_))
122  iVertex = vtxIdMinSignif;
123  } else {
124  // consider only distances to first vertex for association (originally used in PUPPI)
125  if ((vtxIdMinSignif >= 0) && (std::abs(track->eta()) > fEtaMinUseDz_) &&
126  ((firstVertexDz < maxDzForPrimaryAssignment_ && firstVertexDz / dzE < maxDzSigForPrimaryAssignment_ &&
127  track->dzError() < maxDzErrorForPrimaryAssignment_) &&
128  (!useTime || std::abs(time - vertices[0].t()) / timeReso < maxDtSigForPrimaryAssignment_)))
129  iVertex = 0;
130  }
131  }
132 
133  if (iVertex >= 0)
134  return {iVertex, PrimaryVertexAssignment::PrimaryDz};
135 
136  // if track not assigned yet, it could be a b-decay secondary , use jet axis dist criterion
137  // first find the closest jet within maxJetDeltaR_
138  int jetIdx = -1;
139  double minDeltaR2 = maxJetDeltaR_ * maxJetDeltaR_;
140  for (edm::View<reco::Candidate>::const_iterator ij = jets.begin(); ij != jets.end(); ++ij) {
141  if (ij->pt() < minJetPt_)
142  continue; // skip jets below the jet Pt threshold
143 
144  double deltaR2 = reco::deltaR2(*ij, *track);
145  if (deltaR2 < minDeltaR2 and track->dzError() < maxDzErrorForPrimaryAssignment_) {
146  minDeltaR2 = deltaR2;
147  jetIdx = std::distance(jets.begin(), ij);
148  }
149  }
150  // if jet found
151  if (jetIdx != -1) {
152  reco::TransientTrack transientTrack = builder.build(*track);
153  GlobalVector direction(jets.at(jetIdx).px(), jets.at(jetIdx).py(), jets.at(jetIdx).pz());
154  // find the vertex with the smallest distanceToJetAxis that is still within maxDistaneToJetAxis_
155  int vtxIdx = -1;
156  double minDistanceToJetAxis = maxDistanceToJetAxis_;
157  for (IV iv = vertices.begin(); iv != vertices.end(); ++iv) {
158  // only check for vertices that are close enough in Z and for tracks that have not too high dXY
159  if (std::abs(track->dz(iv->position())) > maxDzForJetAxisAssigment_ ||
160  std::abs(track->dxy(iv->position())) > maxDxyForJetAxisAssigment_)
161  continue;
162 
163  double distanceToJetAxis = IPTools::jetTrackDistance(transientTrack, direction, *iv).second.value();
164  if (distanceToJetAxis < minDistanceToJetAxis) {
165  minDistanceToJetAxis = distanceToJetAxis;
166  vtxIdx = std::distance(vertices.begin(), iv);
167  }
168  }
169  if (vtxIdx >= 0) {
170  iVertex = vtxIdx;
171  }
172  }
173  if (iVertex >= 0)
174  return {iVertex, PrimaryVertexAssignment::BTrack};
175 
176  // if the track is not compatible with other PVs but is compatible with the BeamSpot, we may simply have not reco'ed the PV!
177  // we still point it to the closest in Z, but flag it as possible orphan-primary
178  if (!vertices.empty() && std::abs(track->dxy(vertices[0].position())) < maxDxyForNotReconstructedPrimary_ &&
179  std::abs(track->dxy(vertices[0].position()) / track->dxyError()) < maxDxySigForNotReconstructedPrimary_)
180  return {vtxIdMinSignif, PrimaryVertexAssignment::NotReconstructedPrimary};
181 
182  //FIXME: here we could better handle V0s and NucInt
183 
184  // all other tracks could be non-B secondaries and we just attach them with closest Z
185  if (vtxIdMinSignif >= 0)
186  return {vtxIdMinSignif, PrimaryVertexAssignment::OtherDz};
187  //If for some reason even the dz failed (when?) we consider the track not assigned
189 }
float dt
Definition: AMPTWrapper.h:136
int32_t *__restrict__ iv
constexpr bool isNotFinite(T x)
Definition: isFinite.h:9
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:206
reco::TransientTrack build(const reco::Track *p) const
T sqrt(T t)
Definition: SSEVec.h:19
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< LinkConnSpec >::const_iterator IT
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:88
std::vector< TrackBaseRef >::const_iterator trackRef_iterator
The iteratator for the vector<TrackRef>
Definition: Vertex.h:38

◆ chargedHadronVertex() [3/6]

std::pair<int, PrimaryVertexAssignment::Quality> PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
const reco::TrackRef trackRef,
float  trackTime,
float  trackTimeResolution,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const
inline

Definition at line 70 of file PrimaryVertexAssignment.h.

References chargedHadronVertex(), PDWG_EXODelayedJetMET_cff::jets, and AlignmentTracksFromVertexSelector_cfi::vertices.

76  {
77  return chargedHadronVertex(vertices, trackRef, &(*trackRef), trackTime, trackTimeResolution, jets, builder);
78  }
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const

◆ chargedHadronVertex() [4/6]

std::pair<int, PrimaryVertexAssignment::Quality> PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
const reco::PFCandidate pfcand,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const
inline

Definition at line 80 of file PrimaryVertexAssignment.h.

References chargedHadronVertex(), PDWG_EXODelayedJetMET_cff::jets, pfDeepBoostedJetPreprocessParams_cfi::pfcand, hcalRecHitTable_cff::time, muonME0Digis_cfi::timeResolution, Unassigned, useTiming_, and AlignmentTracksFromVertexSelector_cfi::vertices.

83  {
84  float time = 0, timeResolution = -1;
85  if (useTiming_ && pfcand.isTimeValid()) {
86  time = pfcand.time();
87  timeResolution = pfcand.timeError();
88  }
89  if (pfcand.gsfTrackRef().isNull()) {
90  if (pfcand.trackRef().isNull())
92  else
93  return chargedHadronVertex(vertices, pfcand.trackRef(), time, timeResolution, jets, builder);
94  }
95  return chargedHadronVertex(
96  vertices, reco::TrackRef(), &(*pfcand.gsfTrackRef()), time, timeResolution, jets, builder);
97  }
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const

◆ chargedHadronVertex() [5/6]

std::pair<int, PrimaryVertexAssignment::Quality> PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
const pat::PackedCandidate pfcand,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const
inline

Definition at line 99 of file PrimaryVertexAssignment.h.

References chargedHadronVertex(), PDWG_EXODelayedJetMET_cff::jets, pfDeepBoostedJetPreprocessParams_cfi::pfcand, hcalRecHitTable_cff::time, muonME0Digis_cfi::timeResolution, Unassigned, pat::PackedCandidate::UsedInFitLoose, useTiming_, useVertexFit_, and AlignmentTracksFromVertexSelector_cfi::vertices.

102  {
103  float time = 0, timeResolution = -1;
104  if (useTiming_ && pfcand.timeError() > 0) {
105  time = pfcand.time();
106  timeResolution = pfcand.timeError();
107  }
108  if (!pfcand.hasTrackDetails())
110  else
111  return chargedHadronVertex(
112  vertices,
113  (useVertexFit_ && (pfcand.pvAssociationQuality() >= pat::PackedCandidate::UsedInFitLoose))
114  ? pfcand.vertexRef().key()
115  : -1,
116  &pfcand.pseudoTrack(),
117  time,
119  jets,
120  builder);
121  }
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const

◆ chargedHadronVertex() [6/6]

std::pair<int, PrimaryVertexAssignment::Quality> PrimaryVertexAssignment::chargedHadronVertex ( const reco::VertexCollection vertices,
const reco::RecoChargedRefCandidate chcand,
const edm::ValueMap< float > *  trackTimeTag,
const edm::ValueMap< float > *  trackTimeResoTag,
const edm::View< reco::Candidate > &  jets,
const TransientTrackBuilder builder 
) const
inline

Definition at line 123 of file PrimaryVertexAssignment.h.

References chargedHadronVertex(), edm::Ref< C, T, F >::isNull(), PDWG_EXODelayedJetMET_cff::jets, hcalRecHitTable_cff::time, muonME0Digis_cfi::timeResolution, reco::RecoChargedRefCandidate::track(), Unassigned, useTiming_, and AlignmentTracksFromVertexSelector_cfi::vertices.

128  {
129  float time = 0, timeResolution = -1;
130  if (useTiming_) {
131  time = (*trackTimeTag)[chcand.track()];
132  timeResolution = (*trackTimeResoTag)[chcand.track()];
133  }
134  if (chcand.track().isNull())
136  return chargedHadronVertex(vertices, chcand.track(), time, timeResolution, jets, builder);
137  }
bool isNull() const
Checks for null.
Definition: Ref.h:235
std::pair< int, PrimaryVertexAssignment::Quality > chargedHadronVertex(const reco::VertexCollection &vertices, const reco::TrackRef &trackRef, const reco::Track *track, float trackTime, float trackTimeResolution, const edm::View< reco::Candidate > &jets, const TransientTrackBuilder &builder) const

Member Data Documentation

◆ fDzCutForChargedFromPUVtxs_

double PrimaryVertexAssignment::fDzCutForChargedFromPUVtxs_
private

Definition at line 155 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ fEtaMinUseDz_

double PrimaryVertexAssignment::fEtaMinUseDz_
private

Definition at line 157 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ fNumOfPUVtxsForCharged_

unsigned int PrimaryVertexAssignment::fNumOfPUVtxsForCharged_
private

Definition at line 154 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ fOnlyUseFirstDz_

bool PrimaryVertexAssignment::fOnlyUseFirstDz_
private

Definition at line 158 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ fPtMaxCharged_

double PrimaryVertexAssignment::fPtMaxCharged_
private

Definition at line 156 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDistanceToJetAxis_

double PrimaryVertexAssignment::maxDistanceToJetAxis_
private

Definition at line 146 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDtSigForPrimaryAssignment_

double PrimaryVertexAssignment::maxDtSigForPrimaryAssignment_
private

Definition at line 143 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDxyForJetAxisAssigment_

double PrimaryVertexAssignment::maxDxyForJetAxisAssigment_
private

Definition at line 148 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDxyForNotReconstructedPrimary_

double PrimaryVertexAssignment::maxDxyForNotReconstructedPrimary_
private

Definition at line 150 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDxySigForNotReconstructedPrimary_

double PrimaryVertexAssignment::maxDxySigForNotReconstructedPrimary_
private

Definition at line 149 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDzErrorForPrimaryAssignment_

double PrimaryVertexAssignment::maxDzErrorForPrimaryAssignment_
private

Definition at line 142 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDzForJetAxisAssigment_

double PrimaryVertexAssignment::maxDzForJetAxisAssigment_
private

Definition at line 147 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDzForPrimaryAssignment_

double PrimaryVertexAssignment::maxDzForPrimaryAssignment_
private

Definition at line 141 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxDzSigForPrimaryAssignment_

double PrimaryVertexAssignment::maxDzSigForPrimaryAssignment_
private

Definition at line 140 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ maxJetDeltaR_

double PrimaryVertexAssignment::maxJetDeltaR_
private

Definition at line 144 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ minJetPt_

double PrimaryVertexAssignment::minJetPt_
private

Definition at line 145 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ preferHighRanked_

bool PrimaryVertexAssignment::preferHighRanked_
private

Definition at line 153 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ useTiming_

bool PrimaryVertexAssignment::useTiming_
private

Definition at line 151 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().

◆ useVertexFit_

bool PrimaryVertexAssignment::useVertexFit_
private

Definition at line 152 of file PrimaryVertexAssignment.h.

Referenced by chargedHadronVertex().