CMS 3D CMS Logo

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

#include <TrackerValidationVariables.h>

Classes

struct  AVHitStruct
 
struct  AVTrackStruct
 

Public Member Functions

void fillHitQuantities (const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
 
void fillHitQuantities (const edm::Event &, std::vector< AVHitStruct > &v_avhitout)
 
void fillTrackQuantities (const edm::Event &, std::vector< AVTrackStruct > &v_avtrackout)
 
 TrackerValidationVariables ()
 
 TrackerValidationVariables (const edm::EventSetup &, const edm::ParameterSet &)
 
 ~TrackerValidationVariables ()
 

Private Attributes

const edm::ParameterSet conf_
 
edm::ESHandle< MagneticFieldmagneticField_
 
edm::ESHandle< TrackerGeometrytkGeom_
 

Detailed Description

Definition at line 16 of file TrackerValidationVariables.h.

Constructor & Destructor Documentation

TrackerValidationVariables::TrackerValidationVariables ( )

Definition at line 45 of file TrackerValidationVariables.cc.

46 {
47 
48 }
TrackerValidationVariables::TrackerValidationVariables ( const edm::EventSetup es,
const edm::ParameterSet iSetup 
)

Definition at line 50 of file TrackerValidationVariables.cc.

References edm::EventSetup::get(), magneticField_, and tkGeom_.

TrackerValidationVariables::~TrackerValidationVariables ( )

Definition at line 57 of file TrackerValidationVariables.cc.

58 {
59 
60 }

Member Function Documentation

void TrackerValidationVariables::fillHitQuantities ( const Trajectory trajectory,
std::vector< AVHitStruct > &  v_avhitout 
)

Definition at line 63 of file TrackerValidationVariables.cc.

References RadialStripTopology::angularWidth(), BoundSurface::bounds(), funct::cos(), Geom::deltaPhi(), RadialStripTopology::detHeight(), TrackerValidationVariables::AVHitStruct::eta, PV3DBase< T, PVType, FrameType >::eta(), TrajectoryStateOnSurface::globalDirection(), RectangularPlaneBounds::inside(), TrackerValidationVariables::AVHitStruct::inside, RectangularPlaneBounds::length(), TrackerValidationVariables::AVHitStruct::localAlpha, TrackerValidationVariables::AVHitStruct::localBeta, TrajectoryStateOnSurface::localDirection(), TrajectoryStateOnSurface::localError(), TrajectoryStateOnSurface::localPosition(), RadialStripTopology::localStripLength(), TrackerValidationVariables::AVHitStruct::localX, TrackerValidationVariables::AVHitStruct::localXnorm, TrackerValidationVariables::AVHitStruct::localY, TrackerValidationVariables::AVHitStruct::localYnorm, RadialStripTopology::measurementError(), RadialStripTopology::measurementPosition(), Trajectory::measurements(), RadialStripTopology::originToIntersection(), PV3DBase< T, PVType, FrameType >::perp(), TrackerValidationVariables::AVHitStruct::phi, PV3DBase< T, PVType, FrameType >::phi(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, LocalTrajectoryError::positionError(), funct::pow(), TrackerValidationVariables::AVHitStruct::rawDetId, DetId::rawId(), TrackerValidationVariables::AVHitStruct::resErrX, TrackerValidationVariables::AVHitStruct::resErrY, TrackerValidationVariables::AVHitStruct::resX, TrackerValidationVariables::AVHitStruct::resXprime, TrackerValidationVariables::AVHitStruct::resXprimeErr, TrackerValidationVariables::AVHitStruct::resY, TrackerValidationVariables::AVHitStruct::resYprime, TrackerValidationVariables::AVHitStruct::resYprimeErr, funct::sin(), mathSSE::sqrt(), RadialStripTopology::stripAngle(), DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, Surface::toGlobal(), GeomDetType::topology(), DetId::Tracker, GeomDetUnit::type(), MeasurementError::uu(), MeasurementError::vv(), RectangularPlaneBounds::width(), tablePrinter::width, PV2DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), PV2DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::y(), LocalError::yy(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by MonitorTrackResiduals::analyze(), fillHitQuantities(), and fillTrackQuantities().

64 {
65  TrajectoryStateCombiner tsoscomb;
66 
67  const std::vector<TrajectoryMeasurement> &tmColl = trajectory->measurements();
68  for(std::vector<TrajectoryMeasurement>::const_iterator itTraj = tmColl.begin();
69  itTraj != tmColl.end();
70  ++itTraj) {
71 
72  if (!itTraj->updatedState().isValid()) continue;
73 
74  TrajectoryStateOnSurface tsos = tsoscomb( itTraj->forwardPredictedState(), itTraj->backwardPredictedState() );
76 
77  if(!hit->isValid() || hit->geographicalId().det() != DetId::Tracker) continue;
78 
79  AVHitStruct hitStruct;
80  const DetId& hit_detId = hit->geographicalId();
81  unsigned int IntRawDetID = (hit_detId.rawId());
82  unsigned int IntSubDetID = (hit_detId.subdetId());
83 
84  if(IntSubDetID == 0) continue;
85 
86  //first calculate residuals in cartesian coordinates in the local module coordinate system
87 
88  LocalPoint lPHit = hit->localPosition();
89  LocalPoint lPTrk = tsos.localPosition();
90  LocalVector lVTrk = tsos.localDirection();
91 
92  hitStruct.localAlpha = atan2(lVTrk.x(), lVTrk.z()); // wrt. normal tg(alpha)=x/z
93  hitStruct.localBeta = atan2(lVTrk.y(), lVTrk.z()); // wrt. normal tg(beta)= y/z
94 
95  //LocalError errHit = hit->localPositionError();
96  // adding APE to hitError
97  AlgebraicROOTObject<2>::SymMatrix mat = asSMatrix<2>(hit->parametersError());
98  LocalError errHit = LocalError( mat(0,0),mat(0,1),mat(1,1) );
99  LocalError errTrk = tsos.localError().positionError();
100 
101  //check for negative error values: track error can have negative value, if matrix inversion fails (very rare case)
102  //hit error should always give positive values
103  if(errHit.xx()<0. || errHit.yy()<0. || errTrk.xx()<0. || errTrk.yy()<0.){
104  edm::LogError("TrackerValidationVariables") << "@SUB=TrackerValidationVariables::fillHitQuantities"
105  << "One of the squared error methods gives negative result"
106  << "\n\terrHit.xx()\terrHit.yy()\terrTrk.xx()\terrTrk.yy()"
107  << "\n\t" << errHit.xx()
108  << "\t" << errHit.yy()
109  << "\t" << errTrk.xx()
110  << "\t" << errTrk.yy();
111  continue;
112  }
113 
114  align::LocalVector res = lPTrk - lPHit;
115 
116  float resXErr = std::sqrt( errHit.xx() + errTrk.xx() );
117  float resYErr = std::sqrt( errHit.yy() + errTrk.yy() );
118 
119  hitStruct.resX = res.x();
120  hitStruct.resY = res.y();
121  hitStruct.resErrX = resXErr;
122  hitStruct.resErrY = resYErr;
123 
124  // hitStruct.localX = lPhit.x();
125  // hitStruct.localY = lPhit.y();
126  // EM: use predictions for local coordinates
127  hitStruct.localX = lPTrk.x();
128  hitStruct.localY = lPTrk.y();
129 
130  // now calculate residuals taking global orientation of modules and radial topology in TID/TEC into account
131  float resXprime(999.F), resYprime(999.F);
132  float resXprimeErr(999.F), resYprimeErr(999.F);
133 
134  if(hit->detUnit()){ // is it a single physical module?
135  const GeomDetUnit& detUnit = *(hit->detUnit());
136  float uOrientation(-999.F), vOrientation(-999.F);
137  float resXTopol(999.F), resYTopol(999.F);
138 
139  const Surface& surface = hit->detUnit()->surface();
140  const BoundPlane& boundplane = hit->detUnit()->surface();
141  const Bounds& bound = boundplane.bounds();
142 
143  float length = 0;
144  float width = 0;
145  float widthAtHalfLength = 0;
146 
147  LocalPoint lPModule(0.,0.,0.), lUDirection(1.,0.,0.), lVDirection(0.,1.,0.);
148  GlobalPoint gPModule = surface.toGlobal(lPModule),
149  gUDirection = surface.toGlobal(lUDirection),
150  gVDirection = surface.toGlobal(lVDirection);
151 
152  if (IntSubDetID == PixelSubdetector::PixelBarrel ||
153  IntSubDetID == StripSubdetector::TIB ||
154  IntSubDetID == StripSubdetector::TOB) {
155 
156  uOrientation = deltaPhi(gUDirection.phi(),gPModule.phi()) >= 0. ? +1.F : -1.F;
157  vOrientation = gVDirection.z() - gPModule.z() >= 0 ? +1.F : -1.F;
158  resXTopol = res.x();
159  resYTopol = res.y();
160  resXprimeErr = resXErr;
161  resYprimeErr = resYErr;
162 
163  const RectangularPlaneBounds *rectangularBound = dynamic_cast<const RectangularPlaneBounds*>(&bound);
164  hitStruct.inside = rectangularBound->inside(lPTrk);
165  length = rectangularBound->length();
166  width = rectangularBound->width();
167  hitStruct.localXnorm = 2*hitStruct.localX/width;
168  hitStruct.localYnorm = 2*hitStruct.localY/length;
169 
170  } else if (IntSubDetID == PixelSubdetector::PixelEndcap) {
171 
172  uOrientation = gUDirection.perp() - gPModule.perp() >= 0 ? +1.F : -1.F;
173  vOrientation = deltaPhi(gVDirection.phi(),gPModule.phi()) >= 0. ? +1.F : -1.F;
174  resXTopol = res.x();
175  resYTopol = res.y();
176  resXprimeErr = resXErr;
177  resYprimeErr = resYErr;
178 
179  const RectangularPlaneBounds *rectangularBound = dynamic_cast<const RectangularPlaneBounds*>(&bound);
180  hitStruct.inside = rectangularBound->inside(lPTrk);
181  length = rectangularBound->length();
182  width = rectangularBound->width();
183  hitStruct.localXnorm = 2*hitStruct.localX/width;
184  hitStruct.localYnorm = 2*hitStruct.localY/length;
185 
186  } else if (IntSubDetID == StripSubdetector::TID ||
187  IntSubDetID == StripSubdetector::TEC) {
188 
189  uOrientation = deltaPhi(gUDirection.phi(),gPModule.phi()) >= 0. ? +1.F : -1.F;
190  vOrientation = gVDirection.perp() - gPModule.perp() >= 0. ? +1.F : -1.F;
191 
192  if (!dynamic_cast<const RadialStripTopology*>(&detUnit.type().topology()))continue;
193  const RadialStripTopology& topol = dynamic_cast<const RadialStripTopology&>(detUnit.type().topology());
194 
195  MeasurementPoint measHitPos = topol.measurementPosition(lPHit);
196  MeasurementPoint measTrkPos = topol.measurementPosition(lPTrk);
197 
198  MeasurementError measHitErr = topol.measurementError(lPHit,errHit);
199  MeasurementError measTrkErr = topol.measurementError(lPTrk,errTrk);
200 
201  if (measHitErr.uu()<0. ||
202  measHitErr.vv()<0. ||
203  measTrkErr.uu()<0. ||
204  measTrkErr.vv()<0.){
205  edm::LogError("TrackerValidationVariables") << "@SUB=TrackerValidationVariables::fillHitQuantities"
206  << "One of the squared error methods gives negative result"
207  << "\n\tmeasHitErr.uu()\tmeasHitErr.vv()\tmeasTrkErr.uu()\tmeasTrkErr.vv()"
208  << "\n\t" << measHitErr.uu()
209  << "\t" << measHitErr.vv()
210  << "\t" << measTrkErr.uu()
211  << "\t" << measTrkErr.vv();
212  continue;
213  }
214 
215  float localStripLengthHit = topol.localStripLength(lPHit);
216  float localStripLengthTrk = topol.localStripLength(lPTrk);
217  float phiHit = topol.stripAngle(measHitPos.x());
218  float phiTrk = topol.stripAngle(measTrkPos.x());
219  float r_0 = topol.originToIntersection();
220 
221  resXTopol = (phiTrk-phiHit)*r_0;
222  //resYTopol = measTrkPos.y()*localStripLengthTrk - measHitPos.y()*localStripLengthHit;
223  float cosPhiHit(cos(phiHit)), cosPhiTrk(cos(phiTrk)),
224  sinPhiHit(sin(phiHit)), sinPhiTrk(sin(phiTrk));
225  float l_0 = r_0 - topol.detHeight()/2;
226  resYTopol = measTrkPos.y()*localStripLengthTrk - measHitPos.y()*localStripLengthHit + l_0*(1/cosPhiTrk - 1/cosPhiHit);
227 
228  resXprimeErr = std::sqrt(measHitErr.uu()+measTrkErr.uu())*topol.angularWidth()*r_0;
229  //resYprimeErr = std::sqrt(measHitErr.vv()*localStripLengthHit*localStripLengthHit + measTrkErr.vv()*localStripLengthTrk*localStripLengthTrk);
230  float helpSummand = l_0*l_0*topol.angularWidth()*topol.angularWidth()*(sinPhiHit*sinPhiHit/pow(cosPhiHit,4)*measHitErr.uu()
231  + sinPhiTrk*sinPhiTrk/pow(cosPhiTrk,4)*measTrkErr.uu() );
232  resYprimeErr = std::sqrt(measHitErr.vv()*localStripLengthHit*localStripLengthHit
233  + measTrkErr.vv()*localStripLengthTrk*localStripLengthTrk + helpSummand );
234 
235 
236  const TrapezoidalPlaneBounds *trapezoidalBound = dynamic_cast < const TrapezoidalPlaneBounds * >(& bound);
237  hitStruct.inside = trapezoidalBound->inside(lPTrk);
238  length = trapezoidalBound->length();
239  width = trapezoidalBound->width();
240  widthAtHalfLength = trapezoidalBound->widthAtHalfLength();
241 
242  int yAxisOrientation=trapezoidalBound->yAxisOrientation();
243 // for trapezoidal shape modules, scale with as function of local y coordinate
244  float widthAtlocalY=width-(1-yAxisOrientation*2*lPTrk.y()/length)*(width-widthAtHalfLength);
245  hitStruct.localXnorm = 2*hitStruct.localX/widthAtlocalY;
246  hitStruct.localYnorm = 2*hitStruct.localY/length;
247 
248  } else {
249  edm::LogWarning("TrackerValidationVariables") << "@SUB=TrackerValidationVariables::fillHitQuantities"
250  << "No valid tracker subdetector " << IntSubDetID;
251  continue;
252  }
253 
254  resXprime = resXTopol*uOrientation;
255  resYprime = resYTopol*vOrientation;
256 
257  } else { // not a detUnit, so must be a virtual 2D-Module
258  // FIXME: at present only for det units residuals are calculated and filled in the hitStruct
259  // But in principle this method should also be useable for the gluedDets (2D modules in TIB, TID, TOB, TEC)
260  // In this case, only orientation should be taken into account for primeResiduals, but not the radial topology
261  // At present, default values (999.F) are given out
262  }
263 
264  hitStruct.resXprime = resXprime;
265  hitStruct.resYprime = resYprime;
266  hitStruct.resXprimeErr = resXprimeErr;
267  hitStruct.resYprimeErr = resYprimeErr;
268 
269  hitStruct.rawDetId = IntRawDetID;
270  hitStruct.phi = tsos.globalDirection().phi();
271  hitStruct.eta = tsos.globalDirection().eta();
272 
273  v_avhitout.push_back(hitStruct);
274  }
275 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
float xx() const
Definition: LocalError.h:19
float vv() const
T y() const
Definition: PV2DBase.h:40
virtual MeasurementPoint measurementPosition(const LocalPoint &) const
T perp() const
Definition: PV3DBase.h:66
ROOT::Math::SMatrix< double, D1, D1, ROOT::Math::MatRepSym< double, D1 > > SymMatrix
double deltaPhi(float phi1, float phi2)
Definition: VectorUtil.h:30
LocalVector localDirection() const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
T y() const
Definition: PV3DBase.h:57
virtual float stripAngle(float strip) const
LocalError positionError() const
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
virtual float localStripLength(const LocalPoint &) const
DataContainer const & measurements() const
Definition: Trajectory.h:169
virtual bool inside(const Local2DPoint &p) const
float yy() const
Definition: LocalError.h:21
T sqrt(T t)
Definition: SSEVec.h:28
T z() const
Definition: PV3DBase.h:58
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
float uu() const
const LocalTrajectoryError & localError() const
virtual float width() const
Width along local X.
virtual const GeomDetType & type() const =0
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Definition: DetId.h:20
const Bounds & bounds() const
Definition: BoundSurface.h:89
virtual bool inside(const Local2DPoint &p) const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const
virtual const Topology & topology() const =0
float originToIntersection() const
T eta() const
Definition: PV3DBase.h:70
virtual float length() const
Lenght along local Y.
float angularWidth() const
Definition: Bounds.h:18
T x() const
Definition: PV2DBase.h:39
T x() const
Definition: PV3DBase.h:56
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
GlobalVector globalDirection() const
void TrackerValidationVariables::fillHitQuantities ( const edm::Event event,
std::vector< AVHitStruct > &  v_avhitout 
)

Definition at line 324 of file TrackerValidationVariables.cc.

References conf_, fillHitQuantities(), edm::ParameterSet::getParameter(), and LogDebug.

325 {
326  edm::Handle<std::vector<Trajectory> > trajCollectionHandle;
327  event.getByLabel(conf_.getParameter<std::string>("trajectoryInput"), trajCollectionHandle);
328 
329  LogDebug("TrackerValidationVariables") << "trajColl->size(): " << trajCollectionHandle->size() ;
330 
331  for (std::vector<Trajectory>::const_iterator it = trajCollectionHandle->begin(), itEnd = trajCollectionHandle->end();
332  it!=itEnd;
333  ++it) {
334 
335  fillHitQuantities(&(*it), v_avhitout);
336  }
337 }
#define LogDebug(id)
T getParameter(std::string const &) const
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
void TrackerValidationVariables::fillTrackQuantities ( const edm::Event event,
std::vector< AVTrackStruct > &  v_avtrackout 
)

Definition at line 278 of file TrackerValidationVariables.cc.

References TrackerValidationVariables::AVTrackStruct::charge, reco::TrackBase::charge(), TrackerValidationVariables::AVTrackStruct::chi2, reco::TrackBase::chi2(), TrackerValidationVariables::AVTrackStruct::chi2Prob, conf_, TrackerValidationVariables::AVTrackStruct::d0, reco::TrackBase::d0(), TrackerValidationVariables::AVTrackStruct::dz, reco::TrackBase::dz(), TrackerValidationVariables::AVTrackStruct::eta, reco::TrackBase::eta(), fillHitQuantities(), edm::ParameterSet::getParameter(), TrackerValidationVariables::AVTrackStruct::hits, TrackerValidationVariables::AVTrackStruct::kappa, LogDebug, magneticField_, reco::TrackBase::ndof(), reco::TrackBase::normalizedChi2(), TrackerValidationVariables::AVTrackStruct::normchi2, TrackerValidationVariables::AVTrackStruct::numberOfLostHits, reco::TrackBase::numberOfLostHits(), TrackerValidationVariables::AVTrackStruct::numberOfValidHits, reco::TrackBase::numberOfValidHits(), TrackerValidationVariables::AVTrackStruct::p, reco::TrackBase::p(), TrackerValidationVariables::AVTrackStruct::phi, reco::TrackBase::phi(), TrackerValidationVariables::AVTrackStruct::pt, reco::TrackBase::pt(), TrackerValidationVariables::AVTrackStruct::ptError, reco::TrackBase::ptError(), TrackerValidationVariables::AVTrackStruct::px, reco::TrackBase::px(), TrackerValidationVariables::AVTrackStruct::py, reco::TrackBase::py(), TrackerValidationVariables::AVTrackStruct::pz, reco::TrackBase::pz(), reco::TrackBase::vx(), reco::TrackBase::vy(), and reco::TrackBase::vz().

Referenced by TrackerOfflineValidation::analyze().

279 {
280  edm::InputTag TrjTrackTag = conf_.getParameter<edm::InputTag>("Tracks");
282  event.getByLabel(TrjTrackTag, TrajTracksMap);
283  LogDebug("TrackerValidationVariables") << "TrajTrack collection size " << TrajTracksMap->size();
284 
285  const Trajectory* trajectory;
286  const reco::Track* track;
287 
288  for ( TrajTrackAssociationCollection::const_iterator iPair = TrajTracksMap->begin();
289  iPair != TrajTracksMap->end();
290  ++iPair) {
291 
292  trajectory = &(*(*iPair).key);
293  track = &(*(*iPair).val);
294 
295  AVTrackStruct trackStruct;
296 
297  trackStruct.p = track->p();
298  trackStruct.pt = track->pt();
299  trackStruct.ptError = track->ptError();
300  trackStruct.px = track->px();
301  trackStruct.py = track->py();
302  trackStruct.pz = track->pz();
303  trackStruct.eta = track->eta();
304  trackStruct.phi = track->phi();
305  trackStruct.chi2 = track->chi2();
306  trackStruct.chi2Prob= TMath::Prob(track->chi2(),track->ndof());
307  trackStruct.normchi2 = track->normalizedChi2();
308  GlobalPoint gPoint(track->vx(), track->vy(), track->vz());
309  double theLocalMagFieldInInverseGeV = magneticField_->inInverseGeV(gPoint).z();
310  trackStruct.kappa = -track->charge()*theLocalMagFieldInInverseGeV/track->pt();
311  trackStruct.charge = track->charge();
312  trackStruct.d0 = track->d0();
313  trackStruct.dz = track->dz();
314  trackStruct.numberOfValidHits = track->numberOfValidHits();
315  trackStruct.numberOfLostHits = track->numberOfLostHits();
316 
317  fillHitQuantities(trajectory, trackStruct.hits);
318 
319  v_avtrackout.push_back(trackStruct);
320  }
321 }
#define LogDebug(id)
double p() const
momentum vector magnitude
Definition: TrackBase.h:129
T getParameter(std::string const &) const
double d0() const
dxy parameter in perigee convention (d0 = - dxy)
Definition: TrackBase.h:123
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:111
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:139
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:234
void fillHitQuantities(const Trajectory *trajectory, std::vector< AVHitStruct > &v_avhitout)
double px() const
x coordinate of momentum vector
Definition: TrackBase.h:133
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:141
edm::ESHandle< MagneticField > magneticField_
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:107
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:109
double pt() const
track transverse momentum
Definition: TrackBase.h:131
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:194
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:232
double pz() const
z coordinate of momentum vector
Definition: TrackBase.h:137
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:127
double vz() const
z coordinate of the reference point on track
Definition: TrackBase.h:147
double vy() const
y coordinate of the reference point on track
Definition: TrackBase.h:145
int charge() const
track electric charge
Definition: TrackBase.h:113
double py() const
y coordinate of momentum vector
Definition: TrackBase.h:135
double vx() const
x coordinate of the reference point on track
Definition: TrackBase.h:143

Member Data Documentation

const edm::ParameterSet TrackerValidationVariables::conf_
private

Definition at line 82 of file TrackerValidationVariables.h.

Referenced by fillHitQuantities(), and fillTrackQuantities().

edm::ESHandle<MagneticField> TrackerValidationVariables::magneticField_
private

Definition at line 84 of file TrackerValidationVariables.h.

Referenced by fillTrackQuantities(), and TrackerValidationVariables().

edm::ESHandle<TrackerGeometry> TrackerValidationVariables::tkGeom_
private

Definition at line 83 of file TrackerValidationVariables.h.

Referenced by TrackerValidationVariables().