ATLAS Offline Software
TrkObjToString.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 #include "VP1Base/VP1Msg.h"
7 
8 //Parameters
10 
11 //DetectorElements
18 
19 //MeasurementBase
21 
22 //ROTs
35 
36 
37 //CompetingROTs
39 
40 //Pseudo Measurements
42 
43 //Segments
44 #include "TrkSegment/Segment.h"
45 
46 // PRDs
55 
56 //TrkMaterialOnTrack
62 
65 {
67  return TrkObjToString::Pixel;
69  return TrkObjToString::SCT;
71  return TrkObjToString::TRT;
73  return TrkObjToString::CSC;
75  return TrkObjToString::RPC;
77  return TrkObjToString::TGC;
79  return TrkObjToString::MDT;
81  return TrkObjToString::MM;
83  return TrkObjToString::sTGC;
84 
86 }
87 
90 {
91  if (dynamic_cast<const Trk::RIO_OnTrack*>(meas)){
92  // ROTS
93  if (dynamic_cast<const InDet::PixelClusterOnTrack*> (meas))
94  {return TrkObjToString::Pixel;}
95  if (dynamic_cast<const InDet::SCT_ClusterOnTrack*> (meas))
96  {return TrkObjToString::SCT;}
97  if (dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (meas))
98  {return TrkObjToString::TRT;}
99  if (dynamic_cast<const Muon::CscClusterOnTrack*> (meas))
100  {return TrkObjToString::CSC;}
101  if (dynamic_cast<const Muon::RpcClusterOnTrack*> (meas))
102  {return TrkObjToString::RPC;}
103  if (dynamic_cast<const Muon::TgcClusterOnTrack*> (meas))
104  {return TrkObjToString::TGC;}
105  if (dynamic_cast<const Muon::MdtDriftCircleOnTrack*> (meas))
106  {return TrkObjToString::MDT;}
107  if (dynamic_cast<const Muon::MMClusterOnTrack*> (meas))
108  {return TrkObjToString::MM;}
109  if (dynamic_cast<const Muon::sTgcClusterOnTrack*> (meas))
110  {return TrkObjToString::sTGC;}
111  } else {
112  // Other types
113  if (dynamic_cast<const Trk::CompetingRIOsOnTrack*>(meas) )
115  if (dynamic_cast<const Trk::PseudoMeasurementOnTrack*>(meas) )
117  if (dynamic_cast<const Trk::Segment*>(meas) )
118  {return TrkObjToString::Segment;}
119  }
120  return TrkObjToString::Unknown; // Couldn't cast ROT to anything known
121 }
122 
125  const InDetDD::SiDetectorElement* siDetEl = dynamic_cast<const InDetDD::SiDetectorElement*> (detEl);
126  if (siDetEl){
127  if (siDetEl->isPixel()) {return TrkObjToString::Pixel;}
128  if (siDetEl->isSCT()) {return TrkObjToString::Pixel;}
129  }
130  if (dynamic_cast<const InDetDD::TRT_BaseElement*> (detEl))
131  {return TrkObjToString::TRT;}
132 
133  if (dynamic_cast<const MuonGM::CscReadoutElement*> (detEl))
134  {return TrkObjToString::CSC;}
135  if (dynamic_cast<const MuonGM::RpcReadoutElement*> (detEl))
136  {return TrkObjToString::RPC;}
137  if (dynamic_cast<const MuonGM::TgcReadoutElement*> (detEl))
138  {return TrkObjToString::TGC;}
139  if (dynamic_cast<const MuonGM::MdtReadoutElement*> (detEl))
140  {return TrkObjToString::MDT;}
141  return TrkObjToString::Unknown; // Couldn't cast ROT to anything known
142 }
143 
145 {
146  MeasurementType tmptype = type(&mb);
147  std::string tmpname = typeName( tmptype );
148 
149  if (tmptype==CompetingROT) {
150  const Trk::CompetingRIOsOnTrack* crot = dynamic_cast<const Trk::CompetingRIOsOnTrack *>(&mb);
151  if (!crot) return {"Error!"};
152  tmpname+=" [";
153  switch (type (&crot->rioOnTrack(crot->indexOfMaxAssignProb() ) ) ){
154  case Pixel: { tmpname+="Pix"; break; }
155  case SCT: { tmpname+="SCT"; break; }
156  case TRT: { tmpname+="TRT"; break; }
157  case CSC: { tmpname+="CSC"; break; }
158  case RPC: { tmpname+="RPC"; break; }
159  case TGC: { tmpname+="TGC"; break; }
160  case MDT: { tmpname+="MDT"; break; }
161  case MM: { tmpname+="MM"; break; }
162  case sTGC: { tmpname+="sTGC"; break; }
163  case Hole:
164  case CompetingROT:
165  case PseudoMeasurement:
166  case Segment:
167  case Unknown:
168  {
169  tmpname+="Error!";
170  break;
171  }
172  }
173  tmpname+="]";
174  }
175 
176  return {tmpname.c_str()};
177 }
178 
179 QString
181  QString name;
182  if (tp.covariance()) name="Measured";
183  if (dynamic_cast<const Trk::Perigee*>(&tp)) name+="Perigee";
184  if (dynamic_cast<const Trk::AtaPlane*>(&tp)) name+="AtaPlane";
185  if (dynamic_cast<const Trk::AtaCylinder*>(&tp)) name+="AtaCylinder";
186  if (dynamic_cast<const Trk::AtaStraightLine*>(&tp)) name+="AtaStraightLine";
187  if (dynamic_cast<const Trk::AtaDisc*>(&tp)) name="AtaDisc";
188  if (dynamic_cast<const Trk::AtaCone*>(&tp)) name="AtaCone";
189  if (dynamic_cast<const Trk::CurvilinearParameters*>(&tp)) name="Curvilinear";
190  if (name=="") std::cout<<"Unknown type of parameter"<<tp<<std::endl;
191  return name+=QString(" Parameters");
192 }
193 
194 QString
196  QString name("Unknown");
197  if (dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&mb)) name="MaterialEffectsOnTrack";
198  if (dynamic_cast<const Trk::EstimatedBremOnTrack*>(&mb)) name="EstimatedBremOnTrack";
199  return name;
200 }
201 
202 QString
204  return {"FitQuality"};
205 }
206 
207 QString
209 {
210  MeasurementType tmptype = type(&mb);
211  QString info;
212  switch (tmptype){
213  case Pixel:
214  case SCT:
215  case TRT:
216  case CSC:
217  case RPC:
218  case TGC:
219  case MDT:
220  case MM:
221  case sTGC:
222  case Hole:
223  {
225  break;
226  }
227  case CompetingROT:
228  {
229  info+="Contains ";
230  const Trk::CompetingRIOsOnTrack* tmpCROT = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(&mb);
231  if (tmpCROT){
234  info+=" ROTs";
235  }
236  break;
237  }
238  case PseudoMeasurement:
239  case Segment:
240  case Unknown:
241  {
242  info+="Not yet implemented.";
243  break;
244  }
245  }
246  return info;
247 }
248 
249 void
251 {
252  info.append("Local: (");
253  info.append( QString::number(mb.localParameters ()[Trk::loc1] ) );
254  if (mb.localParameters ().dimension()==2 ) {
255  info.append(", ");
256  info.append( QString::number(mb.localParameters ()[Trk::loc2] ) );
257  }
258  info.append(").");
259 }
260 
261 QString
263  const Amg::Vector2D & locPos= tp.localPosition ();
264  QString info ("Local: (");
265  info+= QString::number(locPos[Trk::loc1] );
266  info+=", ";
267  info+= QString::number(locPos[Trk::loc2] );
268  info+=") [CLHEP::mm], P=";
269  info+=VP1Msg::str(tp.momentum()/CLHEP::MeV);
270  info+=" [MeV], |P|="+VP1Msg::str(tp.momentum().mag()/CLHEP::GeV);
271  info+=" [GeV], |Pt|="+VP1Msg::str(tp.momentum().perp()/CLHEP::GeV);
272  info+=" [GeV]";
273 
274  return info;
275 }
276 
277 QString
279  QString info;
280 
281  const Trk::MaterialEffectsOnTrack* meot = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&me);
282  const Trk::EstimatedBremOnTrack* ebot = dynamic_cast<const Trk::EstimatedBremOnTrack*>(&me);
283  if (meot) {
284  if (meot->energyLoss())
285  {
286  info.append("Energy loss [MeV]: ");
287  if (meot->energyLoss()->sigmaPlusDeltaE()==meot->energyLoss()->sigmaMinusDeltaE()){
289  info.append(" +/- ");
291  } else {
293  info.append(" +/- ");
295  info+="/";
297  }
298  }
299  if (meot->scatteringAngles())
300  {
301  if (meot->energyLoss()) info.append(", ");
302  info.append("Delta phi: (");
304  info.append(" +/- ");
306  info.append("), Delta theta: (");
308  info.append(" +/- ");
310  info.append(")");
311  }
312  } else if (ebot) {
313  info="Not yet implemented.";
314  } else {
315  info="Not known!";
316  }
317  return info;
318 }
319 
320 QString
322  QString info("(Chi^2, DOF)=(");
324  info.append(", ");
325  info+=QString::number(fqos.numberDoF());
326  info.append(")");
327  return info;
328 }
329 
330 QStringList
332 {
333  const Amg::Vector2D & locPos= tp.localPosition ();
334  QStringList info ("Local");
335  info+= "("+QString::number(locPos[Trk::loc1] ) +", "+ QString::number(locPos[Trk::loc2] )+") [CLHEP::mm]";
336  info+="Momentum";
337  info+=VP1Msg::str(tp.momentum()/CLHEP::MeV)+" [MeV], |P|=("+VP1Msg::str(tp.momentum().mag()/CLHEP::GeV)+") [GeV], |Pt|=("
338  +VP1Msg::str(tp.momentum().perp()/CLHEP::GeV)+") [GeV]";
339  info+="Parameters";
340  QString parameters="(";
341  for (int i = 0; i< tp.parameters().rows(); i++){
342  parameters+=VP1Msg::str((tp.parameters())[i]);
343  if (i<(tp.parameters().rows()-1)) parameters+=", ";
344  }
345  info+=parameters+")";
346  return info;
347 }
348 
349 QStringList
351  QStringList info("Chi^2");
353  info+="NDF";
354  info+=QString::number(fqos.numberDoF()) ;
355  return info;
356 }
357 
358 QStringList
360  QStringList info;
361 
362  const Trk::MaterialEffectsOnTrack* meot = dynamic_cast<const Trk::MaterialEffectsOnTrack*>(&me);
363  const Trk::EstimatedBremOnTrack* ebot = dynamic_cast<const Trk::EstimatedBremOnTrack*>(&me);
364  if (meot) {
365  if (meot->energyLoss())
366  {
367  info.append("Energy loss");
368  if (meot->energyLoss()->sigmaPlusDeltaE()==meot->energyLoss()->sigmaMinusDeltaE()){
369  info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV)+QString(" +/- ")+QString::number(meot->energyLoss()->sigmaPlusDeltaE()/CLHEP::MeV)+QString(" [MeV]");
370  } else {
371  info+=QString::number(meot->energyLoss()->deltaE()/CLHEP::MeV)+QString(" +/- ")
373  +QString(" [MeV]");
374  }
375  }
376  if (meot->scatteringAngles())
377  {
378  info.append("Delta phi");
380  info+="Delta theta";
382  }
383  } else if (ebot) {
384  info+="Not yet implemented.";
385  info+="";
386  } else {
387  info+="Not known!";
388  info+="";
389  }
390  return info;
391 }
392 
393 QStringList
395 {
396 
397  QStringList info ("Local");
398 
399  QString posInfo("");
400  if (meas.localParameters().contains(Trk::loc1)) {
401  posInfo = QString("(") + QString::number(meas.localParameters()[Trk::loc1]) ;
402 
403  if (meas.localParameters ().dimension()==2 ) {
404  posInfo.append(", ");
405  posInfo.append( QString::number(meas.localParameters ()[Trk::loc2] ) );
406  }
407  posInfo.append(") [CLHEP::mm]");
408  info+= posInfo;
409  } else {
410  info+= QString("[no 'Local' parameters available]");
411  }
412 
413  const Amg::MatrixX& err = meas.localCovariance();
414  info+="Error";
415 
416  int dim= err.rows();
417  QString errInfo=QString("(") + QString::number(err(0,0));
418  if (dim==1){
419  errInfo+=")";
420  info+=errInfo;
421 
422  } else {
423  // assuming 2-dim!
424  errInfo+=",";
425  errInfo+=QString::number(err(0,1));
426  info+=errInfo;
427  //row 2
428  info+=QString("");
429  info+=(QString("(") + QString::number(err(1,0))+QString(",")+QString::number(err(1,1))+QString(")"));
430  }
431 
432  // Okay, now let's get specific!
433  const Trk::RIO_OnTrack* rot = dynamic_cast<const Trk::RIO_OnTrack*>(&meas);
434  if (rot) addFullInfo(info,rot);
435 
436  const Trk::CompetingRIOsOnTrack* crot= dynamic_cast<const Trk::CompetingRIOsOnTrack*>(&meas);
437  if (crot) addFullInfo(info,crot);
438 
439  const Trk::PseudoMeasurementOnTrack* pmeas= dynamic_cast<const Trk::PseudoMeasurementOnTrack*>(&meas);
440  if (pmeas) addFullInfo(info,pmeas);
441 
442  const Trk::Segment* seg= dynamic_cast<const Trk::Segment*>(&meas);
443  if (seg) addFullInfo(info,seg);
444 
445  return info;
446 }
447 
448 void
450  // ROTS
451  info+="Identifier";
453  info+="Local";
454  QString locParams="("+QString::number(rot->localParameters ()[Trk::loc1] );
455  if (rot->localParameters ().dimension()==2 ) {
456  locParams.append(", ");
457  locParams.append( QString::number(rot->localParameters ()[Trk::loc2] ) );
458  }
459  locParams.append(")");
460  info+=locParams;
461  const InDet::PixelClusterOnTrack* pix =dynamic_cast<const InDet::PixelClusterOnTrack*> (rot);
462  if (pix) {
463  info+="Cluster Ambiguity";
464  info+=pix->hasClusterAmbiguity () ? "True": "False";
465  info+="Fake";
466  info+=pix->isFake () ? "True": "False";
467  info+="Energy Loss";
468  info+=QString::number(pix->energyLoss ())+QString(" [Mev]");
469  return;
470  }
471 
472  const InDet::SCT_ClusterOnTrack* sct =dynamic_cast<const InDet::SCT_ClusterOnTrack*> (rot);
473  if (sct) {
474  //Nothing yet
475  return;
476  }
477 
478  const InDet::TRT_DriftCircleOnTrack* trt =dynamic_cast<const InDet::TRT_DriftCircleOnTrack*> (rot);
479  if (trt) {
480  info+="Side";
481  switch (trt->side()){
482  case Trk::NONE: { info+="None"; break;}
483  case Trk::LEFT: { info+="Left"; break;}
484  case Trk::RIGHT: { info+="Right"; break;}
485  }
486 
487  info+="Status";
488  switch (trt->status()){
489  case Trk::DECIDED: { info+="Decided"; break;}
490  case Trk::UNDECIDED: { info+="Undecided"; break;}
491  case Trk::CORRUPT: { info+="Corrupt"; break;}
492  case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
493  }
494 
495  info+="High Level";
496  info+=trt->highLevel () ? "True": "False";
497  info+="Time over threshold";
498  info+=QString::number(trt->timeOverThreshold ())+QString(" [CLHEP::ns]");
499 
500  return;
501  }
502 
503  const Muon::CscClusterOnTrack* csc =dynamic_cast<const Muon::CscClusterOnTrack*> (rot);
504  if (csc) {
505  info+="Status";
506 
507  info+=Muon::toString(csc->status()).c_str();
508  return;
509  }
510 
511  const Muon::RpcClusterOnTrack* rpc =dynamic_cast<const Muon::RpcClusterOnTrack*> (rot);
512  if (rpc) {
513  // nothing
514  }
515 
516  const Muon::TgcClusterOnTrack* tgc =dynamic_cast<const Muon::TgcClusterOnTrack*> (rot);
517  if (tgc) {
518  //nothing
519  }
520 
521  const Muon::MdtDriftCircleOnTrack* mdt =dynamic_cast<const Muon::MdtDriftCircleOnTrack*> (rot);
522  if (mdt) {
523  info+="Side";
524  switch (mdt->side()){
525  case Trk::NONE: { info+="None"; break;}
526  case Trk::LEFT: { info+="Left"; break;}
527  case Trk::RIGHT: { info+="Right"; break;}
528  }
529 
530  info+="Status";
531  switch (mdt->status()){
532  case Trk::DECIDED: { info+="Decided"; break;}
533  case Trk::UNDECIDED: { info+="Undecided"; break;}
534  case Trk::CORRUPT: { info+="Corrupt"; break;}
535  case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
536  }
537  info+="Has sagging correction";
539  info+="Drift time";
540  info+=QString::number(mdt->driftTime ())+QString(" [CLHEP::ns]");
541  //TK: Uncomment timing mode for now due to const issues
542  //info+="Timing mode";
543  // info+=QString::number(mdt->timingMode ());
544 
545 // FIXME! Add creation parameters
546 
547  // info+="Status";
548  // switch (mdt->status()){
549  // case Trk::DECIDED: { info+="Decided"; break;}
550  // case Trk::UNDECIDED: { info+="Undecided"; break;}
551  // case Trk::CORRUPT: { info+="Corrupt"; break;}
552  // case Trk::NODRIFTTIME: { info+="No Drift Time"; break;}
553  // }
554  return;
555  }
556 }
557 
558 void
560 {
561  info+="Contains IDs";
562  unsigned int nrio = crot->numberOfContainedROTs();
563  QString rots;
564  for (unsigned int n = 0; n < nrio; n++)
565  {
566  rots+=QString::number(crot->rioOnTrack(n).identify().get_compact());
567  if (n<(nrio-1)) rots+=", ";
568  }
569  info+=rots;
570 }
571 
572 void
574 {
575 }
576 
577 void
579 {
580 }
grepfile.info
info
Definition: grepfile.py:38
InDet::TRT_DriftCircleOnTrack::side
Trk::DriftCircleSide side() const
returns the side on which the drift radius is.
Definition: TRT_DriftCircleOnTrack.cxx:147
Trk::ScatteringAngles::deltaPhi
double deltaPhi() const
returns the
Definition: ScatteringAngles.h:82
Trk::EnergyLoss::sigmaMinusDeltaE
double sigmaMinusDeltaE() const
returns the negative side
SCT_ClusterOnTrack.h
Trk::PrepRawDataType::MdtPrepData
@ MdtPrepData
MdtReadoutElement.h
InDet::TRT_DriftCircleOnTrack::status
Trk::DriftCircleStatus status() const
returns the status of the drift radius calibration.
Definition: TRT_DriftCircleOnTrack.h:229
EstimatedBremOnTrack.h
EnergyLoss.h
ScatteringAngles.h
Trk::NONE
@ NONE
it was not possible to determine the which side of the straw the track passed;
Definition: DriftCircleSide.h:18
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
sTgcClusterOnTrack.h
TrackParameters.h
TrkObjToString::addBaseROTInfo
static void addBaseROTInfo(QString &info, const Trk::MeasurementBase &mb)
Definition: TrkObjToString.cxx:250
MeasurementBase.h
Trk::PrepRawDataType::TgcPrepData
@ TgcPrepData
Trk::PrepRawDataType::MMPrepData
@ MMPrepData
TrkObjToString::RPC
@ RPC
Definition: TrkObjToString.h:44
TrkObjToString::SCT
@ SCT
Definition: TrkObjToString.h:41
CompetingRIOsOnTrack.h
PixelCluster.h
TrkObjToString::TGC
@ TGC
Definition: TrkObjToString.h:45
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
TrkObjToString::PseudoMeasurement
@ PseudoMeasurement
Definition: TrkObjToString.h:51
TrkObjToString::MM
@ MM
Definition: TrkObjToString.h:47
VP1Msg.h
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
python.SystemOfUnits.MeV
int MeV
Definition: SystemOfUnits.py:154
Trk::LocalParameters::contains
bool contains(ParamDefs par) const
The simple check for the clients whether the parameter is contained.
Trk::FitQualityImpl::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Muon::TgcClusterOnTrack
Class to represent calibrated clusters formed from TGC strips.
Definition: TgcClusterOnTrack.h:46
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Muon::MdtDriftCircleOnTrack::errorStrategy
const MuonDriftCircleErrorStrategy & errorStrategy() const
Get information about the creation strategy used by Muon::MdtDriftCircleOnTrackCreator when making th...
Definition: MdtDriftCircleOnTrack.h:283
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:54
Trk::loc2
@ loc2
generic first and second local coordinate
Definition: ParamDefs.h:41
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
InDet::TRT_DriftCircleOnTrack::highLevel
bool highLevel() const
returns true if the high level threshold was passed
Definition: TRT_DriftCircleOnTrack.h:234
Trk::PrepRawData::type
virtual bool type(PrepRawDataType type) const =0
Interface method checking the type.
SiClusterOnTrack.h
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
Muon::RpcClusterOnTrack
Class to represent calibrated clusters formed from RPC strips.
Definition: RpcClusterOnTrack.h:35
MdtPrepData.h
MuonGM::CscReadoutElement
Definition: CscReadoutElement.h:56
MdtDriftCircleOnTrack.h
Trk::MaterialEffectsBase
base class to integrate material effects on Trk::Track in a flexible way.
Definition: MaterialEffectsBase.h:35
Trk::PrepRawDataType::RpcPrepData
@ RpcPrepData
InDet::TRT_DriftCircleOnTrack
Definition: TRT_DriftCircleOnTrack.h:53
MaterialEffectsBase.h
VP1String::str
static QString str(const QString &s)
Definition: VP1String.h:49
SCT_Cluster.h
TgcPrepData.h
Muon::MdtDriftCircleOnTrack::driftTime
double driftTime() const
Returns the value of the drift time used to obtain the drift radius.
Definition: MdtDriftCircleOnTrack.h:280
MMClusterOnTrack.h
Muon::MuonDriftCircleErrorStrategy::WireSagGeomCorrection
@ WireSagGeomCorrection
Wire sag was applied, and so will affect errors.
Definition: MuonDriftCircleErrorStrategy.h:25
Trk::PrepRawDataType::CscPrepData
@ CscPrepData
Trk::UNDECIDED
@ UNDECIDED
sign of drift radius has not been determined
Definition: DriftCircleStatus.h:20
MaterialEffectsOnTrack.h
TgcClusterOnTrack.h
Trk::PseudoMeasurementOnTrack
Class to handle pseudo-measurements in fitters and on track objects.
Definition: PseudoMeasurementOnTrack.h:44
TrkObjToString::fullInfo
static QStringList fullInfo(const Trk::MeasurementBase &tp)
Returns list of key, value, key, value etc.
Definition: TrkObjToString.cxx:394
Trk::MaterialEffectsOnTrack
represents the full description of deflection and e-loss of a track in material.
Definition: MaterialEffectsOnTrack.h:40
Trk::CompetingRIOsOnTrack::rioOnTrack
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
RpcClusterOnTrack.h
Trk::ScatteringAngles::sigmaDeltaTheta
double sigmaDeltaTheta() const
returns the
Definition: ScatteringAngles.h:100
Muon::toString
std::string toString(CscStripStatus cstat)
Return a string description of a CSC cluster status flag.
Definition: CscStripStatus.h:48
Muon::MdtDriftCircleOnTrack::side
Trk::DriftCircleSide side() const
Returns the side on which the drift radius is wrt to the track.
Definition: MdtDriftCircleOnTrack.h:249
TrkObjToString.h
CscPrepData.h
MuonGM::MdtReadoutElement
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/MdtReadoutElement.h:50
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:193
Trk::CompetingRIOsOnTrack::numberOfContainedROTs
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
lumiFormat.i
int i
Definition: lumiFormat.py:92
Trk::CORRUPT
@ CORRUPT
the measurement is corrupt, but for some reason has been left on a track.
Definition: DriftCircleStatus.h:22
beamspotman.n
n
Definition: beamspotman.py:731
TrkObjToString::CSC
@ CSC
Definition: TrkObjToString.h:43
Segment.h
Trk::RIGHT
@ RIGHT
the drift radius is positive (see Trk::AtaStraightLine)
Definition: DriftCircleSide.h:22
Trk::Segment
Definition: TrkEvent/TrkSegment/TrkSegment/Segment.h:56
CscClusterOnTrack.h
TrkObjToString::name
static QString name(const Trk::MeasurementBase &mb)
Definition: TrkObjToString.cxx:144
Trk::CompetingRIOsOnTrack
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
Definition: CompetingRIOsOnTrack.h:64
CscReadoutElement.h
Trk::EnergyLoss::deltaE
double deltaE() const
returns the
MuonGM::TgcReadoutElement
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/TgcReadoutElement.h:42
PseudoMeasurementOnTrack.h
TrkObjToString::MDT
@ MDT
Definition: TrkObjToString.h:46
TrkObjToString::type
static MeasurementType type(const Trk::PrepRawData *prd)
Definition: TrkObjToString.cxx:64
beamspotnt.rows
list rows
Definition: bin/beamspotnt.py:1112
Trk::NODRIFTTIME
@ NODRIFTTIME
drift time was not used - drift radius is 0.
Definition: DriftCircleStatus.h:24
Trk::ParametersBase
Definition: ParametersBase.h:55
TRT_DriftCircleOnTrack.h
Trk::CurvilinearParametersT
Definition: CurvilinearParametersT.h:48
Muon::MdtDriftCircleOnTrack::status
Trk::DriftCircleStatus status() const
Returns the status of the drift radius calibration.
Definition: MdtDriftCircleOnTrack.h:255
CscClusterStatus.h
TRT_DriftCircle.h
Muon::sTgcClusterOnTrack
Class to represent calibrated clusters formed from TGC strips.
Definition: sTgcClusterOnTrack.h:30
Trk::MeasurementBase::localCovariance
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
Definition: MeasurementBase.h:138
Trk::DECIDED
@ DECIDED
sign of drift radius has been determined
Definition: DriftCircleStatus.h:18
Trk::FitQualityImpl::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60
InDetDD::SiDetectorElement::isPixel
bool isPixel() const
Trk::PrepRawDataType::TRT_DriftCircle
@ TRT_DriftCircle
Trk::PrepRawData
Definition: PrepRawData.h:62
Muon::MMClusterOnTrack
Class to represent calibrated clusters formed from TGC strips.
Definition: MMClusterOnTrack.h:26
Trk::MeasurementBase
Definition: MeasurementBase.h:58
TrkObjToString::TRT
@ TRT
Definition: TrkObjToString.h:42
TRT_BaseElement.h
InDet::TRT_DriftCircleOnTrack::timeOverThreshold
double timeOverThreshold() const
returns time over threshold in ns for valid digits; zero otherwise
Definition: TRT_DriftCircleOnTrack.h:239
python.selection.number
number
Definition: selection.py:20
RIO_OnTrack.h
Trk::PrepRawDataType::PixelCluster
@ PixelCluster
Trk::PrepRawDataType::sTgcPrepData
@ sTgcPrepData
Muon::MdtDriftCircleOnTrack
This class represents the corrected MDT measurements, where the corrections include the effects of wi...
Definition: MdtDriftCircleOnTrack.h:37
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElement.h
TrkObjToString::shortInfo
static QString shortInfo(const Trk::MeasurementBase &mb)
Definition: TrkObjToString.cxx:208
TrkObjToString::Segment
@ Segment
Definition: TrkObjToString.h:52
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition: MeasurementBase.h:132
Trk::LocalParameters::dimension
int dimension() const
Dimension of this localParameters() vector.
TrkObjToString::typeName
static std::string typeName(MeasurementType type)
Returns a very short summary of the object type.
Definition: TrkObjToString.h:87
Trk::FitQualityImpl
simple/trivial Implemenation class for fit the fit quality. It holds the same payload as FitQuality_p...
Definition: FitQuality.h:32
Muon::CscClusterOnTrack
Class to represent the calibrated clusters created from CSC strips.
Definition: CscClusterOnTrack.h:47
Trk::MaterialEffectsOnTrack::energyLoss
const EnergyLoss * energyLoss() const
returns the energy loss object.
Identifier::get_compact
value_type get_compact(void) const
Get the compact id.
Trk::EstimatedBremOnTrack
class holding information about momentum reduction and an additional noise term due to significant en...
Definition: EstimatedBremOnTrack.h:30
InDet::PixelClusterOnTrack
Definition: PixelClusterOnTrack.h:51
Trk::PrepRawDataType::SCT_Cluster
@ SCT_Cluster
TrkObjToString::Unknown
@ Unknown
Definition: TrkObjToString.h:53
TRT_PAI_physicsConstants::mb
const double mb
1mb to cm2
Definition: TRT_PAI_physicsConstants.h:15
Trk::MaterialEffectsOnTrack::scatteringAngles
const ScatteringAngles * scatteringAngles() const
returns the MCS-angles object.
Muon::CscClusterOnTrack::status
CscClusterStatus status() const
Returns Csc position measurement status flag.
Definition: CscClusterOnTrack.h:178
Trk::RIO_OnTrack::identify
virtual Identifier identify() const final
return the identifier -extends MeasurementBase
Definition: RIO_OnTrack.h:155
Trk::ScatteringAngles::sigmaDeltaPhi
double sigmaDeltaPhi() const
returns the
Definition: ScatteringAngles.h:94
TrkObjToString::addFullInfo
static void addFullInfo(QStringList &info, const Trk::RIO_OnTrack *)
Definition: TrkObjToString.cxx:449
TrkObjToString::CompetingROT
@ CompetingROT
Definition: TrkObjToString.h:50
physics_parameters.parameters
parameters
Definition: physics_parameters.py:144
TrkObjToString::Pixel
@ Pixel
Definition: TrkObjToString.h:40
TgcReadoutElement.h
Trk::LEFT
@ LEFT
the drift radius is negative (see Trk::AtaStraightLine)
Definition: DriftCircleSide.h:20
InDetDD::SiDetectorElement::isSCT
bool isSCT() const
MuonClusterOnTrack.h
Trk::ScatteringAngles::deltaTheta
double deltaTheta() const
returns the
Definition: ScatteringAngles.h:88
RpcPrepData.h
pix
Definition: PixelMapping.cxx:16
PixelClusterOnTrack.h
TrkObjToString::Hole
@ Hole
Definition: TrkObjToString.h:49
Trk::CompetingRIOsOnTrack::indexOfMaxAssignProb
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
Definition: CompetingRIOsOnTrack.cxx:101
Trk::loc1
@ loc1
Definition: ParamDefs.h:40
TrkObjToString::sTGC
@ sTGC
Definition: TrkObjToString.h:48
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
TrkObjToString::MeasurementType
MeasurementType
Definition: TrkObjToString.h:39
Muon::MuonDriftCircleErrorStrategy::creationParameter
bool creationParameter(CreationParameter) const
Definition: MuonDriftCircleErrorStrategy.h:84
Trk::EnergyLoss::sigmaPlusDeltaE
double sigmaPlusDeltaE() const
returns the positive side
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57
InDet::SCT_ClusterOnTrack
Definition: SCT_ClusterOnTrack.h:44
RpcReadoutElement.h