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 hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () 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::ESGetToken< TrackProbabilityCalibration, BTagTrackProbability2DRcdtoken_calib2D
 
edm::ESGetToken< TrackProbabilityCalibration, BTagTrackProbability3DRcdtoken_calib3D
 
edm::EDGetTokenT< reco::VertexCollectiontoken_primaryVertex
 
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecordtoken_trackBuilder
 

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 130 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 132 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 191 of file IPProducer.h.

192  : m_config(iConfig), m_helper(iConfig, consumesCollector()) {
195 
196  token_primaryVertex = consumes<reco::VertexCollection>(m_config.getParameter<edm::InputTag>("primaryVertex"));
198  esConsumes<TransientTrackBuilder, TransientTrackRecord>(edm::ESInputTag("", "TransientTrackBuilder"));
199  token_calib2D = esConsumes<TrackProbabilityCalibration, BTagTrackProbability2DRcd>();
200  token_calib3D = esConsumes<TrackProbabilityCalibration, BTagTrackProbability3DRcd>();
201 
202  m_computeProbabilities = m_config.getParameter<bool>("computeProbabilities");
203  m_computeGhostTrack = m_config.getParameter<bool>("computeGhostTrack");
204  m_ghostTrackPriorDeltaR = m_config.getParameter<double>("ghostTrackPriorDeltaR");
205  m_cutPixelHits = m_config.getParameter<int>("minimumNumberOfPixelHits");
206  m_cutTotalHits = m_config.getParameter<int>("minimumNumberOfHits");
207  m_cutMaxTIP = m_config.getParameter<double>("maximumTransverseImpactParameter");
208  m_cutMinPt = m_config.getParameter<double>("minimumTransverseMomentum");
209  m_cutMaxChiSquared = m_config.getParameter<double>("maximumChiSquared");
210  m_cutMaxLIP = m_config.getParameter<double>("maximumLongitudinalImpactParameter");
211  m_directionWithTracks = m_config.getParameter<bool>("jetDirectionUsingTracks");
212  m_directionWithGhostTrack = m_config.getParameter<bool>("jetDirectionUsingGhostTrack");
213  m_useTrackQuality = m_config.getParameter<bool>("useTrackQuality");
214 
216  produces<reco::TrackCollection>("ghostTracks");
217  produces<Product>();
218 }

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, IPProducer< Container, Base, Helper >::token_calib2D, IPProducer< Container, Base, Helper >::token_calib3D, IPProducer< Container, Base, Helper >::token_primaryVertex, and IPProducer< Container, Base, Helper >::token_trackBuilder.

◆ ~IPProducer()

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

Definition at line 221 of file IPProducer.h.

221 {}

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 420 of file IPProducer.h.

420  {
423  unsigned long long cacheId2D = re2D.cacheIdentifier();
424  unsigned long long cacheId3D = re3D.cacheIdentifier();
425 
426  if (cacheId2D != m_calibrationCacheId2D || cacheId3D != m_calibrationCacheId3D) //Calibration changed
427  {
428  //iSetup.get<BTagTrackProbabilityRcd>().get(calib);
431 
432  const TrackProbabilityCalibration* ca2D = calib2DHandle.product();
433  const TrackProbabilityCalibration* ca3D = calib3DHandle.product();
434 
436  }
437  m_calibrationCacheId3D = cacheId3D;
438  m_calibrationCacheId2D = cacheId2D;
439 }

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), edm::EventSetup::get(), edm::EventSetup::getHandle(), 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 444 of file IPProducer.h.

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

References edm::ConfigurationDescriptions::addDefault(), submitPVResolutionJobs::desc, and HLT_FULL_cff::InputTag.

◆ fillDescriptions() [3/3]

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

Definition at line 465 of file IPProducer.h.

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

References edm::ConfigurationDescriptions::addDefault(), submitPVResolutionJobs::desc, and HLT_FULL_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 228 of file IPProducer.h.

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

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::getHandle(), 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::TransientTrack::track(), HLT_FULL_cff::track, 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 153 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 154 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 150 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 149 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 143 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 161 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 162 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 159 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 160 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 157 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 158 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 164 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 163 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 151 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 166 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 152 of file IPProducer.h.

◆ m_useDB

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

Definition at line 155 of file IPProducer.h.

◆ m_useTrackQuality

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

Definition at line 165 of file IPProducer.h.

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

◆ token_calib2D

template<class Container , class Base , class Helper >
edm::ESGetToken<TrackProbabilityCalibration, BTagTrackProbability2DRcd> IPProducer< Container, Base, Helper >::token_calib2D
private

Definition at line 146 of file IPProducer.h.

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

◆ token_calib3D

template<class Container , class Base , class Helper >
edm::ESGetToken<TrackProbabilityCalibration, BTagTrackProbability3DRcd> IPProducer< Container, Base, Helper >::token_calib3D
private

Definition at line 147 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 144 of file IPProducer.h.

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

◆ token_trackBuilder

template<class Container , class Base , class Helper >
edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> IPProducer< Container, Base, Helper >::token_trackBuilder
private

Definition at line 145 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
Measurement1D
Definition: Measurement1D.h:11
edm::ESInputTag
Definition: ESInputTag.h:87
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
edm::eventsetup::EventSetupRecord
Definition: EventSetupRecord.h:83
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:157
reco::btag::toTrack
const reco::Track * toTrack(const reco::TrackBaseRef &t)
Definition: IPTagInfo.h:24
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
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
IPProducer::token_trackBuilder
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > token_trackBuilder
Definition: IPProducer.h:145
reco::btag::TrackIPData::closestToGhostTrack
GlobalPoint closestToGhostTrack
Definition: IPTagInfo.h:30
IPProducer::m_config
const edm::ParameterSet & m_config
Definition: IPProducer.h:143
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:163
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:798
IPProducer::m_computeGhostTrack
bool m_computeGhostTrack
Definition: IPProducer.h:150
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:87
IPTools::signedImpactParameter3D
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
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:149
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
RecoVertex::convertError
reco::Vertex::Error convertError(const GlobalError &ge)
Definition: ConvertError.h:8
IPProducer::m_calibrationCacheId2D
unsigned long long m_calibrationCacheId2D
Definition: IPProducer.h:153
reco::GhostTrackPrediction::direction
const GlobalVector direction() const
Definition: GhostTrackPrediction.h:63
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
reco::GhostTrackPrediction::position
GlobalPoint position(double lambda=0.) const
Definition: GhostTrackPrediction.h:67
IPProducer::token_calib2D
edm::ESGetToken< TrackProbabilityCalibration, BTagTrackProbability2DRcd > token_calib2D
Definition: IPProducer.h:146
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:162
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:164
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
iEvent
int iEvent
Definition: GenABIO.cc:224
IPProducer::token_calib3D
edm::ESGetToken< TrackProbabilityCalibration, BTagTrackProbability3DRcd > token_calib3D
Definition: IPProducer.h:147
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
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:160
IPProducer::m_calibrationCacheId3D
unsigned long long m_calibrationCacheId3D
Definition: IPProducer.h:154
IPProducer::m_cutMaxChiSquared
double m_cutMaxChiSquared
Definition: IPProducer.h:161
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:159
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
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:166
reco::btag::TrackIPData::ip2d
Measurement1D ip2d
Definition: IPTagInfo.h:31
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
reco::btag::TrackIPData::ip3d
Measurement1D ip3d
Definition: IPTagInfo.h:32
IPProducer::m_cutTotalHits
int m_cutTotalHits
Definition: IPProducer.h:158
IPProducer::checkEventSetup
void checkEventSetup(const edm::EventSetup &iSetup)
Definition: IPProducer.h:420
RecoVertex::convertPos
reco::Vertex::Point convertPos(const GlobalPoint &p)
Definition: ConvertToFromReco.h:7
funct::arg
A arg
Definition: Factorize.h:31
TransientTrackBuilder::build
reco::TransientTrack build(const reco::Track *p) const
Definition: TransientTrackBuilder.cc:20
reco::GhostTrackPrediction
Definition: GhostTrackPrediction.h:21
IPProducer::m_useTrackQuality
bool m_useTrackQuality
Definition: IPProducer.h:165
mps_fire.result
result
Definition: mps_fire.py:311
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:187
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:152
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:144
TrackCollections2monitor_cff.selectedTracks
selectedTracks
Definition: TrackCollections2monitor_cff.py:32
IPProducer::m_ghostTrackPriorDeltaR
double m_ghostTrackPriorDeltaR
Definition: IPProducer.h:151
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