Belle II Software  release-08-01-10
genfit Namespace Reference

Defines for I/O streams used for error and debug printing. More...

Namespaces

 RKTools
 Array matrix multiplications used in RKTrackRep.
 

Classes

class  AbsBField
 Abstract Interface to magnetic fields in GENFIT. More...
 
class  AbsFinitePlane
 Abstract base class for finite detector planes. More...
 
class  AbsFitter
 Abstract base class for fitters. More...
 
class  AbsFitterInfo
 This class collects all information needed and produced by a specific AbsFitter and is specific to one AbsTrackRep of the Track. More...
 
class  AbsHMatrix
 HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane. More...
 
class  AbsMeasurement
 Contains the measurement and covariance in raw detector coordinates. More...
 
struct  MatStep
 Simple struct containing MaterialProperties and stepsize in the material. More...
 
class  AbsTrackRep
 Abstract base class for a track representation. More...
 
class  DetPlane
 Detector plane. More...
 
class  Exception
 Exception class for error handling in GENFIT (provides storage for diagnostic information) More...
 
struct  fieldCache
 Cache B field at a position. More...
 
class  FieldManager
 Singleton which provides access to magnetic field maps. More...
 
struct  PruneFlags
 Info which information has been pruned from the Track. More...
 
class  FitStatus
 Class where important numbers and properties of a fit can be stored. More...
 
struct  Material
 
class  MeasuredStateOnPlane
 #StateOnPlane with additional covariance matrix. More...
 
class  MeasurementFactory
 Factory object to create AbsMeasurement objects from digitized and clustered data. More...
 
class  MeasurementOnPlane
 Measured coordinates on a plane. More...
 
class  AbsMeasurementProducer
 Abstract interface class for MeasurementProducer. More...
 
class  MeasurementProducer
 Template class for a measurement producer module. More...
 
class  SharedPlanePtrCreator
 Class allowing to create a SharedPlanePtr from a DetPlane from Python. More...
 
class  StateOnPlane
 A state with arbitrary dimension defined in a DetPlane. More...
 
class  ThinScatterer
 Thin or thick scatterer. More...
 
class  TrackPointComparator
 Helper class for TrackPoint sorting, used in Track::sort(). More...
 
class  Track
 Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects. More...
 
class  TrackCand
 Track candidate – seed values and indices. More...
 
class  TrackCandHit
 Hit object for use in TrackCand. More...
 
class  TrackPoint
 Object containing AbsMeasurement and AbsFitterInfo objects. More...
 
class  EventDisplay
 Event display designed to run with Genfit. More...
 
class  ConstField
 Constant Magnetic field. More...
 
class  RectangularFinitePlane
 Rectangular finite plane. More...
 
class  AbsKalmanFitter
 Abstract base class for Kalman fitter and derived fitting algorithms. More...
 
class  DAF
 Determinstic Annealing Filter (DAF) implementation. More...
 
class  KalmanFitStatus
 FitStatus for use with AbsKalmanFitter implementations. More...
 
class  KalmanFittedStateOnPlane
 #MeasuredStateOnPlane with additional info produced by a Kalman filter or DAF. More...
 
class  KalmanFitter
 Simple Kalman filter implementation. More...
 
class  KalmanFitterInfo
 Collects information needed and produced by a AbsKalmanFitter implementations and is specific to one AbsTrackRep of the Track. More...
 
class  KalmanFitterRefTrack
 Kalman filter implementation with linearization around a reference track. More...
 
class  ReferenceStateOnPlane
 #StateOnPlane with linearized transport to that #ReferenceStateOnPlane from previous and next #ReferenceStateOnPlane More...
 
class  GblFitStatus
 FitStatus for use with GblFitter. More...
 
class  GblFitter
 Generic GBL implementation. More...
 
class  GblFitterInfo
 Collects information needed and produced by a GblFitter/GBL and is specific to one AbsTrackRep of the Track. More...
 
class  GblTrackSegmentController
 TrackSegmentController for use with GblFitter. More...
 
class  GFGbl
 Generic GBL implementation. More...
 
class  ICalibrationParametersDerivatives
 Abstract base class to establish an interface between physical representation of the detector for alignment/calibration and (fitted) state on genfit::Track. More...
 
class  GFRaveMagneticField
 GFRaveMagneticField class Uses the FieldManager to provide a magnetic field to rave. More...
 
class  GFRavePropagator
 GFRavePropagator class. More...
 
class  GFRaveTrackParameters
 GFRaveTrackParameters class Contains a pointer to the original genfit::Track, the weight of the track in the vertex, and smoothed (with the vertex information) state and covariance of the track. More...
 
class  GFRaveVertex
 GFRaveVertex class. More...
 
struct  trackAndState
 Simple struct containing a Track pointer and a MeasuredStateOnPlane. More...
 
class  GFRaveVertexFactory
 Vertex factory for producing GFRaveVertex objects from Track objects. More...
 
class  FullMeasurement
 Measurement class implementing a measurement of all track parameters. More...
 
class  HMatrixPhi
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixU
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixUnit
 AbsHMatrix implementation for 5-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixUV
 AbsHMatrix implementation for two-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  HMatrixV
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  PlanarMeasurement
 Measurement class implementing a planar hit geometry (1 or 2D). More...
 
class  ProlateSpacepointMeasurement
 Class for measurements implementing a space point hit geometry with a very prolate form of the covariance matrix. More...
 
class  SpacepointMeasurement
 Class for measurements implementing a space point hit geometry. More...
 
class  WireMeasurement
 Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...
 
class  WireMeasurementNew
 Class for measurements in wire detectors (Straw tubes and drift chambers) which do not measure the coordinate along the wire. More...
 
class  WirePointMeasurement
 Class for measurements in wire detectors (Straw tubes and drift chambers) which can measure the coordinate along the wire. More...
 
class  WireTrackCandHit
 Hit object for use in TrackCand. More...
 
class  AbsMaterialInterface
 Abstract base class for geometry interfacing. More...
 
class  MaterialEffects
 Stepper and energy loss/noise matrix calculation. More...
 
class  MplTrackRep
 Monopole track representation. More...
 
struct  RKMatrix
 
struct  RKStep
 Helper for RKTrackRep. More...
 
struct  ExtrapStep
 Helper for RKTrackRep. More...
 
class  RKTrackRep
 AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v) More...
 
class  StepLimits
 Helper to store different limits on the stepsize for the RKTRackRep. More...
 
class  TGeoMaterialInterface
 AbsMaterialInterface implementation for use with ROOT's TGeoManager. More...
 
class  HelixTrackModel
 Helix track model for testing purposes. More...
 
class  MeasurementCreator
 Create different measurement types along a HelixTrackModel for testing purposes. More...
 
class  mySpacepointDetectorHit
 Example class for a spacepoint detector hit. More...
 
class  mySpacepointMeasurement
 Example class for a spacepoint measurement which can be created from mySpacepointDetectorHit via the MeasurementFactory. More...
 

Typedefs

typedef std::shared_ptr< genfit::DetPlaneSharedPlanePtr
 Shared Pointer to a DetPlane. More...
 
typedef RKMatrix< 1, 3 > M1x3
 
typedef RKMatrix< 1, 4 > M1x4
 
typedef RKMatrix< 1, 7 > M1x7
 
typedef RKMatrix< 5, 5 > M5x5
 
typedef RKMatrix< 6, 6 > M6x6
 
typedef RKMatrix< 7, 7 > M7x7
 
typedef RKMatrix< 6, 5 > M6x5
 
typedef RKMatrix< 7, 5 > M7x5
 
typedef RKMatrix< 5, 6 > M5x6
 
typedef RKMatrix< 5, 7 > M5x7
 

Enumerations

enum  eFitterType {
  SimpleKalman ,
  RefKalman ,
  DafSimple ,
  DafRef
}
 
enum  eMultipleMeasurementHandling {
  weightedAverage ,
  unweightedAverage ,
  weightedClosestToReference ,
  unweightedClosestToReference ,
  weightedClosestToPrediction ,
  unweightedClosestToPrediction ,
  weightedClosestToReferenceWire ,
  unweightedClosestToReferenceWire ,
  weightedClosestToPredictionWire ,
  unweightedClosestToPredictionWire
}
 
enum  StepLimitType {
  stp_noLimit = 0 ,
  stp_fieldCurv ,
  stp_momLoss ,
  stp_sMax ,
  stp_sMaxArg ,
  stp_boundary ,
  stp_plane ,
  ENUM_NR_ITEMS
}
 
enum  eMeasurementType {
  Pixel = 0 ,
  Spacepoint ,
  ProlateSpacepoint ,
  StripU ,
  StripV ,
  StripUV ,
  Wire ,
  WirePoint ,
  nMeasurementTypes
}
 

Functions

AbsFitterInfonew_clone (const AbsFitterInfo &a)
 Needed for boost cloneability:
 
bool operator== (const Material &lhs, const Material &rhs)
 
bool operator!= (const Material &lhs, const Material &rhs)
 
MeasuredStateOnPlane calcAverageState (const MeasuredStateOnPlane &forwardState, const MeasuredStateOnPlane &backwardState)
 Calculate weighted average between two MeasuredStateOnPlanes.
 
bool operator== (const DetPlane &lhs, const DetPlane &rhs)
 
bool operator!= (const DetPlane &lhs, const DetPlane &rhs)
 
bool operator== (const TrackCand &lhs, const TrackCand &rhs)
 
bool operator== (const TrackCandHit &lhs, const TrackCandHit &rhs)
 
std::vector< rave::Track > GFTracksToTracks (const std::vector< genfit::Track * > &GFTracks, std::vector< genfit::MeasuredStateOnPlane * > *GFStates, std::map< int, genfit::trackAndState > &IdGFTrackStateMap, int startID=0)
 Convert a vector of genfit::Tracks to rave::Tracks also builds a map of unique ids to genfit::Tracks; These ids are stored in the rave::tracks. More...
 
rave::Track GFTrackToTrack (trackAndState, int id=-1, std::string tag="")
 
void setData (const rave::Track &orig, MeasuredStateOnPlane *state)
 set state and cov of a MeasuredStateOnPlane according to rave track
 
GFRaveVertexRaveToGFVertex (const rave::Vertex &, const std::map< int, genfit::trackAndState > &IdGFTrackStateMap)
 
void RaveToGFVertices (std::vector< GFRaveVertex * > *, const std::vector< rave::Vertex > &, const std::map< int, genfit::trackAndState > &IdGFTrackStateMap)
 
SharedPlanePtr PlaneToGFDetPlane (const ravesurf::Plane &rplane)
 
TVector3 Point3DToTVector3 (const rave::Point3D &)
 
TVector3 Vector3DToTVector3 (const rave::Vector3D &)
 
TMatrixDSym Covariance3DToTMatrixDSym (const rave::Covariance3D &)
 
TVectorD Vector6DToTVectorD (const rave::Vector6D &)
 
TMatrixDSym Covariance6DToTMatrixDSym (const rave::Covariance6D &)
 
rave::Point3D TVector3ToPoint3D (const TVector3 &)
 
rave::Covariance3D TMatrixDSymToCovariance3D (const TMatrixDSym &)
 
double MeanExcEnergy_get (int Z)
 
double MeanExcEnergy_get (TGeoMaterial *)
 
double MeanExcEnergy_get (int Z, bool logs=false)
 

Variables

std::ostream debugOut
 Default stream for debug output. More...
 
std::ostream errorOut
 Default stream for error output. More...
 
std::ostream printOut
 Default stream for output of Print calls. More...
 
const int c_monopolePDGCode = 99666
 
const int MeanExcEnergy_NELEMENTS = 93
 
const double MeanExcEnergy_vals [MeanExcEnergy_NELEMENTS]
 
const double MeanExcEnergy_logs [MeanExcEnergy_NELEMENTS]
 

Detailed Description

Defines for I/O streams used for error and debug printing.

Collection of converter functions.

Namespace for the general broken lines package.

Matrix inversion tools.

Typedef Documentation

◆ SharedPlanePtr

typedef std::shared_ptr< genfit::DetPlane > SharedPlanePtr

Shared Pointer to a DetPlane.

Ownership can be shared, e.g between multiple StateOnPlane objects. The DetPlane will automatically be deleted, if no owner remains.

Definition at line 40 of file SharedPlanePtr.h.

Enumeration Type Documentation

◆ eMultipleMeasurementHandling

Enumerator
weightedAverage 

weighted average between measurements; used by DAF

unweightedAverage 

average between measurements, all weighted with 1

weightedClosestToReference 

closest to reference, weighted with its weight_

unweightedClosestToReference 

closest to reference, weighted with 1

weightedClosestToPrediction 

closest to prediction, weighted with its weight_

unweightedClosestToPrediction 

closest to prediction, weighted with 1

weightedClosestToReferenceWire 

if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with its weight_.

Otherwise use weightedAverage.

unweightedClosestToReferenceWire 

if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with 1.

Otherwise use unweightedAverage.

weightedClosestToPredictionWire 

if corresponding TrackPoint has one WireMeasurement, select closest to prediction, weighted with its weight_.

Otherwise use weightedAverage.

unweightedClosestToPredictionWire 

if corresponding TrackPoint has one WireMeasurement, select closest to prediction, weighted with 1.

Otherwise use unweightedAverage. Recommended for KalmanFitter to 'resolve' l/r ambiguities

Definition at line 35 of file AbsKalmanFitter.h.

35  {
46 };
@ unweightedClosestToPrediction
closest to prediction, weighted with 1
@ unweightedAverage
average between measurements, all weighted with 1
@ weightedAverage
weighted average between measurements; used by DAF
@ weightedClosestToReferenceWire
if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with its w...
@ weightedClosestToReference
closest to reference, weighted with its weight_
@ weightedClosestToPredictionWire
if corresponding TrackPoint has one WireMeasurement, select closest to prediction,...
@ unweightedClosestToReference
closest to reference, weighted with 1
@ unweightedClosestToReferenceWire
if corresponding TrackPoint has one WireMeasurement, select closest to reference, weighted with 1.
@ unweightedClosestToPredictionWire
if corresponding TrackPoint has one WireMeasurement, select closest to prediction,...
@ weightedClosestToPrediction
closest to prediction, weighted with its weight_

Function Documentation

◆ GFTracksToTracks()

std::vector< rave::Track > GFTracksToTracks ( const std::vector< genfit::Track * > &  GFTracks,
std::vector< genfit::MeasuredStateOnPlane * > *  GFStates,
std::map< int, genfit::trackAndState > &  IdGFTrackStateMap,
int  startID = 0 
)

Convert a vector of genfit::Tracks to rave::Tracks also builds a map of unique ids to genfit::Tracks; These ids are stored in the rave::tracks.

They are counted from startID. The map has to be passed to the GFRavePropagator, so that it can access the trackreps of the genfit::Tracks corresponding to the rave::tracks. If a vector of MeasuredStateOnPlane is provided, they will be used (instead of the tracks fitted states) to calculate the rave::Track parameters. Ownership over MeasuredStateOnPlane will be taken.

Definition at line 36 of file GFRaveConverters.cc.

39  {
40 
41  unsigned int ntracks(GFTracks.size());
42 
43  if (GFStates != nullptr)
44  if (GFTracks.size() != GFStates->size()) {
45  Exception exc("GFTracksToTracks ==> GFStates has not the same size as GFTracks!",__LINE__,__FILE__);
46  throw exc;
47  }
48 
49  std::vector < rave::Track > ravetracks;
50  ravetracks.reserve(ntracks);
51 
52  for (unsigned int i=0; i<ntracks; ++i){
53 
54  if (GFTracks[i] == nullptr) {
55  Exception exc("GFTracksToTracks ==> genfit::Track is nullptr",__LINE__,__FILE__);
56  throw exc;
57  }
58 
59  // only convert successfully fitted tracks!
60  if (!GFTracks[i]->getFitStatus(GFTracks[i]->getCardinalRep())->isFitConverged()) continue;
61 
62  if (IdGFTrackStateMap.count(startID) > 0){
63  Exception exc("GFTracksToTracks ==> IdGFTrackStateMap has already an entry for this id",__LINE__,__FILE__);
64  throw exc;
65  }
66  IdGFTrackStateMap[startID].track_ = GFTracks[i];
67  if (GFStates == nullptr)
68  IdGFTrackStateMap[startID].state_ = new MeasuredStateOnPlane(GFTracks[i]->getFittedState()); // here clones are made so that the state of the original GFTracks and their TrackReps will not be altered by the vertexing process
69  else
70  IdGFTrackStateMap[startID].state_ = (*GFStates)[i];
71 
72  ravetracks.push_back(GFTrackToTrack(IdGFTrackStateMap[startID], startID) );
73 
74  ++startID;
75  }
76 
77  //std::cout << "IdGFTrackStateMap size " << IdGFTrackStateMap.size() << std::endl;
78  return ravetracks;
79 }

◆ operator==()

bool genfit::operator== ( const TrackCandHit lhs,
const TrackCandHit rhs 
)

Does not check sortingParameter.

Definition at line 46 of file TrackCandHit.cc.

46  {
47  if(lhs.detId_ == rhs.detId_ &&
48  lhs.hitId_ == rhs.hitId_ &&
49  lhs.planeId_ == rhs.planeId_)
50  return true;
51  return false;
52 }

Variable Documentation

◆ debugOut

std::ostream debugOut
extern

Default stream for debug output.

Defaults to std::cout. Override destination with debugOut.rdbuf(newStream.rdbuf()).

◆ errorOut

std::ostream errorOut
extern

Default stream for error output.

Defaults to std::cerr. Override destination with errorOut.rdbuf(newStream.rdbuf()).

◆ MeanExcEnergy_logs

const double MeanExcEnergy_logs[MeanExcEnergy_NELEMENTS]
Initial value:
= {
34.5388, 2.95491, 3.7329, 3.68888, 4.15418, 4.33073, 4.35671, 4.40672,
4.55388, 4.74493, 4.91998, 5.00395, 5.04986, 5.11199, 5.15329, 5.15329,
5.19296, 5.15906, 5.23644, 5.24702, 5.25227, 5.37528, 5.45104, 5.50126,
5.54908, 5.6058, 5.65599, 5.69373, 5.73979, 5.77455, 5.79909, 5.81114,
5.85793, 5.84932, 5.8522, 5.83773, 5.86363, 5.8944, 5.90263, 5.93754,
5.97381, 6.03309, 6.04973, 6.05912, 6.08904, 6.10702, 6.15273, 6.15273,
6.1506, 6.19032, 6.19032, 6.18826, 6.18415, 6.19644, 6.17794, 6.19032,
6.19644, 6.21661, 6.25958, 6.28227, 6.30262, 6.32794, 6.35263, 6.36303,
6.38182, 6.41999, 6.44254, 6.47697, 6.4892, 6.51323, 6.52796, 6.54247,
6.5582, 6.57647, 6.58893, 6.60123, 6.61473, 6.62936, 6.67203, 6.67203,
6.68461, 6.69703, 6.71296, 6.71296, 6.72143, 6.71538, 6.67708, 6.7178,
6.71659, 6.73459, 6.7417, 6.77765, 6.79122, }

Definition at line 229 of file TGeoMaterialInterface.cc.

◆ MeanExcEnergy_vals

const double MeanExcEnergy_vals[MeanExcEnergy_NELEMENTS]
Initial value:
= {
1.e15, 19.2, 41.8, 40.0, 63.7, 76.0, 78., 82.0,
95.0, 115.0, 137.0, 149.0, 156.0, 166.0, 173.0, 173.0,
180.0, 174.0, 188.0, 190.0, 191.0, 216.0, 233.0, 245.0,
257.0, 272.0, 286.0, 297.0, 311.0, 322.0, 330.0, 334.0,
350.0, 347.0, 348.0, 343.0, 352.0, 363.0, 366.0, 379.0,
393.0, 417.0, 424.0, 428.0, 441.0, 449.0, 470.0, 470.0,
469.0, 488.0, 488.0, 487.0, 485.0, 491.0, 482.0, 488.0,
491.0, 501.0, 523.0, 535.0, 546.0, 560.0, 574.0, 580.0,
591.0, 614.0, 628.0, 650.0, 658.0, 674.0, 684.0, 694.0,
705.0, 718.0, 727.0, 736.0, 746.0, 757.0, 790.0, 790.0,
800.0, 810.0, 823.0, 823.0, 830.0, 825.0, 794.0, 827.0,
826.0, 841.0, 847.0, 878.0, 890.0, }

Definition at line 215 of file TGeoMaterialInterface.cc.

◆ printOut

std::ostream printOut
extern

Default stream for output of Print calls.

Defaults to std::cout. Override destination with printOut.rdbuf(newStream.rdbuf()).