CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
IPProducer< Container, Base, Helper > Class Template Reference

#include <IPProducer.h>

Inheritance diagram for IPProducer< Container, Base, Helper >:
edm::stream::EDProducer<>

Public Types

typedef std::vector< reco::IPTagInfo< Container, Base > > Product
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
 IPProducer (const edm::ParameterSet &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~IPProducer () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

void checkEventSetup (const edm::EventSetup &iSetup)
 

Private Attributes

unsigned long long m_calibrationCacheId2D
 
unsigned long long m_calibrationCacheId3D
 
bool m_computeGhostTrack
 
bool m_computeProbabilities
 
const edm::ParameterSetm_config
 
double m_cutMaxChiSquared
 
double m_cutMaxLIP
 
double m_cutMaxTIP
 
double m_cutMinPt
 
int m_cutPixelHits
 
int m_cutTotalHits
 
bool m_directionWithGhostTrack
 
bool m_directionWithTracks
 
double m_ghostTrackPriorDeltaR
 
Helper m_helper
 
std::unique_ptr< HistogramProbabilityEstimatorm_probabilityEstimator
 
bool m_useDB
 
bool m_useTrackQuality
 
edm::EDGetTokenT< reco::VertexCollectiontoken_primaryVertex
 

Detailed Description

template<class Container, class Base, class Helper>
class IPProducer< Container, Base, Helper >

Description: <one line="" class="" summary>="">

Implementation: <Notes on="" implementation>="">

Definition at line 129 of file IPProducer.h.

Member Typedef Documentation

◆ Product

template<class Container , class Base , class Helper >
typedef std::vector<reco::IPTagInfo<Container, Base> > IPProducer< Container, Base, Helper >::Product

Definition at line 131 of file IPProducer.h.

Constructor & Destructor Documentation

◆ IPProducer()

template<class Container , class Base , class Helper >
IPProducer< Container, Base, Helper >::IPProducer ( const edm::ParameterSet iConfig)
explicit

Definition at line 187 of file IPProducer.h.

188  : m_config(iConfig), m_helper(iConfig, consumesCollector()) {
191 
192  token_primaryVertex = consumes<reco::VertexCollection>(m_config.getParameter<edm::InputTag>("primaryVertex"));
193 
194  m_computeProbabilities = m_config.getParameter<bool>("computeProbabilities");
195  m_computeGhostTrack = m_config.getParameter<bool>("computeGhostTrack");
196  m_ghostTrackPriorDeltaR = m_config.getParameter<double>("ghostTrackPriorDeltaR");
197  m_cutPixelHits = m_config.getParameter<int>("minimumNumberOfPixelHits");
198  m_cutTotalHits = m_config.getParameter<int>("minimumNumberOfHits");
199  m_cutMaxTIP = m_config.getParameter<double>("maximumTransverseImpactParameter");
200  m_cutMinPt = m_config.getParameter<double>("minimumTransverseMomentum");
201  m_cutMaxChiSquared = m_config.getParameter<double>("maximumChiSquared");
202  m_cutMaxLIP = m_config.getParameter<double>("maximumLongitudinalImpactParameter");
203  m_directionWithTracks = m_config.getParameter<bool>("jetDirectionUsingTracks");
204  m_directionWithGhostTrack = m_config.getParameter<bool>("jetDirectionUsingGhostTrack");
205  m_useTrackQuality = m_config.getParameter<bool>("useTrackQuality");
206 
208  produces<reco::TrackCollection>("ghostTracks");
209  produces<Product>();
210 }

References edm::ParameterSet::getParameter(), IPProducer< Container, Base, Helper >::m_calibrationCacheId2D, IPProducer< Container, Base, Helper >::m_calibrationCacheId3D, IPProducer< Container, Base, Helper >::m_computeGhostTrack, IPProducer< Container, Base, Helper >::m_computeProbabilities, IPProducer< Container, Base, Helper >::m_config, IPProducer< Container, Base, Helper >::m_cutMaxChiSquared, IPProducer< Container, Base, Helper >::m_cutMaxLIP, IPProducer< Container, Base, Helper >::m_cutMaxTIP, IPProducer< Container, Base, Helper >::m_cutMinPt, IPProducer< Container, Base, Helper >::m_cutPixelHits, IPProducer< Container, Base, Helper >::m_cutTotalHits, IPProducer< Container, Base, Helper >::m_directionWithGhostTrack, IPProducer< Container, Base, Helper >::m_directionWithTracks, IPProducer< Container, Base, Helper >::m_ghostTrackPriorDeltaR, IPProducer< Container, Base, Helper >::m_useTrackQuality, and IPProducer< Container, Base, Helper >::token_primaryVertex.

◆ ~IPProducer()

template<class Container , class Base , class Helper >
IPProducer< Container, Base, Helper >::~IPProducer ( )
override

Definition at line 213 of file IPProducer.h.

213 {}

Member Function Documentation

◆ checkEventSetup()

template<class Container , class Base , class Helper >
void IPProducer< Container, Base, Helper >::checkEventSetup ( const edm::EventSetup iSetup)
private

Definition at line 415 of file IPProducer.h.

415  {
418  unsigned long long cacheId2D = re2D.cacheIdentifier();
419  unsigned long long cacheId3D = re3D.cacheIdentifier();
420 
421  if (cacheId2D != m_calibrationCacheId2D || cacheId3D != m_calibrationCacheId3D) //Calibration changed
422  {
423  //iSetup.get<BTagTrackProbabilityRcd>().get(calib);
425  iSetup.get<BTagTrackProbability2DRcd>().get(calib2DHandle);
427  iSetup.get<BTagTrackProbability3DRcd>().get(calib3DHandle);
428 
429  const TrackProbabilityCalibration* ca2D = calib2DHandle.product();
430  const TrackProbabilityCalibration* ca3D = calib3DHandle.product();
431 
433  }
434  m_calibrationCacheId3D = cacheId3D;
435  m_calibrationCacheId2D = cacheId2D;
436 }

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), edm::EventSetup::get(), get, and edm::ESHandle< T >::product().

◆ fillDescriptions() [1/3]

template<class Container , class Base , class Helper >
static void IPProducer< Container, Base, Helper >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

◆ fillDescriptions() [2/3]

Definition at line 441 of file IPProducer.h.

442  {
444  desc.add<double>("maximumTransverseImpactParameter", 0.2);
445  desc.add<int>("minimumNumberOfHits", 8);
446  desc.add<double>("minimumTransverseMomentum", 1.0);
447  desc.add<edm::InputTag>("primaryVertex", edm::InputTag("offlinePrimaryVertices"));
448  desc.add<double>("maximumLongitudinalImpactParameter", 17.0);
449  desc.add<bool>("computeGhostTrack", true);
450  desc.add<double>("ghostTrackPriorDeltaR", 0.03);
451  desc.add<edm::InputTag>("jetTracks", edm::InputTag("ak4JetTracksAssociatorAtVertexPF"));
452  desc.add<bool>("jetDirectionUsingGhostTrack", false);
453  desc.add<int>("minimumNumberOfPixelHits", 2);
454  desc.add<bool>("jetDirectionUsingTracks", false);
455  desc.add<bool>("computeProbabilities", true);
456  desc.add<bool>("useTrackQuality", false);
457  desc.add<double>("maximumChiSquared", 5.0);
458  descriptions.addDefault(desc);
459 }

References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::addDefault(), and HLT_2018_cff::InputTag.

◆ fillDescriptions() [3/3]

template<>
void IPProducer< std::vector< reco::CandidatePtr >, reco::JetTagInfo, IPProducerHelpers::FromJetAndCands >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 462 of file IPProducer.h.

463  {
465  desc.add<double>("maximumTransverseImpactParameter", 0.2);
466  desc.add<int>("minimumNumberOfHits", 8);
467  desc.add<double>("minimumTransverseMomentum", 1.0);
468  desc.add<edm::InputTag>("primaryVertex", edm::InputTag("offlinePrimaryVertices"));
469  desc.add<double>("maximumLongitudinalImpactParameter", 17.0);
470  desc.add<bool>("computeGhostTrack", true);
471  desc.add<double>("maxDeltaR", 0.4);
472  desc.add<edm::InputTag>("candidates", edm::InputTag("particleFlow"));
473  desc.add<bool>("jetDirectionUsingGhostTrack", false);
474  desc.add<int>("minimumNumberOfPixelHits", 2);
475  desc.add<bool>("jetDirectionUsingTracks", false);
476  desc.add<bool>("computeProbabilities", true);
477  desc.add<bool>("useTrackQuality", false);
478  desc.add<edm::InputTag>("jets", edm::InputTag("ak4PFJetsCHS"));
479  desc.add<double>("ghostTrackPriorDeltaR", 0.03);
480  desc.add<double>("maximumChiSquared", 5.0);
481  desc.addOptional<bool>("explicitJTA", false);
482  descriptions.addDefault(desc);
483 }

References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::addDefault(), edm::ParameterSetDescription::addOptional(), and HLT_2018_cff::InputTag.

◆ produce()

template<class Container , class Base , class Helper >
void IPProducer< Container, Base, Helper >::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 220 of file IPProducer.h.

220  {
221  // Update probability estimator if event setup is changed
223  checkEventSetup(iSetup);
224 
227 
229  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder", builder);
230  // m_algo.setTransientTrackBuilder(builder.product());
231 
232  // output collections
233  auto result = std::make_unique<Product>();
234 
235  std::unique_ptr<reco::TrackCollection> ghostTracks;
236  reco::TrackRefProd ghostTrackRefProd;
237  if (m_computeGhostTrack) {
238  ghostTracks = std::make_unique<reco::TrackCollection>();
239  ghostTrackRefProd = iEvent.getRefBeforePut<reco::TrackCollection>("ghostTracks");
240  }
241 
242  // use first pv of the collection
244  const reco::Vertex* pv = &dummy;
246  if (!primaryVertex->empty()) {
247  pv = &*primaryVertex->begin();
248  // we always use the first vertex (at the moment)
250  } else { // create a dummy PV
252  e(0, 0) = 0.0015 * 0.0015;
253  e(1, 1) = 0.0015 * 0.0015;
254  e(2, 2) = 15. * 15.;
255  reco::Vertex::Point p(0, 0, 0);
256  dummy = reco::Vertex(p, e, 0, 0, 0);
257  }
258 
259  std::vector<Base> baseTagInfos = m_helper.makeBaseVector(iEvent);
260  for (typename std::vector<Base>::const_iterator it = baseTagInfos.begin(); it != baseTagInfos.end(); it++) {
261  Container tracks = m_helper.tracks(*it);
262  math::XYZVector jetMomentum = it->jet()->momentum();
263 
264  if (m_directionWithTracks) {
265  jetMomentum *= 0.5;
266  for (typename Container::const_iterator itTrack = tracks.begin(); itTrack != tracks.end(); ++itTrack)
267  if (reco::btag::toTrack(*itTrack)->numberOfValidHits() >= m_cutTotalHits) //minimal quality cuts
268  jetMomentum += (*itTrack)->momentum();
269  }
270 
272  std::vector<reco::TransientTrack> transientTracks;
273 
274  for (typename Container::const_iterator itTrack = tracks.begin(); itTrack != tracks.end(); ++itTrack) {
275  reco::TransientTrack transientTrack = builder->build(*itTrack);
276  const reco::Track& track = transientTrack.track(); //**itTrack;
277  /* cout << " pt " << track.pt() <<
278  " d0 " << fabs(track.d0()) <<
279  " #hit " << track.hitPattern().numberOfValidHits()<<
280  " ipZ " << fabs(track.dz()-pv->z())<<
281  " chi2 " << track.normalizedChi2()<<
282  " #pixel " << track.hitPattern().numberOfValidPixelHits()<< endl;
283 */
284  if (track.pt() > m_cutMinPt &&
285  track.hitPattern().numberOfValidHits() >= m_cutTotalHits && // min num tracker hits
286  track.hitPattern().numberOfValidPixelHits() >= m_cutPixelHits &&
287  track.normalizedChi2() < m_cutMaxChiSquared && std::abs(track.dxy(pv->position())) < m_cutMaxTIP &&
288  std::abs(track.dz(pv->position())) < m_cutMaxLIP) {
289  // std::cout << "selected" << std::endl;
290  selectedTracks.push_back(*itTrack);
291  transientTracks.push_back(transientTrack);
292  }
293  }
294  // std::cout <<"SIZE: " << transientTracks.size() << std::endl;
295  GlobalVector direction(jetMomentum.x(), jetMomentum.y(), jetMomentum.z());
296 
297  std::unique_ptr<reco::GhostTrack> ghostTrack;
298  reco::TrackRef ghostTrackRef;
299  if (m_computeGhostTrack) {
300  reco::GhostTrackFitter fitter;
301  GlobalPoint origin = RecoVertex::convertPos(pv->position());
303  ghostTrack.reset(
304  new reco::GhostTrack(fitter.fit(origin, error, direction, m_ghostTrackPriorDeltaR, transientTracks)));
305 
306  /*
307  if (std::sqrt(jetMomentum.Perp2()) > 30) {
308  double offset = ghostTrack->prediction().lambda(origin);
309  std::cout << "------------------ jet pt " << std::sqrt(jetMomentum.Perp2()) << std::endl;
310  const std::vector<GhostTrackState> *states = &ghostTrack->states();
311  for(std::vector<GhostTrackState>::const_iterator state = states->begin();
312  state != states->end(); ++state) {
313  double dist = state->lambda() - offset;
314  double err = state->lambdaError(ghostTrack->prediction(), error);
315  double ipSig = IPTools::signedImpactParameter3D(state->track(), direction, *pv).second.significance();
316  double axisDist = state->axisDistance(ghostTrack->prediction());
317  std::cout << state->track().impactPointState().freeState()->momentum().perp()
318  << ": " << dist << "/" << err << " [" << (dist / err) << "], ipsig = " << ipSig << ", dist = " << axisDist << ", w = " << state->weight() << std::endl;
319  }
320  }
321 */
322  ghostTrackRef = reco::TrackRef(ghostTrackRefProd, ghostTracks->size());
323  ghostTracks->push_back(*ghostTrack);
324 
326  const reco::GhostTrackPrediction& pred = ghostTrack->prediction();
327  double lambda = pred.lambda(origin);
330  0,
331  0,
332  0);
333  pv = &dummy;
334  direction = pred.direction();
335  }
336  }
337 
338  std::vector<float> prob2D, prob3D;
339  std::vector<reco::btag::TrackIPData> ipData;
340 
341  for (unsigned int ind = 0; ind < transientTracks.size(); ind++) {
342  const reco::TransientTrack& transientTrack = transientTracks[ind];
343  const reco::Track& track = transientTrack.track();
344 
345  reco::btag::TrackIPData trackIP;
346  trackIP.ip3d = IPTools::signedImpactParameter3D(transientTrack, direction, *pv).second;
347  trackIP.ip2d = IPTools::signedTransverseImpactParameter(transientTrack, direction, *pv).second;
348 
349  TrajectoryStateOnSurface closest =
350  IPTools::closestApproachToJet(transientTrack.impactPointState(), *pv, direction, transientTrack.field());
351  if (closest.isValid())
352  trackIP.closestToJetAxis = closest.globalPosition();
353 
354  // TODO: cross check if it is the same using other methods
355  trackIP.distanceToJetAxis = IPTools::jetTrackDistance(transientTrack, direction, *pv).second;
356 
357  if (ghostTrack.get()) {
358  const std::vector<reco::GhostTrackState>& states = ghostTrack->states();
359  std::vector<reco::GhostTrackState>::const_iterator pos = std::find_if(
360  states.begin(),
361  states.end(),
362  bind(std::equal_to<reco::TransientTrack>(), bind(&reco::GhostTrackState::track, _1), transientTrack));
363 
364  if (pos != states.end() && pos->isValid()) {
365  VertexDistance3D dist;
366  const reco::GhostTrackPrediction& pred = ghostTrack->prediction();
367  GlobalPoint p1 = pos->tsos().globalPosition();
368  GlobalError e1 = pos->tsos().cartesianError().position();
369  GlobalPoint p2 = pred.position(pos->lambda());
370  GlobalError e2 = pred.positionError(pos->lambda());
371  trackIP.closestToGhostTrack = p1;
372  trackIP.distanceToGhostTrack = dist.distance(VertexState(p1, e1), VertexState(p2, e2));
373  trackIP.ghostTrackWeight = pos->weight();
374  } else {
375  trackIP.distanceToGhostTrack = Measurement1D(0., -1.);
376  trackIP.ghostTrackWeight = 0.;
377  }
378  } else {
379  trackIP.distanceToGhostTrack = Measurement1D(0., -1.);
380  trackIP.ghostTrackWeight = 1.;
381  }
382 
383  ipData.push_back(trackIP);
384 
386  //probability with 3D ip
387  std::pair<bool, double> probability = m_probabilityEstimator->probability(
388  m_useTrackQuality, 0, ipData.back().ip3d.significance(), track, *(it->jet()), *pv);
389  prob3D.push_back(probability.first ? probability.second : -1.);
390 
391  //probability with 2D ip
392  probability = m_probabilityEstimator->probability(
393  m_useTrackQuality, 1, ipData.back().ip2d.significance(), track, *(it->jet()), *pv);
394  prob2D.push_back(probability.first ? probability.second : -1.);
395  }
396  }
397 
398  result->push_back(
399  typename Product::value_type(ipData, prob2D, prob3D, selectedTracks, *it, pvRef, direction, ghostTrackRef));
400  }
401 
403  iEvent.put(std::move(ghostTracks), "ghostTracks");
404  iEvent.put(std::move(result));
405 }

References funct::abs(), TransientTrackBuilder::build(), IPTools::closestApproachToJet(), reco::btag::TrackIPData::closestToGhostTrack, reco::btag::TrackIPData::closestToJetAxis, RecoVertex::convertError(), RecoVertex::convertPos(), reco::GhostTrackPrediction::direction(), VertexDistance3D::distance(), reco::btag::TrackIPData::distanceToGhostTrack, reco::btag::TrackIPData::distanceToJetAxis, MillePedeFileConverter_cfg::e, StorageManager_cfg::e1, relativeConstraints::error, reco::TransientTrack::field(), reco::GhostTrackFitter::fit(), edm::EventSetup::get(), get, reco::btag::TrackIPData::ghostTrackWeight, TrajectoryStateOnSurface::globalPosition(), iEvent, reco::TransientTrack::impactPointState(), reco::btag::TrackIPData::ip2d, reco::btag::TrackIPData::ip3d, TrajectoryStateOnSurface::isValid(), IPTools::jetTrackDistance(), reco::GhostTrackPrediction::lambda(), eostools::move(), reco::TrackBase::numberOfValidHits(), AlCaHLTBitMon_ParallelJobs::p, p1, p2, reco::GhostTrackPrediction::position(), reco::GhostTrackPrediction::positionError(), reco::GhostTrackPrediction::prediction(), BeamMonitor_cff::primaryVertex, MetAnalyzer::pv(), mps_fire::result, TrackCollections2monitor_cff::selectedTracks, IPTools::signedImpactParameter3D(), IPTools::signedTransverseImpactParameter(), reco::btag::toTrack(), reco::GhostTrackState::track(), reco::TransientTrack::track(), HLT_2018_cff::track, PDWG_EXOHSCP_cff::tracks, and HltBtagValidation_cff::Vertex.

Member Data Documentation

◆ m_calibrationCacheId2D

template<class Container , class Base , class Helper >
unsigned long long IPProducer< Container, Base, Helper >::m_calibrationCacheId2D
private

Definition at line 149 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_calibrationCacheId3D

template<class Container , class Base , class Helper >
unsigned long long IPProducer< Container, Base, Helper >::m_calibrationCacheId3D
private

Definition at line 150 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_computeGhostTrack

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_computeGhostTrack
private

Definition at line 146 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_computeProbabilities

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_computeProbabilities
private

Definition at line 145 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_config

template<class Container , class Base , class Helper >
const edm::ParameterSet& IPProducer< Container, Base, Helper >::m_config
private

Definition at line 142 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutMaxChiSquared

template<class Container , class Base , class Helper >
double IPProducer< Container, Base, Helper >::m_cutMaxChiSquared
private

Definition at line 157 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutMaxLIP

template<class Container , class Base , class Helper >
double IPProducer< Container, Base, Helper >::m_cutMaxLIP
private

Definition at line 158 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutMaxTIP

template<class Container , class Base , class Helper >
double IPProducer< Container, Base, Helper >::m_cutMaxTIP
private

Definition at line 155 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutMinPt

template<class Container , class Base , class Helper >
double IPProducer< Container, Base, Helper >::m_cutMinPt
private

Definition at line 156 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutPixelHits

template<class Container , class Base , class Helper >
int IPProducer< Container, Base, Helper >::m_cutPixelHits
private

Definition at line 153 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_cutTotalHits

template<class Container , class Base , class Helper >
int IPProducer< Container, Base, Helper >::m_cutTotalHits
private

Definition at line 154 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_directionWithGhostTrack

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_directionWithGhostTrack
private

Definition at line 160 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_directionWithTracks

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_directionWithTracks
private

Definition at line 159 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_ghostTrackPriorDeltaR

template<class Container , class Base , class Helper >
double IPProducer< Container, Base, Helper >::m_ghostTrackPriorDeltaR
private

Definition at line 147 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ m_helper

template<class Container , class Base , class Helper >
Helper IPProducer< Container, Base, Helper >::m_helper
private

Definition at line 162 of file IPProducer.h.

◆ m_probabilityEstimator

template<class Container , class Base , class Helper >
std::unique_ptr<HistogramProbabilityEstimator> IPProducer< Container, Base, Helper >::m_probabilityEstimator
private

Definition at line 148 of file IPProducer.h.

◆ m_useDB

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_useDB
private

Definition at line 151 of file IPProducer.h.

◆ m_useTrackQuality

template<class Container , class Base , class Helper >
bool IPProducer< Container, Base, Helper >::m_useTrackQuality
private

Definition at line 161 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

◆ token_primaryVertex

template<class Container , class Base , class Helper >
edm::EDGetTokenT<reco::VertexCollection> IPProducer< Container, Base, Helper >::token_primaryVertex
private

Definition at line 143 of file IPProducer.h.

Referenced by IPProducer< Container, Base, Helper >::IPProducer().

Vector3DBase
Definition: Vector3DBase.h:8
edm::RefProd< TrackCollection >
reco::btag::TrackIPData::distanceToJetAxis
Measurement1D distanceToJetAxis
Definition: IPTagInfo.h:33
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
Measurement1D
Definition: Measurement1D.h:11
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
edm::eventsetup::EventSetupRecord
Definition: EventSetupRecord.h:82
TrackProbabilityCalibration
Definition: TrackProbabilityCalibration.h:11
reco::GhostTrackPrediction::positionError
GlobalError positionError(double lambda=0.) const
Definition: GhostTrackPrediction.cc:131
IPProducer::m_cutPixelHits
int m_cutPixelHits
Definition: IPProducer.h:153
reco::btag::toTrack
const reco::Track * toTrack(const reco::TrackBaseRef &t)
Definition: IPTagInfo.h:24
reco::GhostTrackState::track
const TransientTrack & track() const
Definition: GhostTrackState.cc:56
reco::Vertex::Error
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:44
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
TrajectoryStateOnSurface::globalPosition
GlobalPoint globalPosition() const
Definition: TrajectoryStateOnSurface.h:65
VertexDistance3D::distance
Measurement1D distance(const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const override
Definition: VertexDistance3D.cc:17
pos
Definition: PixelAliasList.h:18
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
reco::btag::TrackIPData::closestToGhostTrack
GlobalPoint closestToGhostTrack
Definition: IPTagInfo.h:30
IPProducer::m_config
const edm::ParameterSet & m_config
Definition: IPProducer.h:142
IPTools::closestApproachToJet
TrajectoryStateOnSurface closestApproachToJet(const TrajectoryStateOnSurface &state, const reco::Vertex &vertex, const GlobalVector &aJetDirection, const MagneticField *field)
Definition: IPTools.cc:182
IPProducer::m_directionWithTracks
bool m_directionWithTracks
Definition: IPProducer.h:159
IPTools::signedTransverseImpactParameter
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:57
edm::Handle< reco::VertexCollection >
relativeConstraints.error
error
Definition: relativeConstraints.py:53
reco::TrackBase::numberOfValidHits
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:751
IPProducer::m_computeGhostTrack
bool m_computeGhostTrack
Definition: IPProducer.h:146
reco::JetExtendedAssociation::Container
edm::AssociationVector< reco::JetRefBaseProd, Values > Container
Definition: JetExtendedAssociation.h:29
edm::Ref
Definition: AssociativeIterator.h:58
BeamMonitor_cff.primaryVertex
primaryVertex
hltOfflineBeamSpot for HLTMON
Definition: BeamMonitor_cff.py:7
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
BTagTrackProbability3DRcd
Definition: BTagTrackProbability3DRcd.h:24
reco::GhostTrackPrediction::prediction
const Vector & prediction() const
Definition: GhostTrackPrediction.h:59
reco::btag::TrackIPData::ghostTrackWeight
float ghostTrackWeight
Definition: IPTagInfo.h:35
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
IPTools::signedImpactParameter3D
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
TransientTrackRecord
Definition: TransientTrackRecord.h:11
reco::Track
Definition: Track.h:27
edm::ESHandle
Definition: DTSurvey.h:22
p2
double p2[4]
Definition: TauolaWrapper.h:90
reco::btag::TrackIPData::closestToJetAxis
GlobalPoint closestToJetAxis
Definition: IPTagInfo.h:29
VertexDistance3D
Definition: VertexDistance3D.h:13
Point3DBase< float, GlobalTag >
reco::TrackRef
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:20
IPTools::jetTrackDistance
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:206
IPProducer::m_computeProbabilities
bool m_computeProbabilities
Definition: IPProducer.h:145
reco::GhostTrackFitter::fit
GhostTrack fit(const GlobalPoint &priorPosition, const GlobalError &priorError, const GlobalVector &direction, double coneRadius, const std::vector< TransientTrack > &tracks) const
Definition: GhostTrackFitter.cc:30
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
RecoVertex::convertError
reco::Vertex::Error convertError(const GlobalError &ge)
Definition: ConvertError.h:8
IPProducer::m_calibrationCacheId2D
unsigned long long m_calibrationCacheId2D
Definition: IPProducer.h:149
reco::GhostTrackPrediction::direction
const GlobalVector direction() const
Definition: GhostTrackPrediction.h:63
reco::GhostTrackPrediction::position
GlobalPoint position(double lambda=0.) const
Definition: GhostTrackPrediction.h:67
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
IPProducer::m_cutMaxLIP
double m_cutMaxLIP
Definition: IPProducer.h:158
reco::GhostTrack
Definition: GhostTrack.h:16
reco::TransientTrack::impactPointState
TrajectoryStateOnSurface impactPointState() const
Definition: TransientTrack.h:98
IPProducer::m_directionWithGhostTrack
bool m_directionWithGhostTrack
Definition: IPProducer.h:160
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
iEvent
int iEvent
Definition: GenABIO.cc:224
p1
double p1[4]
Definition: TauolaWrapper.h:89
GlobalErrorBase< double, ErrorMatrixTag >
HistogramProbabilityEstimator
Definition: HistogramProbabilityEstimator.h:18
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
IPProducer::m_cutMinPt
double m_cutMinPt
Definition: IPProducer.h:156
IPProducer::m_calibrationCacheId3D
unsigned long long m_calibrationCacheId3D
Definition: IPProducer.h:150
get
#define get
IPProducer::m_cutMaxChiSquared
double m_cutMaxChiSquared
Definition: IPProducer.h:157
reco::TransientTrack::field
const MagneticField * field() const
Definition: TransientTrack.h:110
reco::btag::TrackIPData::distanceToGhostTrack
Measurement1D distanceToGhostTrack
Definition: IPTagInfo.h:34
reco::GhostTrackFitter
Definition: GhostTrackFitter.h:19
IPProducer::m_cutMaxTIP
double m_cutMaxTIP
Definition: IPProducer.h:155
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::Vertex::Point
math::XYZPoint Point
point in the space
Definition: Vertex.h:40
eostools.move
def move(src, dest)
Definition: eostools.py:511
HltBtagValidation_cff.Vertex
Vertex
Definition: HltBtagValidation_cff.py:32
reco::TransientTrack
Definition: TransientTrack.h:19
reco::TransientTrack::track
const Track & track() const
Definition: TransientTrack.h:117
VertexState
Definition: VertexState.h:13
IPProducer::m_helper
Helper m_helper
Definition: IPProducer.h:162
reco::btag::TrackIPData::ip2d
Measurement1D ip2d
Definition: IPTagInfo.h:31
reco::btag::TrackIPData::ip3d
Measurement1D ip3d
Definition: IPTagInfo.h:32
IPProducer::m_cutTotalHits
int m_cutTotalHits
Definition: IPProducer.h:154
IPProducer::checkEventSetup
void checkEventSetup(const edm::EventSetup &iSetup)
Definition: IPProducer.h:415
RecoVertex::convertPos
reco::Vertex::Point convertPos(const GlobalPoint &p)
Definition: ConvertToFromReco.h:7
TransientTrackBuilder::build
reco::TransientTrack build(const reco::Track *p) const
Definition: TransientTrackBuilder.cc:20
reco::GhostTrackPrediction
Definition: GhostTrackPrediction.h:21
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
IPProducer::m_useTrackQuality
bool m_useTrackQuality
Definition: IPProducer.h:161
mps_fire.result
result
Definition: mps_fire.py:303
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::eventsetup::EventSetupRecord::cacheIdentifier
unsigned long long cacheIdentifier() const
Definition: EventSetupRecord.h:185
dummy
Definition: DummySelector.h:38
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
IPProducer::m_probabilityEstimator
std::unique_ptr< HistogramProbabilityEstimator > m_probabilityEstimator
Definition: IPProducer.h:148
BTagTrackProbability2DRcd
Definition: BTagTrackProbability2DRcd.h:24
edm::InputTag
Definition: InputTag.h:15
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
reco::Vertex
Definition: Vertex.h:35
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
IPProducer::token_primaryVertex
edm::EDGetTokenT< reco::VertexCollection > token_primaryVertex
Definition: IPProducer.h:143
TrackCollections2monitor_cff.selectedTracks
selectedTracks
Definition: TrackCollections2monitor_cff.py:32
IPProducer::m_ghostTrackPriorDeltaR
double m_ghostTrackPriorDeltaR
Definition: IPProducer.h:147
reco::btag::TrackIPData
Definition: IPTagInfo.h:28
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
reco::GhostTrackPrediction::lambda
double lambda(const GlobalPoint &point) const
Definition: GhostTrackPrediction.h:65