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 Member Functions | Private Attributes
IPProducer< Container, Base, Helper > Class Template Reference

#include <IPProducer.h>

Inheritance diagram for IPProducer< Container, Base, Helper >:
edm::stream::EDProducer<> edm::stream::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

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, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDProducerBase
typedef EDProducerAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 

Public Member Functions

 IPProducer (const edm::ParameterSet &)
 
virtual void produce (edm::Event &, const edm::EventSetup &)
 
 ~IPProducer ()
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
- Public Member Functions inherited from edm::stream::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::auto_ptr
< HistogramProbabilityEstimator
m_probabilityEstimator
 
bool m_useDB
 
bool m_useTrackQuality
 
edm::EDGetTokenT
< reco::VertexCollection
token_primaryVertex
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::stream::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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

Member Typedef Documentation

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

Definition at line 125 of file IPProducer.h.

Constructor & Destructor Documentation

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

Definition at line 183 of file IPProducer.h.

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.

183  :
184  m_config(iConfig),m_helper(iConfig,consumesCollector())
185 {
188 
189  token_primaryVertex = consumes<reco::VertexCollection>(m_config.getParameter<edm::InputTag>("primaryVertex"));
190 
191  m_computeProbabilities = m_config.getParameter<bool>("computeProbabilities");
192  m_computeGhostTrack = m_config.getParameter<bool>("computeGhostTrack");
193  m_ghostTrackPriorDeltaR = m_config.getParameter<double>("ghostTrackPriorDeltaR");
194  m_cutPixelHits = m_config.getParameter<int>("minimumNumberOfPixelHits");
195  m_cutTotalHits = m_config.getParameter<int>("minimumNumberOfHits");
196  m_cutMaxTIP = m_config.getParameter<double>("maximumTransverseImpactParameter");
197  m_cutMinPt = m_config.getParameter<double>("minimumTransverseMomentum");
198  m_cutMaxChiSquared = m_config.getParameter<double>("maximumChiSquared");
199  m_cutMaxLIP = m_config.getParameter<double>("maximumLongitudinalImpactParameter");
200  m_directionWithTracks = m_config.getParameter<bool>("jetDirectionUsingTracks");
201  m_directionWithGhostTrack = m_config.getParameter<bool>("jetDirectionUsingGhostTrack");
202  m_useTrackQuality = m_config.getParameter<bool>("useTrackQuality");
203 
204  if (m_computeGhostTrack)
205  produces<reco::TrackCollection>("ghostTracks");
206  produces<Product>();
207 }
T getParameter(std::string const &) const
double m_cutMaxChiSquared
Definition: IPProducer.h:150
bool m_directionWithGhostTrack
Definition: IPProducer.h:153
unsigned long long m_calibrationCacheId3D
Definition: IPProducer.h:143
double m_cutMaxTIP
Definition: IPProducer.h:148
unsigned long long m_calibrationCacheId2D
Definition: IPProducer.h:142
double m_cutMinPt
Definition: IPProducer.h:149
bool m_useTrackQuality
Definition: IPProducer.h:154
int m_cutTotalHits
Definition: IPProducer.h:147
double m_ghostTrackPriorDeltaR
Definition: IPProducer.h:140
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
int m_cutPixelHits
Definition: IPProducer.h:146
Helper m_helper
Definition: IPProducer.h:155
edm::EDGetTokenT< reco::VertexCollection > token_primaryVertex
Definition: IPProducer.h:136
bool m_directionWithTracks
Definition: IPProducer.h:152
const edm::ParameterSet & m_config
Definition: IPProducer.h:135
bool m_computeProbabilities
Definition: IPProducer.h:138
bool m_computeGhostTrack
Definition: IPProducer.h:139
double m_cutMaxLIP
Definition: IPProducer.h:151
template<class Container , class Base , class Helper >
IPProducer< Container, Base, Helper >::~IPProducer ( )

Definition at line 209 of file IPProducer.h.

210 {
211 }

Member Function Documentation

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

Definition at line 419 of file IPProducer.h.

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

420  {
421  using namespace edm;
422  using namespace edm::eventsetup;
423 
424  const EventSetupRecord & re2D= iSetup.get<BTagTrackProbability2DRcd>();
425  const EventSetupRecord & re3D= iSetup.get<BTagTrackProbability3DRcd>();
426  unsigned long long cacheId2D= re2D.cacheIdentifier();
427  unsigned long long cacheId3D= re3D.cacheIdentifier();
428 
429  if(cacheId2D!=m_calibrationCacheId2D || cacheId3D!=m_calibrationCacheId3D ) //Calibration changed
430  {
431  //iSetup.get<BTagTrackProbabilityRcd>().get(calib);
433  iSetup.get<BTagTrackProbability2DRcd>().get(calib2DHandle);
435  iSetup.get<BTagTrackProbability3DRcd>().get(calib3DHandle);
436 
437  const TrackProbabilityCalibration * ca2D= calib2DHandle.product();
438  const TrackProbabilityCalibration * ca3D= calib3DHandle.product();
439 
441 
442  }
443  m_calibrationCacheId3D=cacheId3D;
444  m_calibrationCacheId2D=cacheId2D;
445 }
unsigned long long cacheIdentifier() const
unsigned long long m_calibrationCacheId3D
Definition: IPProducer.h:143
unsigned long long m_calibrationCacheId2D
Definition: IPProducer.h:142
std::auto_ptr< HistogramProbabilityEstimator > m_probabilityEstimator
Definition: IPProducer.h:141
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:86
template<class Container , class Base , class Helper >
void IPProducer< Container, Base, Helper >::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::stream::EDProducerBase.

Definition at line 218 of file IPProducer.h.

References funct::abs(), 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, reco::TrackBase::dxy(), reco::TrackBase::dz(), alignCSCRings::e, relativeConstraints::error, reco::Vertex::error(), reco::TransientTrack::field(), reco::GhostTrackFitter::fit(), edm::EventSetup::get(), edm::Event::getByToken(), edm::Event::getRefBeforePut(), ghostTrackES_cfi::ghostTrack, reco::btag::TrackIPData::ghostTrackWeight, TrajectoryStateOnSurface::globalPosition(), reco::TrackBase::hitPattern(), reco::TransientTrack::impactPointState(), reco::btag::TrackIPData::ip2d, reco::btag::TrackIPData::ip3d, TrajectoryStateOnSurface::isValid(), IPTools::jetTrackDistance(), reco::GhostTrackPrediction::lambda(), reco::TrackBase::normalizedChi2(), reco::HitPattern::numberOfValidHits(), reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidPixelHits(), AlCaHLTBitMon_ParallelJobs::p, p1, p2, reco::GhostTrackPrediction::position(), reco::Vertex::position(), reco::GhostTrackPrediction::positionError(), reco::GhostTrackPrediction::prediction(), HWWFunctions::primaryVertex(), reco::TrackBase::pt(), edm::Event::put(), query::result, TrackCollections2monitor_cff::selectedTracks, IPTools::signedImpactParameter3D(), IPTools::signedTransverseImpactParameter(), edmStreamStallGrapher::states, reco::btag::toTrack(), reco::TransientTrack::track(), and testEve_cfg::tracks.

219 {
220  // Update probability estimator if event setup is changed
222  checkEventSetup(iSetup);
223 
224 
226  iEvent.getByToken(token_primaryVertex, primaryVertex);
227 
229  iSetup.get<TransientTrackRecord>().get("TransientTrackBuilder", builder);
230  // m_algo.setTransientTrackBuilder(builder.product());
231 
232  // output collections
233  auto_ptr<Product> result(new Product);
234 
235  auto_ptr<reco::TrackCollection> ghostTracks;
236  TrackRefProd ghostTrackRefProd;
237  if (m_computeGhostTrack) {
238  ghostTracks.reset(new reco::TrackCollection);
239  ghostTrackRefProd = iEvent.getRefBeforePut<TrackCollection>("ghostTracks");
240  }
241 
242  // use first pv of the collection
243  Vertex dummy;
244  const Vertex *pv = &dummy;
246  if (primaryVertex->size() != 0) {
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  Vertex::Point p(0, 0, 0);
256  dummy = 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(iEvent,*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();
267  itTrack != tracks.end(); ++itTrack)
268  if (reco::btag::toTrack(*itTrack)->numberOfValidHits() >= m_cutTotalHits) //minimal quality cuts
269  jetMomentum += (*itTrack)->momentum();
270  }
271 
273  vector<TransientTrack> transientTracks;
274 
275  for(typename Container::const_iterator itTrack = tracks.begin();
276  itTrack != tracks.end(); ++itTrack) {
277  TransientTrack transientTrack = builder->build(*itTrack);
278  const Track & track = transientTrack.track(); //**itTrack;
279  /* cout << " pt " << track.pt() <<
280  " d0 " << fabs(track.d0()) <<
281  " #hit " << track.hitPattern().numberOfValidHits()<<
282  " ipZ " << fabs(track.dz()-pv->z())<<
283  " chi2 " << track.normalizedChi2()<<
284  " #pixel " << track.hitPattern().numberOfValidPixelHits()<< endl;
285 */
286  if (track.pt() > m_cutMinPt &&
287  track.hitPattern().numberOfValidHits() >= m_cutTotalHits && // min num tracker hits
290  std::abs(track.dxy(pv->position())) < m_cutMaxTIP &&
291  std::abs(track.dz(pv->position())) < m_cutMaxLIP) {
292 // std::cout << "selected" << std::endl;
293  selectedTracks.push_back(*itTrack);
294  transientTracks.push_back(transientTrack);
295  }
296  }
297 // std::cout <<"SIZE: " << transientTracks.size() << std::endl;
298  GlobalVector direction(jetMomentum.x(), jetMomentum.y(), jetMomentum.z());
299 
300  auto_ptr<GhostTrack> ghostTrack;
301  TrackRef ghostTrackRef;
302  if (m_computeGhostTrack) {
303  GhostTrackFitter fitter;
306  ghostTrack.reset(new GhostTrack(fitter.fit(origin, error, direction,
308  transientTracks)));
309 
310 /*
311  if (std::sqrt(jetMomentum.Perp2()) > 30) {
312  double offset = ghostTrack->prediction().lambda(origin);
313  std::cout << "------------------ jet pt " << std::sqrt(jetMomentum.Perp2()) << std::endl;
314  const std::vector<GhostTrackState> *states = &ghostTrack->states();
315  for(std::vector<GhostTrackState>::const_iterator state = states->begin();
316  state != states->end(); ++state) {
317  double dist = state->lambda() - offset;
318  double err = state->lambdaError(ghostTrack->prediction(), error);
319  double ipSig = IPTools::signedImpactParameter3D(state->track(), direction, *pv).second.significance();
320  double axisDist = state->axisDistance(ghostTrack->prediction());
321  std::cout << state->track().impactPointState().freeState()->momentum().perp()
322  << ": " << dist << "/" << err << " [" << (dist / err) << "], ipsig = " << ipSig << ", dist = " << axisDist << ", w = " << state->weight() << std::endl;
323  }
324  }
325 */
326  ghostTrackRef = TrackRef(ghostTrackRefProd, ghostTracks->size());
327  ghostTracks->push_back(*ghostTrack);
328 
330  const GhostTrackPrediction &pred = ghostTrack->prediction();
331  double lambda = pred.lambda(origin);
332  dummy = Vertex(RecoVertex::convertPos(pred.position(lambda)),
334  0, 0, 0);
335  pv = &dummy;
336  direction = pred.direction();
337  }
338  }
339 
340  vector<float> prob2D, prob3D;
341  vector<reco::btag::TrackIPData> ipData;
342 
343  for(unsigned int ind = 0; ind < transientTracks.size(); ind++) {
344  const TransientTrack &transientTrack = transientTracks[ind];
345  const Track & track = transientTrack.track();
346 
347  reco::btag::TrackIPData trackIP;
348  trackIP.ip3d = IPTools::signedImpactParameter3D(transientTrack, direction, *pv).second;
349  trackIP.ip2d = IPTools::signedTransverseImpactParameter(transientTrack, direction, *pv).second;
350 
351  TrajectoryStateOnSurface closest =
353  *pv, direction,
354  transientTrack.field());
355  if (closest.isValid())
356  trackIP.closestToJetAxis = closest.globalPosition();
357 
358  // TODO: cross check if it is the same using other methods
359  trackIP.distanceToJetAxis = IPTools::jetTrackDistance(transientTrack, direction, *pv).second;
360 
361  if (ghostTrack.get()) {
362  const std::vector<GhostTrackState> &states = ghostTrack->states();
363  std::vector<GhostTrackState>::const_iterator pos =
364  std::find_if(states.begin(), states.end(),
365  bind(equal_to<TransientTrack>(),
366  bind(&GhostTrackState::track, _1),
367  transientTrack));
368 
369  if (pos != states.end() && pos->isValid()) {
370  VertexDistance3D dist;
371  const 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),
378  VertexState(p2, e2));
379  trackIP.ghostTrackWeight = pos->weight();
380  } else {
381  trackIP.distanceToGhostTrack = Measurement1D(-1. -1.);
382  trackIP.ghostTrackWeight = 0.;
383  }
384  } else {
385  trackIP.distanceToGhostTrack = Measurement1D(-1. -1.);
386  trackIP.ghostTrackWeight = 1.;
387  }
388 
389  ipData.push_back(trackIP);
390 
392  //probability with 3D ip
393  pair<bool,double> probability = m_probabilityEstimator->probability(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(m_useTrackQuality,1,ipData.back().ip2d.significance(),track,*(it->jet()),*pv);
398  prob2D.push_back(probability.first ? probability.second : -1.);
399  }
400  }
401 
402  result->push_back(typename Product::value_type(ipData, prob2D, prob3D, selectedTracks,
403  *it, pvRef, direction, ghostTrackRef));
404  }
405 
407  iEvent.put(ghostTracks, "ghostTracks");
408  iEvent.put(result);
409 }
virtual Measurement1D distance(const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const
reco::Vertex::Point convertPos(const GlobalPoint &p)
double m_cutMaxChiSquared
Definition: IPProducer.h:150
bool m_directionWithGhostTrack
Definition: IPProducer.h:153
const reco::Track * toTrack(const reco::TrackRef &t)
Definition: IPTagInfo.h:24
EcalChannelStatus Container
double lambda(const GlobalPoint &point) const
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:537
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:446
int numberOfValidHits() const
Definition: HitPattern.h:737
Measurement1D ip2d
Definition: IPTagInfo.h:30
double m_cutMaxTIP
Definition: IPProducer.h:148
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:50
reco::Vertex::Error convertError(const GlobalError &ge)
Definition: ConvertError.h:8
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:13
double m_cutMinPt
Definition: IPProducer.h:149
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:43
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:71
GlobalPoint globalPosition() const
bool m_useTrackQuality
Definition: IPProducer.h:154
TrajectoryStateOnSurface closestApproachToJet(const TrajectoryStateOnSurface &state, const reco::Vertex &vertex, const GlobalVector &aJetDirection, const MagneticField *field)
Definition: IPTools.cc:177
const MagneticField * field() const
std::auto_ptr< HistogramProbabilityEstimator > m_probabilityEstimator
Definition: IPProducer.h:141
const Point & position() const
position
Definition: Vertex.h:106
int m_cutTotalHits
Definition: IPProducer.h:147
std::vector< reco::IPTagInfo< Container, Base > > Product
Definition: IPProducer.h:125
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:200
double m_ghostTrackPriorDeltaR
Definition: IPProducer.h:140
GhostTrack fit(const GlobalPoint &priorPosition, const GlobalError &priorError, const GlobalVector &direction, double coneRadius, const std::vector< TransientTrack > &tracks) const
void checkEventSetup(const edm::EventSetup &iSetup)
Definition: IPProducer.h:419
Measurement1D distanceToGhostTrack
Definition: IPTagInfo.h:33
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:113
int m_cutPixelHits
Definition: IPProducer.h:146
Helper m_helper
Definition: IPProducer.h:155
double pt() const
track transverse momentum
Definition: TrackBase.h:597
tuple result
Definition: query.py:137
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::EDGetTokenT< reco::VertexCollection > token_primaryVertex
Definition: IPProducer.h:136
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:796
Measurement1D ip3d
Definition: IPTagInfo.h:31
Container::value_type value_type
double p2[4]
Definition: TauolaWrapper.h:90
bool m_directionWithTracks
Definition: IPProducer.h:152
RefProd< PROD > getRefBeforePut()
Definition: Event.h:133
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:585
GlobalPoint closestToJetAxis
Definition: IPTagInfo.h:28
const Track & track() const
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:364
tuple tracks
Definition: testEve_cfg.py:39
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
const T & get() const
Definition: EventSetup.h:55
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:19
Error error() const
return SMatrix
Definition: Vertex.h:129
Measurement1D distanceToJetAxis
Definition: IPTagInfo.h:32
const Vector & prediction() const
double p1[4]
Definition: TauolaWrapper.h:89
GlobalPoint position(double lambda=0.) const
GlobalPoint closestToGhostTrack
Definition: IPTagInfo.h:29
int numberOfValidPixelHits() const
Definition: HitPattern.h:752
TrajectoryStateOnSurface impactPointState() const
bool m_computeProbabilities
Definition: IPProducer.h:138
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:567
bool m_computeGhostTrack
Definition: IPProducer.h:139
double m_cutMaxLIP
Definition: IPProducer.h:151
GlobalError positionError(double lambda=0.) const
const GlobalVector direction() const

Member Data Documentation

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

Definition at line 142 of file IPProducer.h.

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

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

Definition at line 143 of file IPProducer.h.

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

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

Definition at line 139 of file IPProducer.h.

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

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

Definition at line 138 of file IPProducer.h.

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

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

Definition at line 135 of file IPProducer.h.

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

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

Definition at line 150 of file IPProducer.h.

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

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

Definition at line 151 of file IPProducer.h.

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

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

Definition at line 148 of file IPProducer.h.

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

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

Definition at line 149 of file IPProducer.h.

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

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

Definition at line 146 of file IPProducer.h.

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

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

Definition at line 147 of file IPProducer.h.

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

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

Definition at line 153 of file IPProducer.h.

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

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

Definition at line 152 of file IPProducer.h.

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

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

Definition at line 140 of file IPProducer.h.

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

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

Definition at line 155 of file IPProducer.h.

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

Definition at line 141 of file IPProducer.h.

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

Definition at line 144 of file IPProducer.h.

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

Definition at line 154 of file IPProducer.h.

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

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

Definition at line 136 of file IPProducer.h.

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