CMS 3D CMS Logo

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

Public Member Functions

bool propagate (const double px, const double py, const double pz, const double x, const double y, const double z, const float charge, Coordinates &coords) const
 
bool propagate (const math::XYZTLorentzVectorD &momentum, const math::XYZTLorentzVectorD &position, const float charge, Coordinates &coords) const
 
void setPropagationTargetZ (const float &z)
 
 SimpleTrackPropagator (const MagneticField *f)
 

Private Member Functions

const RKPropagatorInSRKProp () const
 
 SimpleTrackPropagator ()
 

Private Attributes

float absz_target_
 
CurvilinearTrajectoryError err_
 
const MagneticFieldfield_
 
defaultRKPropagator::Product prod_
 
Plane::PlanePointer targetPlaneBackward_
 
Plane::PlanePointer targetPlaneForward_
 

Detailed Description

Definition at line 31 of file HGCalTriggerNtupleGen.cc.

Constructor & Destructor Documentation

HGCal_helpers::SimpleTrackPropagator::SimpleTrackPropagator ( const MagneticField f)
inline

Definition at line 33 of file HGCalTriggerNtupleGen.cc.

References gen::C, err_, and gpuClustering::id.

34  ROOT::Math::SMatrixIdentity id;
36  const float uncert = 0.001;
37  C *= uncert;
39  }
uint16_t *__restrict__ id
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
HGCal_helpers::SimpleTrackPropagator::SimpleTrackPropagator ( )
inlineprivate

Member Function Documentation

bool HGCal_helpers::SimpleTrackPropagator::propagate ( const double  px,
const double  py,
const double  pz,
const double  x,
const double  y,
const double  z,
const float  charge,
Coordinates coords 
) const

Definition at line 71 of file HGCalTriggerNtupleGen.cc.

References Plane::build(), err_, HGCal_helpers::Coordinates::eta, PV3DBase< T, PVType, FrameType >::eta(), field_, TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), HGCal_helpers::Coordinates::phi, PV3DBase< T, PVType, FrameType >::phi(), Propagator::propagate(), RKProp(), targetPlaneBackward_, targetPlaneForward_, HGCal_helpers::Coordinates::x, PV3DBase< T, PVType, FrameType >::x(), HGCal_helpers::Coordinates::y, PV3DBase< T, PVType, FrameType >::y(), HGCal_helpers::Coordinates::z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by HGCalTriggerNtupleGen::fill(), and propagate().

78  {
79  output = Coordinates();
80 
82  GlobalPoint startingPosition(x, y, z);
83  GlobalVector startingMomentum(px, py, pz);
85  TSOS startingStateP(
86  GlobalTrajectoryParameters(startingPosition, startingMomentum, charge, field_), err_, *startingPlane);
87 
88  TSOS trackStateP;
89  if (pz > 0) {
90  trackStateP = RKProp().propagate(startingStateP, *targetPlaneForward_);
91  } else {
92  trackStateP = RKProp().propagate(startingStateP, *targetPlaneBackward_);
93  }
94  if (trackStateP.isValid()) {
95  output.x = trackStateP.globalPosition().x();
96  output.y = trackStateP.globalPosition().y();
97  output.z = trackStateP.globalPosition().z();
98  output.phi = trackStateP.globalPosition().phi();
99  output.eta = trackStateP.globalPosition().eta();
100  return true;
101  }
102  return false;
103  }
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T y() const
Definition: PV3DBase.h:60
GlobalPoint globalPosition() const
static PlanePointer build(Args &&...args)
Definition: Plane.h:33
T z() const
Definition: PV3DBase.h:61
const RKPropagatorInS & RKProp() const
TrajectoryStateOnSurface TSOS
Definition: TestHits.cc:19
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
T eta() const
Definition: PV3DBase.h:73
T x() const
Definition: PV3DBase.h:59
bool HGCal_helpers::SimpleTrackPropagator::propagate ( const math::XYZTLorentzVectorD momentum,
const math::XYZTLorentzVectorD position,
const float  charge,
Coordinates coords 
) const

Definition at line 105 of file HGCalTriggerNtupleGen.cc.

References RecoTauCleanerPlugins::charge, convertSQLitetoXML_cfg::output, and propagate().

108  {
109  return propagate(
110  momentum.px(), momentum.py(), momentum.pz(), position.x(), position.y(), position.z(), charge, output);
111  }
bool propagate(const double px, const double py, const double pz, const double x, const double y, const double z, const float charge, Coordinates &coords) const
static int position[264][3]
Definition: ReadPGInfo.cc:289
const RKPropagatorInS& HGCal_helpers::SimpleTrackPropagator::RKProp ( ) const
inlineprivate

Definition at line 58 of file HGCalTriggerNtupleGen.cc.

References prod_, and defaultRKPropagator::Product::propagator.

Referenced by propagate().

58 { return prod_.propagator; }
void HGCal_helpers::SimpleTrackPropagator::setPropagationTargetZ ( const float &  z)

Member Data Documentation

float HGCal_helpers::SimpleTrackPropagator::absz_target_
private

Definition at line 63 of file HGCalTriggerNtupleGen.cc.

Referenced by setPropagationTargetZ().

CurvilinearTrajectoryError HGCal_helpers::SimpleTrackPropagator::err_
private

Definition at line 61 of file HGCalTriggerNtupleGen.cc.

Referenced by propagate(), and SimpleTrackPropagator().

const MagneticField* HGCal_helpers::SimpleTrackPropagator::field_
private

Definition at line 60 of file HGCalTriggerNtupleGen.cc.

Referenced by propagate().

defaultRKPropagator::Product HGCal_helpers::SimpleTrackPropagator::prod_
private

Definition at line 62 of file HGCalTriggerNtupleGen.cc.

Referenced by RKProp().

Plane::PlanePointer HGCal_helpers::SimpleTrackPropagator::targetPlaneBackward_
private

Definition at line 59 of file HGCalTriggerNtupleGen.cc.

Referenced by propagate(), and setPropagationTargetZ().

Plane::PlanePointer HGCal_helpers::SimpleTrackPropagator::targetPlaneForward_
private

Definition at line 59 of file HGCalTriggerNtupleGen.cc.

Referenced by propagate(), and setPropagationTargetZ().