CMS 3D CMS Logo

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

Public Member Functions

math::XYZPoint impactPoint (const reco::Track &track) const
 
 TrackPropagatorToCalo ()
 
void update (const edm::EventSetup &eventSetup)
 

Private Attributes

const MagneticFieldmagneticField_
 
uint32_t magneticFieldCacheId_
 
const Propagatorpropagator_
 
uint32_t propagatorCacheId_
 

Detailed Description

Definition at line 41 of file JPTJetAnalyzer.cc.

Constructor & Destructor Documentation

jptJetAnalysis::TrackPropagatorToCalo::TrackPropagatorToCalo ( )

Definition at line 703 of file JPTJetAnalyzer.cc.

Member Function Documentation

math::XYZPoint jptJetAnalysis::TrackPropagatorToCalo::impactPoint ( const reco::Track track) const
inline

Definition at line 732 of file JPTJetAnalyzer.cc.

References magneticField_, JetTracksAssociationDRCalo::propagateTrackToCalorimeter(), and propagator_.

733  {
735  }
static math::XYZPoint propagateTrackToCalorimeter(const reco::Track &, const MagneticField &, const Propagator &)
Propagates track to calorimeter face.
void jptJetAnalysis::TrackPropagatorToCalo::update ( const edm::EventSetup eventSetup)

Definition at line 710 of file JPTJetAnalyzer.cc.

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

Referenced by python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

711  {
712  //update magnetic filed if necessary
713  const IdealMagneticFieldRecord& magneticFieldRecord = eventSetup.get<IdealMagneticFieldRecord>();
714  const uint32_t newMagneticFieldCacheId = magneticFieldRecord.cacheIdentifier();
715  if ((newMagneticFieldCacheId != magneticFieldCacheId_) || !magneticField_) {
716  edm::ESHandle<MagneticField> magneticFieldHandle;
717  magneticFieldRecord.get(magneticFieldHandle);
718  magneticField_ = magneticFieldHandle.product();
719  magneticFieldCacheId_ = newMagneticFieldCacheId;
720  }
721  //update propagator if necessary
722  const TrackingComponentsRecord& trackingComponentsRecord = eventSetup.get<TrackingComponentsRecord>();
723  const uint32_t newPropagatorCacheId = trackingComponentsRecord.cacheIdentifier();
724  if ((propagatorCacheId_ != newPropagatorCacheId) || !propagator_) {
725  edm::ESHandle<Propagator> propagatorHandle;
726  trackingComponentsRecord.get("SteppingHelixPropagatorAlong",propagatorHandle);
727  propagator_ = propagatorHandle.product();
728  propagatorCacheId_ = newPropagatorCacheId;
729  }
730  }
unsigned long long cacheIdentifier() const
void get(HolderT &iHolder) const
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62

Member Data Documentation

const MagneticField* jptJetAnalysis::TrackPropagatorToCalo::magneticField_
private

Definition at line 48 of file JPTJetAnalyzer.cc.

Referenced by impactPoint(), and update().

uint32_t jptJetAnalysis::TrackPropagatorToCalo::magneticFieldCacheId_
private

Definition at line 50 of file JPTJetAnalyzer.cc.

Referenced by update().

const Propagator* jptJetAnalysis::TrackPropagatorToCalo::propagator_
private

Definition at line 49 of file JPTJetAnalyzer.cc.

Referenced by impactPoint(), and update().

uint32_t jptJetAnalysis::TrackPropagatorToCalo::propagatorCacheId_
private

Definition at line 51 of file JPTJetAnalyzer.cc.

Referenced by update().