Belle II Software  release-08-01-10
tracking
Collaboration diagram for tracking:

Modules

 tracking data objects
 
 tracking modules
 

Classes

class  BeamSpotAlgorithm
 Class implementing BeamSpot calibration algorithm. More...
 
class  BoostVectorAlgorithm
 Class implementing BoostVector calibration algorithm. More...
 
struct  CalibPars
 The parameters related to single calibration interval. More...
 
struct  CalibrationData
 Parameters and data relevant for single calibration interval. More...
 
class  ChebFitter
 Unbinned Maximum Likelihood fitter with a possibility to use Chebyshev interpolation. More...
 
class  InvariantMassAlgorithm
 Class implementing InvariantMass calibration algorithm. More...
 
struct  Atom
 Very small (few mins) calibration interval which cannot be further divided : Atom. More...
 
struct  ExpRun
 Struct containing exp number and run number. More...
 
struct  ExpRunEvt
 struct with expNum, runNum, evtNum More...
 
class  Splitter
 Class that allows to split runs into the intervals of intended properties given by the lossFunction. More...
 
struct  Spline
 Spline structure for zero-order & linear splines. More...
 
class  CDCCKFState
 Define states for CKF algorithm, which can be seed track or CDC wire hit. More...
 
class  ArcLengthBasedCDCfromEclPathPairFilter
 For the two paths with the same number of hits prefers one with shortest arcLength ("densest path") More...
 
class  ArcLengthBasedCDCPathPairFilter
 For the two paths with the same number of hits prefers one with shortest arcLength ("densest path") More...
 
class  CDCPathPairFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  Chi2BasedCDCPathPairFilter
 Prefers path with smallest sum dist^2 / length of path. More...
 
class  DistanceBasedCDCPathPairFilter
 For the two paths with the same number of hits prefers one with smallest sum dist^2. More...
 
class  DuplicateCDCPathPairFilter
 Simple filter to distinguish between photon conversion and Bremsstrahlung. More...
 
class  HitDistanceBasedCDCPathPairFilter
 Prefers path with smallest sum dist^2 / length of path. More...
 
class  MCTruthCDCPathPairFilter
 For the two paths select the one with the most of MC matched hits. More...
 
class  CDCfromEclPathTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCfromEclPathTruthVarSet
 Var set to store basic quantities related to CDC CKF (using truth information) More...
 
class  CDCPathBasicVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCPathBasicVarSet
 Var set to store basic quantities related to CDC CKF. More...
 
class  CDCPathFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  CDCPathTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCPathTruthVarSet
 Var set to store basic quantities related to CDC CKF (using truth information) More...
 
class  SeedChargeCDCPathFilter
 Check if charge of fitted path corresponds to charge of seed. More...
 
class  SizeCDCPathFilter
 Return the size of the path. More...
 
class  CDCfromEclStateTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCfromEclStateTruthVarSet
 Var set to store basic quantities related to CDC CKF (using truth information) More...
 
class  CDCStateBasicVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCStateBasicVarSet
 Var set to store basic quantities related to CDC CKF. More...
 
class  CDCStateFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  CDCStateTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  CDCStateTruthVarSet
 Var set to store basic quantities related to CDC CKF (using truth information) More...
 
class  DistanceCDCStateFilter
 Give a weight based on the distance from the hit to the path. More...
 
class  ExtrapolateAndUpdateCDCStateFilter
 An extrapolateAndUpdate filter for all CDC states. More...
 
class  MCTruthCDCStateFilter
 Give a weight based on the mc truth information (1 or NAN) More...
 
class  MCTruthEclSeedFilter
 Give a weight based on the mc truth information (1 or NAN) More...
 
class  RoughCDCfromEclStateFilter
 A very rough filter for all CDC states. More...
 
class  RoughCDCStateFilter
 A very rough filter for all CDC states. More...
 
class  CDCCKFDuplicateRemover
 Remove duplicate paths created from ECLShowers These typically come from the seeding with two charge assumptions and Bremsstrahlung. More...
 
class  CDCCKFEclSeedCreator
 Findlet for. More...
 
class  CDCCKFPathMerger
 Merge similar paths. More...
 
class  CDCCKFPathSelector
 Select the m_maximalCandidatesInFlight paths for further processing. More...
 
class  CDCCKFResultFinalizer
 Findlet to finalize CKF Paths in terms of final result. More...
 
class  CDCCKFResultStorer
 Store resutling tracks and relations on the dataStore. More...
 
class  CDCCKFSeedCreator
 Create a CKF seed based on RecoTrack (presumably from VXDTF2) More...
 
class  CDCCKFStateCreator
 Create CKF states, based on the current path. Perform some basic selection at this stage (based on phi, max. jump of layers) More...
 
class  CDCCKFStateFilter
 A stack of pre-, helix-extrapolation- , Kalman-extrapolation- and Kalman-update-filters. More...
 
class  CKFToCDCFindlet
 Main findlet of the ToCDCCKF module. More...
 
class  CKFToCDCFromEclFindlet
 Main findlet of the ToCDCCKF module. More...
 
class  StackTreeSearcher
 CKF tree searcher which traces several best paths. More...
 
class  CKFResult< ASeed, AHit >
 Object for temporary storage of a CKF tree search result. More...
 
class  CKFState< ASeed, AHit >
 State object to store one step in the CKF algorithm together with its parent (the state before), the hit (e.g. More...
 
class  AdvanceFilter< AState, AnAdvancer >
 Filter which can be used on a pair of path (vector of states) and states, which will call the extrapolate function of the given advancer class, to extrapolate the last path state to the plane of the new state and store the mSoP in the new state. More...
 
class  KalmanFilter< AState, AKalmanStepper >
 Filter which can be used on a pair of path (vector of states) and states, which will call the kalmanStep function of the given stepper class, to update the mSoP of the new state with a klaman update. More...
 
class  NonIPCrossingStateFilter< AllStateFilter >
 Reusable filter for checking the direction of a new state if it is in the correct orientation (forwards or backwards) by their arc length. More...
 
class  CKFRelationCreator< AState, ASeedRelationFilter, AHitRelationFilter >
 Findlet for applying filters for creating hit-hit and hit-seed relations. More...
 
class  LayerToggledApplier< AState, AFindlet >
 A special findlet, which is chooseable based on a given findlet for layers higher than N, N and for the rest. More...
 
class  LimitedOnStateApplier< AState, AFilter >
 Specialisation of the OnStateApplier, which (a) uses a filter for the () operator, which is configurable (b) does only allow for the best N candidates in the child states. More...
 
class  OnStateApplier< AState >
 Helper findlet which applies its () operator to all pairs of path and state with all states in the given child state list. More...
 
class  OverlapResolver< AFilter >
 Simple findlet for searching the best candidate for a given seed aplying the given filter. More...
 
class  ResultStorer< AResult >
 This findlet does also handle the storing of the results. More...
 
class  SpacePointTagger< AResult, ACluster >
 Findlet for tagging all space points in the results vector as used. More...
 
class  StateCreator< AnObject, AState >
 Create new states and add them to a vector from a given object vector. More...
 
class  StateCreatorWithReversal< AState >
 An adaption of the normal state creator introducing another parameter to reverse the seed. More...
 
class  StateRejecter< AState, AFilter >
 Reject some (or all) states from a given list of child states using 5 filters. More...
 
class  TrackFitterAndDeleter
 Findlet to fit tracks and remove all non fitted ones. More...
 
class  TrackLoader
 Findlet for loading the seeds from the data store. More...
 
class  TreeSearcher< AState, AStateRejecter, AResult >
 Findlet for constructing result paths out of a list of states, which are connected with weighted relations. More...
 
class  Advancer
 Helper findlet for performing an extrapolation of a mSoP of one plane to another plane using the representation stored in the mSoP. More...
 
struct  SeedGetter
 Helper Functor to get the Seed of a given result. More...
 
struct  NumberOfHitsGetter
 Helper Functor to get the Number of hits of a given result. More...
 
struct  GetArcLength
 Helper Functor to get the arc length of a given result. More...
 
class  KalmanStepper< Dimension >
 Class to bundle all algorithms needed for the kalman update procedure. More...
 
class  CKFToPXDResult
 Specialized CKF Result for extrapolating into the PXD. More...
 
class  CKFToPXDState
 Specialized CKF State for extrapolating into the PXD. More...
 
class  DistancePXDPairFilter
 Base filter for CKF PXD states. More...
 
class  LayerPXDRelationFilter< AFilter, APrefilter >
 Base filter for CKF PXD states. More...
 
class  LoosePXDPairFilter
 Base filter for CKF PXD states. More...
 
class  PXDPairFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  SensorPXDPairFilter
 Base filter for CKF PXD states. More...
 
class  PXDResultFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  PXDResultTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  PXDResultTruthVarSet
 Var set used in the CKF for calculating the probability of a correct result, which knows the truth information if two tracks belong together or not. More...
 
class  PXDResultVarNames
 Vehicle class to transport the variable names. More...
 
class  PXDResultVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match, which knows the truth information if two tracks belong together or not. More...
 
class  SizePXDResultFilter
 Base filter for CKF PXD results (on overlap check) More...
 
class  AllPXDStateFilter
 A very simple filter for all space points. More...
 
class  PXDStateBasicVarNames
 Vehicle class to transport the variable names. More...
 
class  PXDStateBasicVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match. More...
 
class  PXDStateFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  PXDStateTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  PXDStateTruthVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match, which knows the truth information if two tracks belong together or not. More...
 
class  SimplePXDStateFilter
 A very simple filter for all space points. More...
 
class  CKFToPXDFindlet
 Combinatorial Kalman Filter to extrapolate CDC Reco Tracks into the VXD (PXD) and collect space points. More...
 
class  PXDKalmanStepper
 Kalman stepper implementation for the PXD CKF. More...
 
class  MCUtil
 Class bundling all helper functions for the MC information used in the PXD CKF. More...
 
class  CKFToSVDResult
 Specialized CKF Result for extrapolating into the SVD. More...
 
class  CKFToSVDState
 Specialized CKF State for extrapolating into the SVD. More...
 
class  DistanceSVDPairFilter
 Base filter for CKF SVD states. More...
 
class  LayerSVDRelationFilter< AFilter, APrefilter >
 Base filter for CKF SVD states. More...
 
class  LooseSVDPairFilter
 Base filter for CKF SVD states. More...
 
class  SectorMapBasedSVDPairFilter
 Filter for relations between CKF SVD states based on SectorMaps. More...
 
class  SensorSVDPairFilter
 Base filter for CKF SVD states. More...
 
class  SVDPairFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  RelationSVDResultVarNames
 Vehicle class to transport the variable names. More...
 
class  RelationSVDResultVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match, which knows the truth information if two tracks belong together or not. More...
 
class  SizeSVDResultFilter
 Base filter for CKF SVD results (on overlap check) More...
 
class  SVDResultFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  SVDResultTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  SVDResultTruthVarSet
 Var set used in the CKF for calculating the probability of a correct result, which knows the truth information if two tracks belong together or not. More...
 
class  SVDResultVarNames
 Vehicle class to transport the variable names. More...
 
class  SVDResultVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match, which knows the truth information if two tracks belong together or not. More...
 
class  WeightSVDResultFilter
 Base filter for CKF SVD results (on overlap check) More...
 
class  AllSVDStateFilter
 A very simple filter for all space points. More...
 
class  ResidualSVDStateFilter
 A very simple filter for all space points. More...
 
class  SimpleSVDStateFilter
 A very simple filter for all space points. More...
 
class  SVDStateBasicVarNames
 Vehicle class to transport the variable names. More...
 
class  SVDStateBasicVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match. More...
 
class  SVDStateFilterFactory
 Factory that can create appropriate cluster filters from associated names. More...
 
class  SVDStateTruthVarNames
 Vehicle class to transport the variable names. More...
 
class  SVDStateTruthVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match, which knows the truth information if two tracks belong together or not. More...
 
class  SVDStateVarNames
 Vehicle class to transport the variable names. More...
 
class  SVDStateVarSet
 Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match. More...
 
class  CKFToSVDFindlet
 Combinatorial Kalman Filter to extrapolate CDC Reco Tracks into the VXD (SVD) and collect space points. More...
 
class  CKFToSVDSeedFindlet
 Findlet for combining CDC tracks with SVD tracks. More...
 
class  RecoTrackRelator
 The results of the CKF ar in the form (seed -> vector of hits). More...
 
class  RelationApplier
 Relate the SVD and CDC tracks in the given relations also in the store array. More...
 
class  RelationFromSVDTracksCreator
 Simplified relation creator only creating relations between states of CDC Reco Track seeds and states with SpacePoints, that: (a) for the seed states: connect every seed with every lst hit of the SVD Reco Tracks (b) for the hit states: are in the same SVD Reco Track and follow each other directly. More...
 
class  SpacePointLoader
 Load the space points from the store array to the given vector. More...
 
class  SVDKalmanStepper
 Kalman stepper implementation for the SVD CKF. More...
 
struct  DATCONSVDClusterCandidate
 struct containing a cluster candidate for easier handling More...
 
class  DATCONSVDDigit
 The DATCONSVDDigit class. More...
 
class  DATCONFPGAFindlet
 Findlet for performing the DATCON ROI calculation close to the implementation on FPGA. More...
 
class  DATCONSVDClusterizer
 Findlet for clustering DATCONSVDDigits and creating SVDClusters that are used for tracking in DATCON. More...
 
class  DATCONSVDClusterLoaderAndPreparer
 Findlet for loading SVDClusters that were created by the DATCONSVDClusterizer findlet and prepare them for usage in the FastInterceptFinder2D by calculating the conformal transformed x,y coordinates and the creating pairs of coordinates for finding track candidates in r-phi and r-z. More...
 
class  FastInterceptFinder2DFPGA
 Findlet for finging intersections of sinosoidal curves in the 2D Hough space by iteratively calling fastInterceptFinder2d. More...
 
class  ROICalculator
 Findlet to calculate ROI on the PXD sensors based on input hits. More...
 
class  SVDShaperDigitConverter
 Findlet for converting SVDShaperDigits into DATCONSVDDigits. More...
 
class  ToPXDExtrapolator
 Findlet to extrapolate found tracks to the PXD sensors and calculate intercepts. More...
 
class  CKFParameters
 The payload containing all parameters for the PXD and SVD CKF. More...
 
class  DAFparameters
 The payload containing the DAF parameters. More...
 
class  ROICalculationParameters
 The payload containing all PXD ROI parameters. More...
 
class  TrackFitMomentumRange
 The payload containing the momentum threshold to disable the particle hypothesis in the track fit. More...
 
class  TrackFlippingCuts
 The payload containing the cuts for 2 mva based filters to decide whether a RecoTrack should be flipped or not. More...
 
class  TrackingMVAFilterParameters
 Class for the MVA filter payloads. More...
 
class  DQMEventProcessorBase
 The purpose of this class is to process one event() in DQMHistoModuleBase, which is a base for TrackDQMModule and AlignDQMModule. More...
 
class  DQMHistoModuleBase
 This class serves as a base for the TrackDQMModule and AlignDQMModule (and possibly other DQM histogram modules). More...
 
class  BaseEventTimeExtractor< AIOTypes >
 Class to extract the event t0. More...
 
class  BaseEventTimeExtractorModuleFindlet< AFindlet >
 Base class for most of the time extraction modules doing a track selection beforehand. More...
 
class  Chi2BasedEventTimeExtractor
 Event time extraction based on the principle of arXiv:0810.2241. More...
 
class  DriftLengthBasedEventTimeExtractor
 Event time extraction based on the principle of the CDC drift time calculation. More...
 
class  FullGridChi2TrackTimeExtractor
 Class to extract the event t0 using the chi-squared approach. More...
 
class  FullGridDriftLengthTrackTimeExtractor
 Class to extract the event t0 using the drift-length approach. More...
 
class  GridEventTimeExtractor< AFindlet >
 Generic findlet applying a certain time extractor multiple times. More...
 
class  HitBasedT0Extractor
 Findlet to extract the T0 time of an event only using CDC Hits. More...
 
class  IterativeChi2BasedEventTimeExtractor
 Class to iteratively extract the event t0 using the chi-squared approach. More...
 
class  IterativeDriftLengthBasedEventTimeExtractor
 Class to iteratively extract the event t0 using the drift-length approach. More...
 
class  IterativeEventTimeExtractor< AFindlet >
 Generic findlet applying a certain time extractor multiple times. More...
 
class  TrackSelector
 Select the tracks for the event time extraction. More...
 
class  TimeExtractionUtils
 Helper class to perform all kind of track extrapolations using the methods from arXiv:0810.2241. More...
 
class  TrackMatchLookUp
 Class to provide convenient methods to look up matching information between pattern recognition and Monte Carlo tracks. More...
 
class  PXDInterceptor
 The PXDInterceptor class fills a StoreArray of PXDIntercepts that will be used to define the PXD ROIs. More...
 
class  ROIDetPlane
 ROIDetPlane describes the plane containing a sensor. More...
 
class  ROIGeometry
 This class appends the PXDIntercept infos of a track to the list of intercepts. More...
 
class  ROIPixelTranslator
 Translator for ROI-geometry-information into a list of pixels. More...
 
class  MCVXDPurityInfo
 The MC VXD Purity info container class. More...
 
class  SpacePoint
 SpacePoint typically is build from 1 PXDCluster or 1-2 SVDClusters. More...
 
class  SpacePointTrackCand
 Storage for (VXD) SpacePoint-based track candidates. More...
 
class  MapHelperFunctionsTest
 function object that implements cosecans(x) == 1/cos(x) by tan(x) / sin(x). More...
 
class  SpacePointTest
 Set up a few arrays and objects in the datastore. More...
 
class  SpacePointTrackCandTest
 Test class for the SpacePointTrackCand class. More...
 
class  ROIStripTranslator
 Translator for ROI-geometry-information into a list of pixels. More...
 
class  SVDInterceptor
 This Class implements the interceptor of the SVD tracks on the PXD layers. More...
 
class  SVDROIGeometry
 This class appends the SVDIntercept infos of a track to the list of intercepts. More...
 
class  RecoTrackTest
 Test class for the RecoTrack object. More...
 
class  CollectorTFInfoTest
 Set up a few arrays and objects in the datastore. More...
 
class  FilterIDTest
 Set up a few arrays and objects in the datastore. More...
 
class  FullSecIDTest
 Testing everything from FullSecID. More...
 
class  VerbosityClass< Verbosity >
 should behave differently for different verbosity-levels given - class More...
 
class  SandBox4TestingTest
 Testing autoAssignment of vectors for functions. More...
 
class  SectorTest
 Set up a few arrays and objects in the datastore. More...
 
class  ThreeHitFiltersTest
 Set up a few arrays and objects in the datastore. More...
 
class  TwoHitFiltersTest
 Set up a few arrays and objects in the datastore. More...
 
struct  ExtState
 Data structure to define extrapolation state. More...
 
struct  Intersection
 intersection of muid-extrapolated track with a KLM layer More...
 
class  TrackExtrapolateG4e
 geant4e-based track extrapolation. More...
 
struct  CALogger
 simple logger for CA algorithm More...
 
struct  CAValidator< CellType >
 validation tool for CA algorithm More...
 
class  CellularAutomaton< ContainerType, ValidatorType >
 The CellularAutomaton class This class serves as a functor for the algorithm itself. More...
 
struct  NodeCompatibilityCheckerBase< NodeType >
 most trivial node compatibility checker, says always true More...
 
struct  NodeCompatibilityCheckerCA< NodeType >
 simple NodeCompatibilityChecker, which checks for compatible Neighboring states of passed nodes (does no extended validation check) More...
 
struct  NodeCompatibilityCheckerPathCollector< NodeType >
 simple NodeCompatibilityChecker, which checks for compatible Neighboring states of passed nodes (does no extended validation check) More...
 
class  NodeFamilyDefiner< ContainerType, NodeType, NeighbourContainerType >
 This class assigns a common family identifier to all CACells in the network that are connected. More...
 
class  PathCollectorRecursive< ContainerType, NodeType, NeighbourContainerType, NodeCompatibilityCheckerType >
 Path finder for generic ContainerType. More...
 
class  SPTCSelectorXBestPerFamily
 Algorithm to collect the x best TrackCandidates per family based on a VXD Quality estimator method output. More...
 
class  StandaloneCosmicsCollector
 Track finding algorithm class for linear tracks produced by cosmics in the VXD without magnetic field. More...
 
class  TrackerAlgorithmBase< ContainerType, ValidatorType >
 base class for TrackerAlgorithms. shall allow a common base for algorithms like the cellular automaton More...
 
class  AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType >
 Base class for storing an algorithm determining the data one wants to have. More...
 
class  AnalyzingAlgorithmLostUClusters< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out how many u-type-clusters the testTC lost compared to the refTC. More...
 
class  AnalyzingAlgorithmLostVClusters< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out how many v-type-clusters the testTC lost compared to the refTC. More...
 
class  AnalyzingAlgorithmLostUEDep< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out the energy deposit of u-type-clusters the testTC lost compared to the refTC. More...
 
class  AnalyzingAlgorithmLostVEDep< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out the energy deposit of v-type-clusters the testTC lost compared to the refTC. More...
 
class  AnalyzingAlgorithmTotalUClusters< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out how many u-type-clusters the given TC had. More...
 
class  AnalyzingAlgorithmTotalVClusters< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out how many v-type-clusters the given TC had. More...
 
class  AnalyzingAlgorithmTotalUEDep< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out the energy deposit of u-type-clusters the given TC had. More...
 
class  AnalyzingAlgorithmTotalVEDep< DataType, TCInfoType, VectorType >
 Class for storing an algorithm to find out the energy deposit of v-type-clusters the given TC had. More...
 
class  AnalyzingAlgorithmResidualPX< DataType, TCInfoType, VectorType >
 INFO This file contains all the algorithms calculating residuals of something. More...
 
class  AnalyzingAlgorithmResidualPY< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in Y. More...
 
class  AnalyzingAlgorithmResidualPZ< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in Z. More...
 
class  AnalyzingAlgorithmResidualPT< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in pT. More...
 
class  AnalyzingAlgorithmResidualP< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in |p|. More...
 
class  AnalyzingAlgorithmResidualPTheta< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in theta (in degrees) More...
 
class  AnalyzingAlgorithmResidualPPhi< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in phi (in degrees) More...
 
class  AnalyzingAlgorithmResidualPAngle< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of momentum in its angle (direction residual in degrees) More...
 
class  AnalyzingAlgorithmResidualPTAngle< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of pT in angle (transverse direction residual in degrees) More...
 
class  AnalyzingAlgorithmResidualPosition< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of the seed position in 3D. More...
 
class  AnalyzingAlgorithmResidualPositionXY< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the residual (ref-test) of the seed position in XY (=r) More...
 
class  AnalyzingAlgorithmValuePX< DataType, TCInfoType, VectorType >
 INFO This file contains all the algorithms calculating a certain value of something. More...
 
class  AnalyzingAlgorithmValuePY< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in Y. More...
 
class  AnalyzingAlgorithmValuePZ< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in Z. More...
 
class  AnalyzingAlgorithmValuePT< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in pT. More...
 
class  AnalyzingAlgorithmValueP< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in |p|. More...
 
class  AnalyzingAlgorithmValuePTheta< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in theta (in degrees) More...
 
class  AnalyzingAlgorithmValuePPhi< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the momentum in phi (in degrees) More...
 
class  AnalyzingAlgorithmValueDistSeed2IP< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the the distance seedHit to IP in 3D. More...
 
class  AnalyzingAlgorithmValueDistSeed2IPXY< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the distance seedHit to IP in XY (=r) More...
 
class  AnalyzingAlgorithmValueDistSeed2IPZ< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the distance seedHit to IP in XY (=r) More...
 
class  AnalyzingAlgorithmValueQI< DataType, TCInfoType, VectorType >
 Class for storing an algorithm determining the quality indicator of the TC. More...
 
class  AlgoritmType
 Small class for classifying types of analyzing algorithms. More...
 
class  AnalizerTCInfo
 simple class storing infos relevant for a TC for analizing it. More...
 
class  KeyValBox< KeyType, ValueType >
 Minimal container storing a pair of < KeyType, ValueType> More...
 
class  RootParameterTracker
 Production notes for RootParameterTracker: More...
 
class  TCType
 Small class for classifying types of reconstructed track candidates. More...
 
class  VXDTFFilters< point_t >
 Class that contains all the static sectors to which the filters are attached. More...
 
class  ClosedLowerBoundedSet< MinType >
 Represents a closed lower bounded set of arithmetic types. More...
 
class  ClosedRange< MinType, MaxType >
 Represents a closed set of arithmetic types. More...
 
class  ClosedUpperBoundedSet< MaxType >
 Represents an upper bounded set of arithmetic types. More...
 
class  Filter< typePack >
 This class is used to select pairs, triplets... More...
 
struct  all_same< types >
 The all_same struct is meant to check that all the types in a template pack are of the same type. More...
 
struct  all_same< T >
 The all_same struct is meant to check that all the types in a template pack are of the same type. More...
 
struct  all_same< >
 The all_same struct is meant to check that all the types in a template pack are of the same type. More...
 
struct  all_same< T, T, types ... >
 The all_same struct is meant to check that all the types in a template pack are of the same type. More...
 
class  Filter< Variable, RangeType, Observer >
 Basic Filter ///. More...
 
class  Filter< Variable, RangeType, Belle2::BypassableFilter, Observer >
 Bypassable Filter ///. More...
 
class  Filter< Variable, RangeType, Belle2::ActivatableFilter, Observer >
 Activatable Filter /// TODO: Remove, as it is no longer used...? More...
 
class  Filter< Belle2::OperatorNot, someFilter, templateObserverType >
 Realization of a NOT operator for the Filter classes. More...
 
class  Filter< Belle2::OperatorAnd, FilterA, FilterB, templateObserverType >
 Realization of the AND operator between two objects of the Filter class. More...
 
class  Filter< Belle2::OperatorOr, FilterA, FilterB, templateObserverType >
 Realization of the OR operator between two objects of the Filter class. More...
 
class  LowerBoundedSet< InfType >
 Represents a lower bounded set of arithmetic types. More...
 
class  Observer
 Observer base class which can be used to evaluate the VXDTF2's Filters. More...
 
class  Range< InfType, SupType >
 Represents a range of arithmetic types. More...
 
class  SelectionVariable< templateArgumentType, Nargs, templateReturnType >
 Base class of the selection variable objects used for pair filtering. More...
 
class  SingleElementSet< Type >
 Represents a set containing a single element;. More...
 
class  UpperBoundedSet< SupType >
 Represents an upper bounded set of arithmetic types. More...
 
class  VoidObserver
 The most CPU efficient Observer for the VXDTF filter tools (even if useless). More...
 
class  DELTACIRCLERADIUS_NAME< PointType >
 calculates delta-circleRadius-value (difference in circle radii of 2 subsets of the hits), returning unit: cm. More...
 
class  DELTADISTCIRCLECENTER_NAME< PointType >
 calculates the distance between the estimated circle centers (using 2 subsets of given hits) in the xy-plane, returning unit: cm. More...
 
class  DELTAPT_NAME< PointType >
 calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits), returning unit: GeV/c. More...
 
class  CompactSecIDs
 This class provides a computer convenient numbering scheme for the sectors in the sector map and for the N sectors combinations. More...
 
class  FiltersContainer< point_t >
 This class contains everything needed by the VXDTF that is not going to change during a RUN, i.e. More...
 
class  SectorsOnSensor< sectorID >
 This class associates to an ordered pairs of normalized local coordinates a compact sector id. More...
 
class  ANGLE3DFULL_NAME< PointType >
 calculates the angle between the hits/vectors (3D), returning unit: angle in degrees. More...
 
class  ANGLE3DSIMPLE_NAME< PointType >
 calculates the angle between the hits/vectors (3D), returning unit: none (calculation for degrees is incomplete, if you want readable numbers, use Angle3DFull instead). More...
 
class  ANGLERZFULL_NAME< PointType >
 calculates the angle between the hits/vectors (RZ), returning unit: angle in degrees. More...
 
class  ANGLERZSIMPLE_NAME< PointType >
 calculates the angle between the hits/vectors (RZ), returning unit: none (calculation for degrees is incomplete, if you want readable numbers, use AngleRZFull instead). More...
 
class  ANGLEXYFULL_NAME< PointType >
 calculates the angle between the hits/vectors (XY), returning unit: angle in degrees. More...
 
class  CIRCLECENTERXY_NAME< PointType >
 calculates the center of the circle for 3 hits in the XY plane and returns a B2Vector3 with the result (z=0). More...
 
class  CIRCLEDIST2IP_NAME< PointType >
 calculates the distance of the point of closest approach of circle to the IP, returning unit: cm More...
 
class  CIRCLERADIUS_NAME< PointType >
 calculates the estimation of the circle radius of the 3-hit-tracklet, returning unit: cm. More...
 
class  COSANGLEXY_NAME< PointType >
 calculates the angle between the hits/vectors (XY), returning unit: none (calculation for degrees is incomplete, if you want readable numbers, use AngleXYFull instead): More...
 
class  DELTASLOPERZ_NAME< PointType >
 calculates deviations in the slope of the inner segment and the outer segment, returning unit: none More...
 
class  DELTASLOPEZOVERS_NAME< PointType >
 compares the "slopes" z over arc length. More...
 
class  DELTASOVERZ_NAME< PointType >
 calculates the helixparameter describing the deviation in arc length per unit in z. More...
 
class  DISTANCEINTIME< PointType >
 This variable returns the difference among the V and U side clusters of th ecenter space point. More...
 
class  HELIXPARAMETERFIT_NAME< PointType >
 calculates the helixparameter describing the deviation in z per unit angle, returning unit: none. More...
 
class  MLHANDOVER_NAME< PointType, Ndims >
 SelectionVariable that is used for the Machine Learning (ML) based filters. More...
 
class  PT_NAME< PointType >
 calculates the estimation of the transverse momentum of the 3-hit-tracklet, returning unit: GeV/c. More...
 
class  SIGNCURVATUREXY_NAME< PointType >
 calculates the sign of the curvature for three hits More...
 
class  SIGNCURVATUREXYERROR_NAME< PointType >
 calculates the sign of the curvature for three hits More...
 
class  ZIGGZAGGRZ_NAME< PointType, PointContainerType >
 checks whether chain of segments are zigg-zagging (changing sign of curvature of neighbouring segments) in the R-Z-plane, returns number of charge-signs found (if != 1, then the given hitContainer is ziggZagging). More...
 
class  ZIGGZAGGXY_NAME< PointType, PointContainerType >
 checks whether chain of segments are zigg-zagging (changing sign of curvature of neighbouring segments) in the X-Y-plane, returns number of charge-signs found (if != 1, then the given hitContainer is ziggZagging). More...
 
class  ZIGGZAGGXYWITHSIGMA_NAME< PointType, PointContainerType >
 checks whether chain of segments are zigg-zagging (changing sign of curvature of neighbouring segments) in the X-Y-plane, returns number of charge-signs found (if != 1, then the given hitContainer is ziggZagging). More...
 
class  VariablesTTree< filterLeaves >
 Dump on a TTree the values of all the variables in a filter. More...
 
class  VariablesTTree<>
 Defines the interface using an empty template pack. More...
 
class  VariablesTTree< Filter< Variable, other ... > >
 Specialization for a simple filter
More...
 
class  VariablesTTree< Filter< unaryOperator, Filter< args ... >, other ... > >
 Specialization for unary operators acting on a filter
More...
 
class  VariablesTTree< Filter< binaryOperator, Filter< argsA ... >, Filter< argsB ... >, other ... > >
 Specialization for binary operators acting on a filter
More...
 
class  VariableTBranch< Variable >
 This class contains. More...
 
class  VariablesOnTTree
 Test for VariablesTTree. More...
 
class  COSDIRECTIONXY_NAME< PointType >
 This is a specialization returning floats, where value calculates the cos of the angle of the segment of two hits in the XY plane. More...
 
class  DISTANCE1DZ_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the distance between two hits in 1D on the Z-axis. More...
 
class  DISTANCE1DZSQUARED_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the squared distance between two hits in 1D on the Z-axis. More...
 
class  DISTANCE2DXYSQUARED_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the squared distance between two hits in 2D on the X-Y-plane. More...
 
class  DISTANCE3DNORMED_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the normed distance between two hits in 3D. More...
 
class  DISTANCE3DSQUARED_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the squared distance between two hits in 3D. More...
 
class  DISTANCEINTIME_U_NAME< PointType >
 This variable returns the time difference among the U side clusters of the two space points. More...
 
class  DISTANCEINTIME_V_NAME< PointType >
 This variable returns the time difference among the V side clusters of the two space points. More...
 
class  SLOPERZ_NAME< PointType >
 This is the specialization for SpacePoints with returning floats, where value calculates the slope in R-Z for a given pair of hits. More...
 
class  DecorrelationMatrix< Ndims >
 Class holding a Matrix that can be used to decorrelate input data to Machine Learning classifiers. More...
 
class  FBDTClassifier< Ndims >
 FastBDT as RelationsObject to make it storeable and accesible on/via the DataStore. More...
 
struct  FBDTTrainSample< Ndims >
 bundle together the classifier input and the target value into one struct for easier passing around. More...
 
class  MLRange< ClassifierType, Ndims, CutType >
 Range used for the Machine Learning assisted TrackFinding approach. More...
 
class  Observer3HitPrintResults
 this observer does simply print the name of the SelectionVariable and the result of its value-function as a Warning(if failed) or as an Info (if succeeded) More...
 
class  ObserverCheckFilters
 this observer searches logs the response for each of SelectionVariables used in the filters If the pointer to the StoreArray is set the results will be put into the datastore More...
 
class  ObserverCheckMCPurity
 this observer searches for mcParticles attached to the hits given and stores the information found to be retrieved later. More...
 
class  ObserverPrintResults
 this observer does simply print the name of the SelectionVariable and the result of its value-function as a Warning(if failed) or as an Info (if succeeded) More...
 
class  SelectionVariableFactory< PointType >
 The factory,as the name implies, does not implement at all the factory paradigm. More...
 
struct  SelVarHelper< PointType, DataType >
 contains a collection of functions and related stuff needed for SelectionVariables implementing 2-, 3- and 4-hitfilters. More...
 
class  MVAExpert
 Class to interact with the MVA package, based on class with same name in CDC package. More...
 
class  ActivatedSector
 ActivatedSector is carrying the dynamic part of a Sector. More...
 
struct  BranchInterface< ValueType >
 simple struct for interfacing the Branch. More...
 
class  FilterMill< PointType >
 Small class which stores the filters/selectionVariables to be used for a secMap and has an interface for applying them. More...
 
class  SecIDPair
 allows to set outer and inner secID. More...
 
class  SecIDTriplet
 allows to set outer, center and inner secID. More...
 
class  SecIDQuadruplet
 allows to set outer, outerCenter, innerCenter and inner secID. More...
 
class  FilterValueDataSet< SecIDSetType >
 contains the relevant information needed for filling a TTree containing train-data for the secMap. More...
 
class  MinMax
 small class for storing min and max. More...
 
class  MinMaxCollector< DataType >
 A container for collecting data, where min- and max-quantiles near q(0) and q(1) are to be found. More...
 
class  NoKickCuts
 This class is an auxiliary class that implement methods to access to a single cut, used in NoKickRTSel class. More...
 
class  NoKickRTSel
 This class implement some methods useful for the application of cuts evaluated in NoKickCutsEval module. More...
 
class  RawDataCollectedMinMax
 takes care of collecting raw data and staying below RAM-threshold. More...
 
class  RawSecMapRootInterface
 To be used as an interface to root-stuff. More...
 
class  SecMapTrainer< FilterFactoryType >
 This class contains all relevant tools for training a VXDTFFilters. More...
 
class  SecMapTrainerHit
 simple Hit class used for sectorMap-training. More...
 
class  SecMapTrainerTC
 simple Hit class used for sectorMap-training. More...
 
class  Sector
 Sector is a central part of storing information for VXD trackFinders. More...
 
class  SectorFriendship
 SectorFriendship is carrying the link between parent sector and a connected sector (socalled Friendsector). More...
 
class  SectorGraph< FilterType >
 contains all subgraphs. More...
 
class  SectorMapComparer
 A root tool that compares two Sectormaps (local root files) and produces some statistics output. More...
 
class  SubGraph< FilterType >
 contains all relevant stuff needed for dealing with a subGraph. More...
 
class  SubGraphID
 stores the ID of a subgraph, which is basically a chain of FullSecID coded as unsigned ints. More...
 
class  ActiveSector< StaticSectorType, HitType >
 The ActiveSector Class. More...
 
class  CACell
 The CACell class This Class stores all relevant information one wants to have stored in a cell for a Cellular automaton. More...
 
class  DirectedNode< EntryType, MetaInfoType >
 The Node-Class. More...
 
class  DirectedNodeNetwork< EntryType, MetaInfoType >
 Network of directed nodes of the type EntryType. More...
 
class  DirectedNodeNetworkContainer
 The Container stores the output produced by the SegmentNetworkProducerModule. More...
 
class  Segment< HitType >
 The Segment class This class represents segments of track candidates needed for TrackFinderVXD-Modules. More...
 
class  StaticSector< HitType, Filter2sp, Filter3sp, Filter4sp >
 class to describe a static sector of the sector map. More...
 
struct  TrackNode
 Minimal class to store combination of sector and spacePoint, since SpacePoint can not carry sectorConnection. More...
 
class  VoidMetaInfo
 The most CPU efficient MetaInfo for the DirectedNode-requirements (even if useless). More...
 
struct  SpacePointTrackCandCreator< SPTCContainerType >
 small class to take simple vectors of SpacePoints and convert them to real SpacePointTrackCands More...
 
struct  QualityEstimationResults
 Container for complete fit/estimation results. More...
 
class  QualityEstimatorBase
 BaseClass for QualityEstimators. More...
 
class  QualityEstimatorCircleFit
 Class containing the algorithm to perform the simple circle fit. More...
 
class  QualityEstimatorLineFit3D
 Testbeam: Coords: Sensors: ^ . More...
 
class  QualityEstimatorMC
 Class implementing the algorithm used for the MC based quality estimation. More...
 
class  QualityEstimatorRandom
 Class implementing a random quality estimation. More...
 
class  QualityEstimatorRiemannHelixFit
 Based on R. More...
 
class  QualityEstimatorTripletFit
 does a tripletFit of the given hits The filter is based on the paper 'A New Three-Dimensional Track Fit with Multiple Scattering' by Andre Schoening et al. More...
 
class  AlwaysYesFilter
 AlwaysYesFilter is a simple filter saying always yes, which is meant for testing purposes. More...
 
class  FilterBase
 FilterBase is the baseClass for filters applied on (chains of) spacepoints. More...
 
class  HopfieldNetwork
 Hopfield Algorithm with number based inputs. More...
 
class  OverlapMatrixCreator
 Creates a vector of vectors, that knows which track is conflicting with which other. More...
 
class  OverlapNetwork
 Hold information about overlap of SpacePointTrackCand. More...
 
struct  OverlapResolverNodeInfo
 Struct for holding information needed by overlap resolving algorithms for one node. More...
 
class  Scrooge
 Executes greedy algorithm for vector of QITrackOverlap structs. More...
 
class  Named< T >
 A mixin class to attach a name to an object. Based on class with same name in CDC package. More...
 
class  ClusterInfoExtractor
 class to extract info from individual clusters and combine for SPTC More...
 
class  QEResultsExtractor
 class to extract results from qualityEstimation More...
 
class  SimpleVariableRecorder
 Class to write collected variables into a root file, Used by VXDQETrainingDataCollectorModule. More...
 
class  VariableExtractor
 class to extract individual variables More...
 
class  TrackFitter
 Algorithm class to handle the fitting of RecoTrack objects. More...
 
class  MeasurementAdder
 Algorithm class to translate the added detector hits (e.g. More...
 
class  BaseMeasurementCreator
 Base class for all measurement creators. More...
 
class  BaseMeasurementCreatorFromCoordinateMeasurement< HitType, detector >
 Baseclass to create measurement track points based on the coordinate measurements. More...
 
class  BaseMeasurementCreatorFromHit< HitType, detector >
 Base Class to create measurements based on a given hit related to the RecoTrack. More...
 
class  CoordinateMeasurementCreator< HitType, detector >
 A measurement creator for normal coordinate measurements out of cdc/svd/pxd hits. More...
 
class  VXDMomentumEstimationMeasurementCreator< HitType, detector >
 Creator for VXDMeasurements with momentum estimation based on the dEdX information. More...
 
class  AdditionalMeasurementCreatorFactory
 Add measurement creators that do not rely on a specific hit type, but rather add measurements without corresponding hit. More...
 
class  BKLMMeasurementCreatorFactory
 Add all measurement creators related to BKLM hits. More...
 
class  CDCMeasurementCreatorFactory
 Add all measurement creators related to CDC hits. More...
 
class  EKLMMeasurementCreatorFactory
 Add all measurement creators related to EKLM hits. More...
 
class  MeasurementCreatorFactory< BaseMeasurementCreatorType >
 This is the base class for all MeasurementCreatorFactories used in the MeasurementCreatorModule. More...
 
class  PXDMeasurementCreatorFactory
 Add all measurement creators related to PXD hits. More...
 
class  SVDMeasurementCreatorFactory
 Add all measurement creators related to SVD hits. More...
 
class  HMatrixQP
 AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...
 
class  PlanarMomentumMeasurement
 Measurement class implementing a planar hit geometry (1 or 2D) with only a momentum measurement. More...
 
class  PlanarVXDMomentumMeasurement< HitType >
 Measurement class implementing a planar hit geometry (1 or 2D) with a momentum measurement based on the VXD dEdX information with setable parameters (see VXDMomentumEstimationMeasurementCreator). More...
 
class  TrackBuilder
 TrackBuilder class to create the Track/TrackFitResult mdst output from the RecoTrack. More...
 
class  EventInfoExtractor
 class to extract results from qualityEstimation More...
 
class  FlipRecoTrackExtractor2nd
 class to extract results from qualityEstimation More...
 
class  FlipRecoTrackExtractor
 class to extract results from qualityEstimation More...
 
class  HitInfoExtractor
 class to extract info from individual clusters and combine for SPTC More...
 
class  RecoTrackExtractor
 class to extract results from qualityEstimation More...
 
class  SubRecoTrackExtractor
 class to extract results from qualityEstimation More...
 
class  NewV0Fitter
 Improved V0 fitter class. More...
 
class  V0Fitter
 V0Fitter class to create V0 mdst's from reconstructed tracks. More...
 
class  V0FitterTest
 Set up a few arrays and objects in the datastore. More...
 
class  ExporterEventInfo
 Bundles information for a single event to be stored by NonRootDataExportModule. More...
 
class  ExporterHitInfo
 Bundles information for a single hit to be stored by EventInfo (needed for HitExporter, which is needed by NonRootDataExportModule) More...
 
class  ExporterTcInfo
 Bundles information for a single track candidate to be stored by EventInfo (needed for HitExporter, which is needed by NonRootDataExportModule) More...
 
class  FilterExceptions
 Exception which are thrown by members of the FilterClasses. More...
 
class  FourHitFilters
 The class 'FourHitFilters' bundles filter methods using 4 hits which are stored in B2Vector3Ds. More...
 
class  GlobalNames
 Bundles filter methods using 2 hits. More...
 
class  ThreeHitFilters
 The class 'ThreeHitFilters' bundles filter methods using 3 hits which are stored in B2Vector3Ds. More...
 
class  TwoHitFilters
 The class 'TwoHitFilters' bundles filter methods using 2 hits which are stored in B2Vector3Ds. More...
 
class  XHitFilterFactory< PointType >
 The factory serves as an interface between all x-hit-filters and a user only knowing their name (in string), but not their type. More...
 
class  VXDMomentumEstimation< ClusterType >
 Class doing the momentum estimation from dEdX for SVDClusters and PXDClusters. More...
 
class  VXDMomentumEstimationTools< ClusterType >
 Tools needed for the VXD momentum estimation to, e.g. More...
 

Macros

#define SELECTION_VARIABLE(variableName, nArgs, argumentType, implementation)
 Template to define a selection-variable class. More...
 

Typedefs

typedef std::map< std::string, double > Pars
 values of parameters in ML fit
 
typedef std::map< std::string, std::pair< double, double > > Limits
 limits of parameters in ML fit
 
using CDCCKFPath = std::vector< CDCCKFState >
 Shortcut for the collection of CDC CKF-algorithm states.
 
using CDCCKFResult = CDCCKFPath
 Alias for the collection of CDC CKF-algorithm states.
 
using BaseCDCPathPairFilter = TrackFindingCDC::Filter< std::pair< const CDCCKFPath *, const CDCCKFPath * > >
 Base filter for CKF CDC paths.
 
using BaseCDCPathFilter = TrackFindingCDC::Filter< CDCCKFPath >
 Base filter for CKF CDC paths.
 
using BaseCDCStateFilter = TrackFindingCDC::Filter< std::pair< const CDCCKFPath *, CDCCKFState * > >
 Base filter for CKF CDC states.
 
using BasePXDPairFilter = TrackFindingCDC::Filter< std::pair< const CKFToPXDState *, const CKFToPXDState * > >
 Base filter for CKF PXD states.
 
using ChooseablePXDRelationFilter = LayerPXDRelationFilter< TrackFindingCDC::ChooseableFilter< PXDPairFilterFactory > >
 A chooseable filter for picking out the relations between states.
 
using BasePXDResultFilter = TrackFindingCDC::Filter< CKFToPXDResult >
 Base filter for CKF PXD results (on overlap check)
 
using ChooseablePXDResultFilter = TrackFindingCDC::ChooseableFilter< PXDResultFilterFactory >
 Alias for filter to weight the PXD clusters.
 
using BasePXDStateFilter = TrackFindingCDC::Filter< std::pair< const std::vector< TrackFindingCDC::WithWeight< const CKFToPXDState * > >, CKFToPXDState * > >
 Base filter for CKF PXD states.
 
using ChooseableOnPXDStateApplier = LayerToggledApplier< CKFToPXDState, LimitedOnStateApplier< CKFToPXDState, TrackFindingCDC::ChooseableFilter< PXDStateFilterFactory > >>
 Alias to apply the () operator to all items filtered by CKF PXD layer states.
 
using NonIPCrossingPXDStateFilter = NonIPCrossingStateFilter< AllPXDStateFilter >
 Alias for filter to check direction of a new CKF PXD state.
 
using PXDStateRejecter = StateRejecter< CKFToPXDState, ChooseableOnPXDStateApplier >
 Rejecter findlet for CKF PXD states.
 
using PXDAdvancer = Advancer
 The PXD advancer is just a synonym of the normal advancer (but may change in the future).
 
using BaseSVDPairFilter = TrackFindingCDC::Filter< std::pair< const CKFToSVDState *, const CKFToSVDState * > >
 Base filter for CKF SVD states.
 
using ChooseableSVDRelationFilter = LayerSVDRelationFilter< TrackFindingCDC::ChooseableFilter< SVDPairFilterFactory > >
 A chooseable filter for picking out the relations between states.
 
using BaseSVDResultFilter = TrackFindingCDC::Filter< CKFToSVDResult >
 Base filter for CKF SVD results (on overlap check)
 
using ChooseableSVDResultFilter = TrackFindingCDC::ChooseableFilter< SVDResultFilterFactory >
 Alias for filter to weight the SVD clusters.
 
using BaseSVDStateFilter = TrackFindingCDC::Filter< std::pair< const std::vector< TrackFindingCDC::WithWeight< const CKFToSVDState * > >, CKFToSVDState * > >
 Base filter for CKF SVD states.
 
using ChooseableOnSVDStateApplier = LayerToggledApplier< CKFToSVDState, LimitedOnStateApplier< CKFToSVDState, TrackFindingCDC::ChooseableFilter< SVDStateFilterFactory > >>
 Alias to apply the () operator to all items filtered by CKF SVD layer states.
 
using NonIPCrossingSVDStateFilter = NonIPCrossingStateFilter< AllSVDStateFilter >
 Alias for filter to check direction of a new CKF SVD state.
 
using SVDStateRejecter = StateRejecter< CKFToSVDState, ChooseableOnSVDStateApplier >
 Rejecter findlet for CKF SVD states.
 
using SVDAdvancer = Advancer
 The PXD advancer is just a synonym of the normal advancer (but may change in the future).
 
template<class AFindlet >
using EventTimeExtractorModule = TrackFindingCDC::FindletModule< TrackFindingCDC::FindletStoreArrayInput< BaseEventTimeExtractorModuleFindlet< AFindlet > > >
 Alias for the event time extraction module.
 
typedef std::unordered_multimap< int, double > i2dMultiMap
 typedef for less writing effort
 
typedef std::unordered_map< int, double > i2dMap
 typedef for less writing effort
 
using CDCBaseMeasurementCreator = BaseMeasurementCreatorFromHit< RecoHitInformation::UsedCDCHit, Const::CDC >
 Needed for templating. More...
 
using SVDBaseMeasurementCreator = BaseMeasurementCreatorFromHit< RecoHitInformation::UsedSVDHit, Const::SVD >
 Standard base class for SVD measurement creators.
 
using PXDBaseMeasurementCreator = BaseMeasurementCreatorFromHit< RecoHitInformation::UsedPXDHit, Const::PXD >
 Standard base class for PXD measurement creators.
 
using BKLMBaseMeasurementCreator = BaseMeasurementCreatorFromHit< RecoHitInformation::UsedBKLMHit, Const::BKLM >
 Standard base class for BKLM measurement creators.
 
using EKLMBaseMeasurementCreator = BaseMeasurementCreatorFromHit< RecoHitInformation::UsedEKLMHit, Const::EKLM >
 Standard base class for EKLM measurement creators.
 
using CDCCoordinateMeasurementCreator = CoordinateMeasurementCreator< RecoHitInformation::UsedCDCHit, Const::CDC >
 Needed for templating. More...
 
using SVDCoordinateMeasurementCreator = CoordinateMeasurementCreator< RecoHitInformation::UsedSVDHit, Const::SVD >
 Hit to reco hit measurement creator for the SVD.
 
using PXDCoordinateMeasurementCreator = CoordinateMeasurementCreator< RecoHitInformation::UsedPXDHit, Const::PXD >
 Hit to reco hit measurement creator for the PXD.
 
using BKLMCoordinateMeasurementCreator = CoordinateMeasurementCreator< RecoHitInformation::UsedBKLMHit, Const::BKLM >
 Hit to reco hit measurement creator for the BKLM.
 
using EKLMCoordinateMeasurementCreator = CoordinateMeasurementCreator< RecoHitInformation::UsedEKLMHit, Const::EKLM >
 Hit to reco hit measurement creator for the EKLM.
 
using SVDMomentumMeasurementCreator = VXDMomentumEstimationMeasurementCreator< RecoHitInformation::UsedSVDHit, Const::SVD >
 Momentum measurement creator for the SVD.
 
using PXDMomentumMeasurementCreator = VXDMomentumEstimationMeasurementCreator< RecoHitInformation::UsedPXDHit, Const::PXD >
 Momentum measurement creator for the PXD.
 

Enumerations

enum  VolTypes {
  VOLTYPE_CDC ,
  VOLTYPE_TOP1 ,
  VOLTYPE_TOP2 ,
  VOLTYPE_TOP3 ,
  VOLTYPE_ARICH1 ,
  VOLTYPE_ARICH2 ,
  VOLTYPE_ARICH3 ,
  VOLTYPE_ECL ,
  VOLTYPE_BKLM1 ,
  VOLTYPE_BKLM2 ,
  VOLTYPE_EKLM
}
 Enumeration for G4VPhysicalVolume sensitive-volume categories. More...
 

Functions

TMatrixDSym toTMatrixDSym (Eigen::MatrixXd mIn)
 Function that converts Eigen symmetric matrix to ROOT matrix.
 
B2Vector3D toB2Vector3 (Eigen::VectorXd vIn)
 Function that converts Eigen vector to ROOT vector.
 
int getID (const std::vector< double > &breaks, double t)
 get id of the time point t
 
void extrapolateCalibration (std::vector< CalibrationData > &calVec)
 Extrapolate calibration to intervals where it failed.
 
void addShortRun (std::vector< CalibrationData > &calVec, std::pair< ExpRun, std::pair< double, double >> shortRun)
 Extrapolate calibration to the very short runs which were filtered before.
 
double encodeNumber (double val, unsigned num)
 Encode integer num into double val such that val is nearly not changed (maximally by a relative shift 1e-6). More...
 
unsigned decodeNumber (double val)
 Decode the integer number encoded in val.
 
template<typename Evt >
void storePayloads (const std::vector< Evt > &evts, const std::vector< CalibrationData > &calVecConst, std::string objName, std::function< TObject *(Eigen::VectorXd, Eigen::MatrixXd, Eigen::MatrixXd) > getCalibObj)
 Store payloads to files.
 
void storePayloadsNoIntraRun (const std::vector< CalibrationData > &calVecConst, std::string objName, std::function< TObject *(Eigen::VectorXd, Eigen::MatrixXd, Eigen::MatrixXd) > getCalibObj)
 Store payloads to files, where calib data have no intra-run dependence.
 
template<typename Evt , typename Fun >
CalibrationData runAlgorithm (const std::vector< Evt > &evts, std::vector< std::map< ExpRun, std::pair< double, double >>> range, Fun runCalibAnalysis)
 run calibration algorithm for single calibration interval
 
template<typename Fun1 , typename Fun2 >
CalibrationAlgorithm::EResult runCalibration (TTree *tracks, const std::string &calibName, Fun1 GetEvents, Fun2 calibAnalysis, std::function< TObject *(Eigen::VectorXd, Eigen::MatrixXd, Eigen::MatrixXd)> calibObjCreator, TString m_lossFunctionOuter, TString m_lossFunctionInner)
 Run the the calibration over the whole event sample. More...
 
std::pair< double, double > getMinima (std::vector< std::vector< double >> vals, int i0, int j0)
 Get minimum inside and outside of the smaller window defined by i0, j0.
 
std::vector< double > getMinimum (std::function< double(double, double)> fun, double xMin, double xMax, double yMin, double yMax)
 Get minimum of 2D function in the rectangular domain defined by xMin,xMax & yMin,yMax.
 
Eigen::VectorXd getWeights (int Size)
 Get the vector of weights to calculate the integral over the Chebyshev nodes The nodes are by definition between 0 and 1, there are Size nodes To get their positions, use getNodes.
 
Eigen::VectorXd getNodes (int Size)
 Get the vector of positions of the Chebyshev nodes The nodes are by definition between 0 and 1, there are Size nodes For the corresponding weights use getWeights.
 
Eigen::VectorXd getPols (int Size, double x)
 Evaluate Chebyshev polynomials up to Size at point x It returns a vector of the P_i(x) for i=0..Size-1 The polynomial is defined for x between 0 and 1.
 
Eigen::VectorXd getPolsSum (int Size, Eigen::VectorXd x)
 Calculate the Chebyshev polynomials of order i=0..Size-1 at points given in vector x_j and sum it over point index j It returns sum_j P_i(x_j) for i=0..Size-1 The Chebyshev polynomials are defined for x between 0 and 1.
 
Eigen::MatrixXd getCoefs (int Size, bool isInverse=false)
 Transformation matrix between Cheb nodes and coefficients of the Cheb polynomials Notice, that there are two alternative ways defining polynomial interpolation: More...
 
double evalPol (const Eigen::VectorXd &polCoef, double x)
 Evaluate Cheb. More...
 
Eigen::MatrixXd getCoefsCheb (int oldSize)
 Transformation matrix between Cheb nodes and Cheb coefficients with better normalization of the borders.
 
Eigen::VectorXd interpol (const Eigen::VectorXd &xi, double x)
 Get Interpolation vector k_i for point x from the function values at points xi (polynomial interpolation) In the second step, the function value at x can be evaluated as sum_i vals_i k_i.
 
double interpol (Eigen::VectorXd xi, Eigen::VectorXd vals, double x)
 Get interpolated function value at point x when function values vals at points xi are provided. More...
 
bool operator!= (ExpRun a, ExpRun b)
 Not equal for ExpRun.
 
bool operator< (ExpRun a, ExpRun b)
 less than for ExpRun
 
std::map< ExpRun, std::pair< double, double > > filter (const std::map< ExpRun, std::pair< double, double >> &runs, double cut, std::map< ExpRun, std::pair< double, double >> &runsRemoved)
 filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
 
std::pair< int, int > getStartEndIndexes (int nIntervals, std::vector< int > breaks, int indx)
 get the range of interval with nIntervals and breaks stored in a vector
 
std::vector< Atomslice (std::vector< Atom > vec, int s, int e)
 Slice the vector to contain only elements with indexes s .. e (included)
 
std::vector< std::map< ExpRun, std::pair< double, double > > > breaks2intervalsSep (const std::map< ExpRun, std::pair< double, double >> &runsMap, const std::vector< Atom > &currVec, const std::vector< int > &breaks)
 Get calibration intervals according to the indexes of the breaks. More...
 
template<typename Evt >
std::map< ExpRun, std::pair< double, double > > getRunInfo (const std::vector< Evt > &evts)
 Get the map of runs, where each run contains pair with start/end time [hours]. More...
 
template<typename Evt >
ExpRunEvt getPosition (const std::vector< Evt > &events, double tEdge)
 Get the exp-run-evt number from the event time [hours]. More...
 
template<typename Evt >
std::vector< ExpRunEvtconvertSplitPoints (const std::vector< Evt > &events, std::vector< double > splitPoints)
 Convert splitPoints [hours] to breakPoints in ExpRunEvt. More...
 
TString rn ()
 Get random string.
 
std::vector< std::vector< double > > merge (std::vector< std::vector< std::vector< double >>> toMerge)
 merge { vector<double> a, vector<double> b} into {a, b}
 
Eigen::VectorXd vec2vec (std::vector< double > vec)
 std vector -> ROOT vector
 
std::vector< double > vec2vec (Eigen::VectorXd v)
 ROOT vector -> std vector.
 
Eigen::MatrixXd vecs2mat (std::vector< std::vector< double >> vecs)
 merge columns (from std::vectors) into ROOT matrix
 
std::vector< double > getRangeLin (int nVals, double xMin, double xMax)
 Equidistant range between xMin and xMax for spline of the first order.
 
std::vector< double > getRangeZero (int nVals, double xMin, double xMax)
 Equidistant range between xMin and xMax for spline of the zero order.
 
std::vector< double > slice (std::vector< double > v, unsigned ind, unsigned n)
 put slice of original vector v[ind:ind+n] into new one, n is number of elements
 
double eval (const std::vector< double > &spl, const std::vector< double > &vals, double x)
 Evaluate spline (zero order or first order) in point x.
 
VectorXd getPolsSum (int Size, VectorXd x)
 Calculate the Chebyshev polynomials of order i=0..Size-1 at points given in vector x_j and sum it over point index j It returns sum_j P_i(x_j) for i=0..Size-1 The Chebyshev polynomials are defined for x between 0 and 1.
 
double evalPol (const VectorXd &polCoef, double x)
 Evaluate Cheb. More...
 
VectorXd interpol (const VectorXd &xi, double x)
 Get Interpolation vector k_i for point x from the function values at points xi (polynomial interpolation) In the second step, the function value at x can be evaluated as sum_i vals_i k_i.
 
double interpol (VectorXd xi, VectorXd vals, double x)
 Get interpolated function value at point x when function values vals at points xi are provided. More...
 
void plotRuns (std::vector< std::pair< double, double >> runs)
 plot runs on time axis
 
void plotSRuns (std::vector< std::pair< double, double >> runs, std::vector< int > breaks, int offset=2)
 plot clusters or runs on time axis
 
void printBySize (std::vector< std::pair< double, double >> runs)
 print sorted lenghts of the runs
 
static ExpRun getRun (std::map< ExpRun, std::pair< double, double >> runs, double t)
 Get exp number + run number from time. More...
 
std::ostream & operator<< (std::ostream &output, const CDCCKFPath &path)
 Output operator for the collection of CDC CKF-algorithm states.
 
std::ostream & operator<< (std::ostream &output, const CDCCKFState &state)
 print state info
 
std::string getClassMnemomicParameterName (const RecoTrack *dispatchTag)
 Returns a short name for class RecoTrack to be used in names of parameters.
 
std::string getClassMnemomicParameterDescription (const RecoTrack *dispatchTag)
 Returns a short description for class RecoTrack to be used in descriptions of parameters.
 
std::string getClassMnemomicParameterName (const SpacePoint *dispatchTag)
 Returns a short name for class SpacePoint to be used in names of parameters.
 
std::string getClassMnemomicParameterDescription (const SpacePoint *dispatchTag)
 Returns a short description for class SpacePoint to be used in descriptions of parameters.
 
template<unsigned int NRows, unsigned int NCols, class AMatrix >
Eigen::Matrix< double, NRows, NCols, Eigen::RowMajor > convertToEigen (const AMatrix &matrix)
 Convert a ROOT matrix to Eigen. Checks for the correct row and column number.
 
template<unsigned int NRows>
Eigen::Matrix< double, NRows, 1 > convertToEigen (const TVectorD &matrix)
 Convert a ROOT matrix to Eigen - TVector specialisation. Checks for the correct row number.
 
template<class T >
void checkResizeClear (std::vector< T > &vectorToCheck, uint limit)
 Check capacity of a vector and create a fresh one if capacity too large If the capacity of a std::vector is very large without being used, it just allocates RAM for no reason, increasing the RAM usage unnecessarily. More...
 
constexpr bool arcLengthInRightDirection (double arcLength2D, TrackFindingCDC::EForwardBackward forwardBackward)
 Given the calculated arc length between a start point and an end point, checks if the travelled path is along the given direction or not. More...
 
TrackFindingCDC::EForwardBackward fromString (const std::string &directionString)
 Helper function to turn a direction string into a valid forward backward information.
 
long convertFloatToInt (double value, int power)
 Convert float or double to long int for more similarity to the FPGA implementation. More...
 
template<typename MapType >
std::vector< typename MapType::key_type > getUniqueKeys (const MapType &aMap)
 get the unique keys of a map (i.e. More...
 
template<typename MapType >
unsigned int getUniqueSize (const MapType &aMap)
 get the number of unique keys inside the map NOTE: for non-multimap this is the same as .size()
 
template<typename MapType >
std::vector< std::pair< typename MapType::key_type, unsigned int > > getNValuesPerKey (const MapType &aMap)
 get the unique keys of a map together with the number of values associated to each key. More...
 
template<typename MapType >
std::vector< typename MapType::mapped_type > getValuesToKey (const MapType &aMap, typename MapType::key_type aKey)
 get all values stored in the map for a given key
 
template<typename MapType >
std::vector< std::tuple< typename MapType::key_type, typename MapType::mapped_type, unsigned int > > getSortedKeyValueTuples (const MapType &aMap)
 get the (key, value, number of values) tuples stored in the map, sorted after the following scheme (descending order) 1) the number of associated values to one key 2) the sum of the associated values to that key NOTE: for a non-multimap this returns the content of the map ordered by valued CAUTION: if one of the values to a key is NaN this key will be the first (of the ones with the same number of associated values) More...
 
template<typename MapType >
std::vector< typename MapType::mapped_type > getAllValues (const MapType &aMap)
 get all values in the map (i.e. More...
 
template<typename MapType >
std::string printMap (const MapType &aMap)
 get the contents of the map as string. More...
 
static bool findWeightInVector (std::vector< std::pair< int, double > > &vec, double weight)
 find the given weight in the given vector of pair<int,double> NOTE: the criteria for finding are rather loose (i.e. More...
 
template<typename TrueHitType >
static std::vector< std::pair< int, double > > getMCParticles (const Belle2::SpacePoint *spacePoint)
 get the related MCParticles to the TrueHit. More...
 
static void increaseClusterCounters (const Belle2::SpacePoint *spacePoint, std::array< unsigned, 3 > &clusterCtr)
 increase the appropriate Cluster counter by asking the SpacePoint which type he has and which Clusters are assigned
 
static std::vector< size_t > getAccessorsFromWeight (double weight)
 convert the relation weight (SpacePoint <-> TrueHit) to a type that can be used to access arrays
 
static std::vector< Belle2::MCVXDPurityInfocreatePurityInfosVec (const std::vector< const Belle2::SpacePoint * > &spacePoints)
 create a vector of MCVXDPurityInfos objects for a std::vector<Belle2::SpacePoints>. More...
 
template<typename SPContainer >
static std::vector< Belle2::MCVXDPurityInfocreatePurityInfos (const SPContainer *container)
 create a vector of MCVXDPurityInfos objects for any given container holding SpacePoints and providing a getHits() method each MCParticle that is in the container gets its own object NOTE: negative MCParticleIds are possible und used as follows: More...
 
template<typename SPContainer >
static std::vector< Belle2::MCVXDPurityInfocreatePurityInfos (const SPContainer &container)
 
template<typename Functor >
i2dMultiMap createMultiMap (int nEntries, Functor funct)
 create a multimap with More...
 
template<typename Functor >
i2dMap createMap (int nEntries, Functor funct)
 create a multimap with More...
 
 TEST_F (MapHelperFunctionsTest, testCreatorFunctions)
 test the methods that are use to create the maps for the later tests
 
 TEST_F (MapHelperFunctionsTest, testGetUniqueKeys)
 test if the 'getUniqueKeys' method returns the right values
 
 TEST_F (MapHelperFunctionsTest, testGetValuesToKey)
 test if the 'getValuesToKey' method returns the right values to a given key
 
 TEST_F (MapHelperFunctionsTest, testGetNValuesPerKey)
 test the 'getNValuesPerKey' method
 
 TEST_F (MapHelperFunctionsTest, testGetSortedKeyValueTuples)
 test if the 'getSortedKeyValuePairs' method actually works as advertised
 
 TEST_F (MapHelperFunctionsTest, testGetAllValues)
 test the getAllValues() function actually returns all values that are stored in the map
 
 TEST_F (SpacePointTest, testConstructorPXD)
 Test constructor for PXDClsuters tests the constructor importing a PXDCluster and tests results by using the getters of the spacePoint...
 
 TEST_F (SpacePointTest, testConstructorSVD)
 Test constructor for SVDClsuters tests the constructor importing a SVDCluster and tests results by using the getters of the spacePoint...
 
 TEST_F (SpacePointTest, testRootIOPXDCluster)
 Test if cluster writing in and reading from root files work. More...
 
 TEST_F (SpacePointTest, testRootIOB2Vector3)
 Test if B2Vector3 writing in and reading from root files work. More...
 
 TEST_F (SpacePointTest, testRootIOSP)
 Test if spacePoints writing in and reading from root files work. More...
 
 TEST_F (SpacePointTest, testConvertLocalToNormalizedCoordinates)
 Testing member of spacePoint: convertToNormalizedCoordinates. More...
 
 TEST_F (SpacePointTest, testConvertNormalizedToLocalCoordinates)
 Testing member of spacePoint: convertToLocalCoordinates. More...
 
 TEST_F (SpacePointTest, testGetNClustersAssigned)
 Test if the number of assigned Clusters is obtained correctly NOTE: using the same constructors as in previous tests!
 
 TEST_F (SpacePointTrackCandTest, testConstructorFromVector)
 Test the Constructor, that takes a vector of SpacePoint* as argument.
 
 TEST_F (SpacePointTrackCandTest, testEqualityOperator)
 Test operator == of SpacePointTrackCand.
 
 TEST_F (SpacePointTrackCandTest, testSetPdgCode)
 Test setPdgCode method, by comparing its results with the expected values for the according particles.
 
 TEST_F (SpacePointTrackCandTest, testGetHitsInRange)
 Test the get hits in range method.
 
 TEST_F (SpacePointTrackCandTest, testRefereeStatus)
 Test the setRefereeStatus and getRefereeStatus methods.
 
 TEST_F (SpacePointTrackCandTest, testRemoveSpacePoints)
 Test the removeSpacePoint method.
 
 TEST_F (SpacePointTrackCandTest, testGetSortedHits)
 Test setPdgCode method, by comparing its results with the expected values for the according particles.
 
 TEST_F (RecoTrackTest, cdcHit)
 Test simple Setters and Getters.
 
 TEST_F (RecoTrackTest, cdcHitMCFinderCategory)
 Test simple Correct handling fo the MCFinder hit classification.
 
 TEST_F (RecoTrackTest, testGenfitConversionOne)
 Test conversion to genfit track cands.
 
 TEST_F (RecoTrackTest, testGenfitConversionTwo)
 Test conversion from genfit track cands.
 
 TEST_F (RecoTrackTest, copyRecoTrack)
 Test copying a RecoTrack.
 
 TEST_F (RecoTrackTest, recoHitInformations)
 Test the getRecoHitInformations() function.
 
 TEST_F (RecoTrackTest, trackTime)
 Test getOutgoingArmTime() and getIngoingArmTime() functions.
 
 TEST_F (CollectorTFInfoTest, testAllInformationLoop)
 dummy comment: testAllInformationLoop
 
 TEST_F (FilterIDTest, simpleTest)
 Test simple Setters and Getters.
 
 TEST_F (FullSecIDTest, constructorAndGetterTests)
 Test simple Setters and Getters.
 
 TEST_F (FullSecIDTest, overloadedOperatorTests)
 testing the overloaded operators of the FullSecID-class
 
 TEST_F (FullSecIDTest, bufferOverflowTest)
 Unfinished test - shall test bufferOverflows...
 
 TEST_F (SandBox4TestingTest, testingVerbosityViaTemplates)
 test function call with auto-assigned value
 
 TEST_F (SandBox4TestingTest, JustSomePlayingAroundWithfunction)
 test function call with auto-assigned value
 
 TEST_F (SandBox4TestingTest, TestIsNanAndIsInfBehavior)
 shall show when to get nan and when to get inf (and that inf != nan)
 
 TEST_F (SectorTest, testConstructorSettersAndGetters)
 Test Constructor, Setters and Getters.
 
 TEST_F (ThreeHitFiltersTest, simpleTest)
 Test simple Setters and Getters.
 
 TEST_F (ThreeHitFiltersTest, TestMagneticField)
 the correctness of the magneticField-values (important for pT-related calculations)
 
 TEST_F (ThreeHitFiltersTest, TestAngles)
 the correctness of the angle calculators
 
 TEST_F (ThreeHitFiltersTest, TestSignAndOtherFilters)
 test sign, helixFit and calcDeltaSlopeRZ filters
 
 TEST_F (ThreeHitFiltersTest, TestDeltaSOverZ)
 test DeltaSOverZ
 
 TEST_F (ThreeHitFiltersTest, TestCalcPt)
 test cramer method in calcPt
 
 TEST_F (TwoHitFiltersTest, TestEmptyFilter)
 Test simple Setters and Getters by filling zeroes.
 
 TEST_F (TwoHitFiltersTest, TestFilledFilter)
 Test simple Setters and Getters by filling non-zero-values.
 
 TEST_F (TwoHitFiltersTest, testLargeFilter)
 Test simple Setters and Getters by filling extreme values.
 
 TEST_F (TwoHitFiltersTest, testOutOfRangeFilter)
 testing out of range behavior
 
 TEST_F (TwoHitFiltersTest, TestOutOfRangeNormedDistFilter)
 And now possibly the only case where TwoHitFilters produces wrong results. More...
 
template<class NetworkPath >
SpacePointTrackCand convertNetworkPath (NetworkPath networkPath)
 Create new SPTC from network path.
 
void insertSpacePoint (std::vector< const SpacePoint * > &target, TrackNode source)
 Convert TrackNode to SpaePoint an add to a SpacePoint path.
 
void insertSpacePoints (std::vector< const SpacePoint * > &target, const Segment< TrackNode > &source)
 Insert of inner and outer TrackNodes of a Segment as SpacePoints into path of SpacePoints.
 
template<class DataType , class TCInfoType , class VectorType >
bool operator== (const AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > &a, const std::string &b)
 non-memberfunction Comparison for equality with a std::string
 
template<class DataType , class TCInfoType , class VectorType >
bool operator== (const std::string &a, const AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > &b)
 non-memberfunction Comparison for equality with a std::string
 
template<class DataType , class TCInfoType , class VectorType >
bool operator== (const AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > &a, const AlgoritmType::Type &b)
 non-memberfunction Comparison for equality with a AlgoritmType::Type
 
template<class DataType , class TCInfoType , class VectorType >
bool operator== (const AlgoritmType::Type &a, const AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > &b)
 non-memberfunction Comparison for equality with a AlgoritmType::Type
 
template<class DataType , class TCInfoType , class VectorType >
AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > * AnalyzingAlgorithmFactoryDouble (AlgoritmType::Type algorithmID)
 the analyzingAlgorithm factory for algorithms returning one double for each TC passed: More...
 
template<class DataType , class TCInfoType , class VectorType >
AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > * AnalyzingAlgorithmFactoryInt (AlgoritmType::Type algorithmID)
 the analyzingAlgorithm factory for algorithms returning one int for each TC passed: More...
 
template<class DataType , class TCInfoType , class VectorType >
AnalyzingAlgorithmBase< DataType, TCInfoType, VectorType > * AnalyzingAlgorithmFactoryVecDouble (AlgoritmType::Type algorithmID)
 the analyzingAlgorithm factory for algorithms returning one vector< double> for each TC passed: More...
 
template<typename ... types>
Filter< OperatorNot, Filter< types... >, VoidObserveroperator! (const Filter< types... > &filter)
 Definition of the NOT operator ! for the Filter class. More...
 
template<typename ... types1, typename ... types2>
Filter< Belle2::OperatorAnd, Belle2::Filter< types1... >, Belle2::Filter< types2... >, Belle2::VoidObserveroperator&& (const Filter< types1... > &filter1, const Filter< types2... > &filter2)
 Definition of the boolean AND operator && of the Filter class. More...
 
template<typename ... types1, typename ... types2>
Filter< Belle2::OperatorOr, Belle2::Filter< types1... >, Belle2::Filter< types2... >, Belle2::VoidObserveroperator|| (const Filter< types1... > &filter1, const Filter< types2... > &filter2)
 Definition of the boolean OR operator || of the Filter class. More...
 
template<class booleanBinaryOperator , typename ... types1, typename ... types2, class observer , typename ... argsTypes>
bool initializeObservers (const Filter< booleanBinaryOperator, Belle2::Filter< types1... >, Belle2::Filter< types2... >, observer > &, argsTypes ... args)
 Observer Stuff ///. More...
 
template<class booleanUnaryOperator , typename ... types1, class observer , typename ... argsTypes>
bool initializeObservers (const Filter< booleanUnaryOperator, Belle2::Filter< types1... >, observer > &, argsTypes ... args)
 Recursive function to initialize all the observers in a unary boolean Filter. More...
 
template<class Variable , class RangeType , class observer , typename ... argsTypes>
bool initializeObservers (const Belle2::Filter< Variable, RangeType, observer > &filter, argsTypes ... args)
 Initialize the observer of a RangeType Filter. More...
 
template<class Variable , class Range , class ... Options>
std::unordered_map< std::string, typename Variable::functionType > SelectionVariableNamesToFunctions (Belle2::Filter< Variable, Range, Options... >)
 Return a map from the SelectionVariable name to the SelectionVariable function of the Variable used in the filter that is the template argument parameter. More...
 
template<class someFilter , class ... options>
std::unordered_map< std::string, typename someFilter::functionType > SelectionVariableNamesToFunctions (Belle2::Filter< Belle2::OperatorNot, someFilter, options... >)
 Wrapper for filters with NOT Operator tag. More...
 
template<class FilterA , class FilterB , class ... options>
std::unordered_map< std::string, typename FilterA::functionType > SelectionVariableNamesToFunctions (Belle2::Filter< Belle2::OperatorAnd, FilterA, FilterB, options... >)
 Wrapper for filters with AND Operator tag. More...
 
template<class FilterA , class FilterB , class ... options>
std::unordered_map< std::string, typename FilterA::functionType > SelectionVariableNamesToFunctions (Belle2::Filter< Belle2::OperatorOr, FilterA, FilterB, options... >)
 Wrapper for filters with OR Operator tag. More...
 
template<class Var , class Arithmetic , typename ... types>
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, UpperBoundedSet< Arithmetic >, VoidObserver > >::type operator< (const Var &, Arithmetic upperBound)
 Creates a Filters with an upper bound < on the provided variable Var < lowerBound. More...
 
template<class Var , class Arithmetic , typename ... types>
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, ClosedUpperBoundedSet< Arithmetic >, VoidObserver > >::type operator<= (const Var &, Arithmetic upperBound)
 Creates a Filters with a closed upper bound <= on the provided variable Var <= lowerBound. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, LowerBoundedSet< Arithmetic >, VoidObserver > >::type operator> (const Var &, Arithmetic lowerBound)
 Creates a Filters with an lower bound > on the provided variable Var > lowerBound. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, ClosedLowerBoundedSet< Arithmetic >, VoidObserver > >::type operator>= (const Var &, Arithmetic lowerBound)
 Creates a Filters with a closed lower bound >= on the provided variable Var >= lowerBound. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, UpperBoundedSet< Arithmetic >, VoidObserver > >::type operator> (Arithmetic upperBound, const Var &)
 Creates a Filters with an upper bound < on the provided variable upperBound > Var. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, ClosedUpperBoundedSet< Arithmetic >, VoidObserver > >::type operator>= (Arithmetic upperBound, const Var &)
 Creates a Filters with a closed upper bound <= on the provided variable upperBound >= Var. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, LowerBoundedSet< Arithmetic >, VoidObserver > >::type operator< (Arithmetic lowerBound, const Var &)
 Creates a Filters with an lower bound > on the provided variable lowerBound < Var. More...
 
template<class Var , class Arithmetic >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< Arithmetic >::value, Filter< Var, ClosedLowerBoundedSet< Arithmetic >, VoidObserver > >::type operator<= (Arithmetic lowerBound, const Var &)
 Creates a Filters with a closed lower bound >= on the provided variable lowerBound <= Var. More...
 
template<class Var , class Val >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value, Filter< Var, SingleElementSet< Val >, VoidObserver > >::type operator== (const Var &, Val v)
 Creates a Filters to compare a variable against a given value Var == Val;. More...
 
template<class Var , class Val >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value, Filter< Var, SingleElementSet< Val >, VoidObserver > >::type operator== (Val val, const Var &var)
 Creates a Filters to compare a variable against a given value Val == Var;. More...
 
template<class Var , class ArithmeticLower , class ArithmeticUpper , class Observer >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< ArithmeticLower >::value &&std::is_arithmetic< ArithmeticUpper >::value, Filter< Var, Range< ArithmeticLower, ArithmeticUpper >, Observer > >::type operator< (const Filter< Var, LowerBoundedSet< ArithmeticLower >, Observer > &filter, ArithmeticUpper upperBound)
 Adding upper bound to filter with lower bound to create a filter with an allowed range between lower and upper bound. More...
 
template<class Var , class ArithmeticLower , class ArithmeticUpper , class Observer >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< ArithmeticLower >::value &&std::is_arithmetic< ArithmeticUpper >::value, Filter< Var, Range< ArithmeticLower, ArithmeticUpper >, Observer > >::type operator> (const Filter< Var, UpperBoundedSet< ArithmeticUpper >, Observer > &filter, ArithmeticLower lowerBound)
 Adding lower bound to filter with upper bound to create a filter with an allowed range between lower and upper bound. More...
 
template<class Var , class ArithmeticLower , class ArithmeticUpper , class Observer >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< ArithmeticLower >::value &&std::is_arithmetic< ArithmeticUpper >::value, Filter< Var, ClosedRange< ArithmeticLower, ArithmeticUpper >, Observer > >::type operator<= (const Filter< Var, ClosedLowerBoundedSet< ArithmeticLower >, Observer > &filter, ArithmeticUpper upperBound)
 Adding closed upper bound to filter with closed lower bound to create a filter with an allowed closed range between lower and upper bound. More...
 
template<class Var , class ArithmeticLower , class ArithmeticUpper , class Observer >
std::enable_if< std::is_base_of< SelectionVariable< typename Var::argumentType, Var::c_Nargs, typename Var::variableType >, Var >::value &&std::is_arithmetic< ArithmeticLower >::value &&std::is_arithmetic< ArithmeticUpper >::value, Filter< Var, ClosedRange< ArithmeticLower, ArithmeticUpper >, Observer > >::type operator>= (const Filter< Var, ClosedUpperBoundedSet< ArithmeticUpper >, Observer > &filter, ArithmeticLower lowerBound)
 Adding closed lower bound to filter with closed upper bound to create a filter with an allowed closed range between lower and upper bound. More...
 
char TBranchLeafType (const char *)
 Overloading TBranchLeafType to be able to get identifier 'C' for type char*.
 
char TBranchLeafType (const Char_t &)
 Overloading TBranchLeafType to be able to get identifier 'B' for type Char_t.
 
char TBranchLeafType (const unsigned char &)
 Overloading TBranchLeafType to be able to get identifier 'b' for type unsigned char.
 
char TBranchLeafType (const short &)
 Overloading TBranchLeafType to be able to get identifier 'S' for type short.
 
char TBranchLeafType (const unsigned short &)
 Overloading TBranchLeafType to be able to get identifier 's' for type unsigned short.
 
char TBranchLeafType (const Int_t &)
 Overloading TBranchLeafType to be able to get identifier 'I' for type Int_t.
 
char TBranchLeafType (const UInt_t &)
 Overloading TBranchLeafType to be able to get identifier 'i' for type UInt_t.
 
char TBranchLeafType (const Float_t &)
 Overloading TBranchLeafType to be able to get identifier 'F' for type Float_t.
 
char TBranchLeafType (const Double_t &)
 Overloading TBranchLeafType to be able to get identifier 'D' for type Double_t.
 
char TBranchLeafType (const long int &)
 Overloading TBranchLeafType to be able to get identifier 'L' for type long int.
 
char TBranchLeafType (const unsigned long int &)
 Overloading TBranchLeafType to be able to get identifier 'l' for type unsigned long int.
 
char TBranchLeafType (const bool &)
 Overloading TBranchLeafType to be able to get identifier 'O' for type bool.
 
 SELECTION_VARIABLE (Difference, 2, double, static double value(const double &t1, const double &t2) { return t1 - t2;};)
 Quick definition of a selection variable implementing the difference of 2 doubles.
 
 SELECTION_VARIABLE (Sum, 2, double, static double value(const double &t1, const double &t2) { return t1+t2;};)
 Quick definition of a selection variable implementing the sum of 2 doubles.
 
 TEST_F (VariablesOnTTree, basic_test)
 Basic test of the class.
 
template<size_t Ndims>
const Eigen::Matrix< double, Ndims, Ndims, Eigen::RowMajor > calculateCovMatrix (std::array< std::vector< double >, Ndims > inputData)
 calculates the empirical covariance matrix from the inputData. More...
 
template<size_t Ndims>
static void readSamplesFromStream (std::istream &is, std::vector< FBDTTrainSample< Ndims > > &samples)
 read samples from stream and append them to samples
 
template<size_t Ndims>
static void writeSamplesToStream (std::ostream &os, const std::vector< FBDTTrainSample< Ndims > > &samples)
 write all samples to stream
 
template<class EntryType , class MetaInfoType >
bool operator== (const EntryType &a, const DirectedNode< EntryType, MetaInfoType > &b)
 ************************* NON-MEMBER FUNCTIONS ************************* More...
 
short calcCurvatureSignum (std::vector< SpacePoint const * > const &measurements)
 Calculate curvature based on triplets of measurements. More...
 
 TEST_F (V0FitterTest, GetTrackHypotheses)
 Test getter for track hypotheses.
 
 TEST_F (V0FitterTest, InitializeCuts)
 Test initialization of cuts.
 
Eigen::VectorXd getLogFunction (Pars pars) const
 Get the -2*log(p(x)) on the Cheb nodes.
 
void init (int Size, double xMin, double xMax)
 Initialize the fitter (the Chebyshev coefficients)
 
double getLogLikelihoodSlow (const Pars &pars) const
 Calculate log likelihood using exact formula.
 
double getLogLikelihoodFast (const Pars &pars) const
 Calculate log likelihood using approximation based on Chebyshev polynomials (typically faster)
 
double operator() (const double *par) const
 Evaluate the log likelihood.
 
Eigen::VectorXd getDataGrid () const
 Calculate Chebyshev coefficients for the data set.
 
std::pair< Eigen::VectorXd, Eigen::MatrixXd > getDataGridWithCov () const
 Calculate Chebyshev coefficients with the covariance (useful for toy studies)
 
std::pair< Pars, Eigen::MatrixXd > fitData (Pars pars, Limits limits, bool UseCheb=true)
 Fit the data with specified initial values of parameters and limits on them.
 
double getFunctionFast (const Pars &pars, double x)
 Evaluate the fitted function approximated with the Chebyshev polynomial, typically runs faster.
 
double lossFunction (const std::vector< Atom > &vec, int s, int e) const
 lossFunction of the calibration interval consisting of several "atoms" stored in vector vec The atoms included in calibration interval have indices between s and e More...
 
static std::vector< std::pair< double, double > > splitToSmall (std::map< ExpRun, std::pair< double, double >> runs, double intSize=1./60)
 Split the runs into small calibration intervals (atoms) of a specified size. More...
 
double getMinLoss (const std::vector< Atom > &vec, int e, std::vector< int > &breaks)
 Recursive function to evaluate minimal sum of the lossFuctions for the optimal clustering. More...
 
std::vector< int > dynamicBreaks (const std::vector< Atom > &runs)
 Get optimal break points using algorithm based on dynamic programing. More...
 
static std::map< ExpRun, std::pair< double, double > > mergeIntervals (std::map< ExpRun, std::pair< double, double >> I1, std::map< ExpRun, std::pair< double, double >> I2)
 Merge two subintervals into one subinterval. More...
 
TrackFindingCDC::Weight operator() (const Object &pair) final
 Main function testing the object for the direction.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the direction parameter.
 
void initialize () final
 Copy the string direction parameter to the enum.
 
 ~CKFRelationCreator ()
 Default destructor.
 
 CKFRelationCreator ()
 Construct this findlet and add the subfindlet as listener.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the subfindlet.
 
void apply (std::vector< AState > &seedStates, std::vector< AState > &states, std::vector< TrackFindingCDC::WeightedRelation< AState >> &relations) override
 Apply both filters for creating state-hit and hit-hit relations.
 
 LayerToggledApplier ()
 Add the subfilters as listeners.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose parameters of the subfilters and the layer to change.
 
void apply (const std::vector< TrackFindingCDC::WithWeight< const AState * >> &currentPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) override
 The weight is calculated using the subfilter based on the geometrical layer of the state.
 
 LimitedOnStateApplier ()
 Constructor adding the findlet as a listener.
 
void apply (const std::vector< TrackFindingCDC::WithWeight< const AState * >> &currentPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) override
 Apply the filter to each pair of states and current path and let only pass the best N states.
 
TrackFindingCDC::Weight operator() (const Object &object) override
 Copy the filter operator to this method.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters of the subfindlet.
 
void apply (const std::vector< TrackFindingCDC::WithWeight< const AState * >> &currentPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) override
 Apply the () operator to all pairs of state and current path.
 
virtual TrackFindingCDC::Weight operator() (const Object &object)
 The filter operator for this class.
 
 OverlapResolver ()
 Construct this findlet and add the subfindlet as listener.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the subfindlet.
 
void apply (std::vector< Object > &results, std::vector< Object > &filteredResult) override
 For each seed, search for the best candidate and return it.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters of the sub findlets.
 
void initialize () override
 Create the store arrays.
 
void apply (std::vector< AResult > &results) override
 Load in the reco tracks and the hits. More...
 
void beginEvent () override
 Clear the used clusters.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters of the findlet.
 
void apply (const std::vector< AResult > &results, const std::vector< const SpacePoint * > &spacePoints) override
 Mark all space points as used, that they share clusters if the given kind with the results.
 
void apply (const std::vector< AnObject * > &objects, std::vector< AState > &states) override
 Add new states to the list of states using all given objects. More...
 
void apply (const std::vector< RecoTrack * > &objects, std::vector< AState > &states) final
 Create states from the space points, including a reverse flag or not.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters.
 
 StateRejecter ()
 Construct this findlet and add the subfindlet as listener.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the subfindlet.
 
void apply (const std::vector< TrackFindingCDC::WithWeight< const AState * >> &currentPath, std::vector< TrackFindingCDC::WithWeight< AState * >> &childStates) final
 Apply all five filters to the child states.
 
 TreeSearcher ()
 Construct this findlet and add the subfindlet as listener.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the subfindlet.
 
void apply (const std::vector< AState > &seededStates, std::vector< AState > &hitStates, const std::vector< TrackFindingCDC::WeightedRelation< AState >> &relations, std::vector< AResult > &results) final
 Main function of this findlet: traverse a tree starting from a given seed states. More...
 
void traverseTree (std::vector< TrackFindingCDC::WithWeight< const AState * >> &path, const std::vector< TrackFindingCDC::WeightedRelation< AState >> &relations, std::vector< AResult > &results)
 Implementation of the traverseTree function.
 
 LayerPXDRelationFilter ()
 Add the filter as listener.
 
 ~LayerPXDRelationFilter ()
 Default destructor.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters of the filter.
 
void initialize () override
 Receive signal before the start of the event processing.
 
void beginRun () override
 Receive signal for the beginning of a new run.
 
std::vector< CKFToPXDState * > getPossibleTos (CKFToPXDState *from, const std::vector< CKFToPXDState * > &states) const override
 Return all states the given state is possible related to.
 
TrackFindingCDC::Weight operator() (const CKFToPXDState &from, const CKFToPXDState &to) override
 Give a final weight to the possibilities by asking the filter.
 
 LayerSVDRelationFilter ()
 Add the filter as listener.
 
void beginRun () final
 Initialize the maximal ladder cache.
 
 ~LayerSVDRelationFilter ()
 Default destructor.
 
std::vector< CKFToSVDState * > getPossibleTos (CKFToSVDState *from, const std::vector< CKFToSVDState * > &states) const final
 Return all states the given state is possible related to.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the filter.
 
TrackFindingCDC::Weight operator() (const CKFToSVDState &from, const CKFToSVDState &to) final
 Give a final weight to the possibilities by asking the filter.
 
void beginRun () final
 Initialize the sector map.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters of the filter.
 
TrackFindingCDC::Weight operator() (const std::pair< const CKFToSVDState *, const CKFToSVDState * > &relation) override
 Give a final weight to the possibilities by asking the filter.
 
bool wasSuccessful () const
 Returns true if the last run t0 extraction was successful.
 
virtual void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose our parameters to the super module.
 
virtual void initialize () override
 Initialize the event t0 store obj ptr.
 
virtual void beginEvent () override
 Create the event t0 store obj ptr.
 
void resetEventT0 () const
 Reset the t0 value to cached value if it exists or clear it otherwise.
 
 BaseEventTimeExtractorModuleFindlet ()
 Add the subfindlet as listener.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override final
 Expose our parameters to the super module.
 
void apply (std::vector< RecoTrack * > &recoTracks) override final
 Apply the findlets.
 
 GridEventTimeExtractor ()
 Add the subfindlet as listener.
 
void apply (std::vector< RecoTrack * > &recoTracks) override final
 Timing extraction for this findlet.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override final
 Expose the parameters.
 
 IterativeEventTimeExtractor ()
 Add the subfindlet as listener.
 
void apply (std::vector< RecoTrack * > &recoTracks) override final
 Timing extraction for this findlet.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override
 Expose the parameters.
 
void import_sectors_standard ()
 dummy comment: import_sectors_standard
 
void import_clusters_standard ()
 dummy comment: import_clusters_standard
 
void import_sectors_loop ()
 Documentation Comment Jakob Lettenbichler: this was written by a student and will be removed after finishing redesign of VXDTF. More...
 
void import_clusters_loop ()
 dummy comment: import_clusters_loop
 
void import_hit_standard ()
 dummy comment: import_hit_standard
 
void import_hit_loop ()
 dummy comment: import_hit_loop
 
void import_cell_standard ()
 dummy comment: import_cell_standard
 
void import_cell_loop ()
 dummy comment: import_cell_loop
 
void import_tfc_standard ()
 dummy comment: import_tfc_standard
 
void import_tfc_loop ()
 dummy comment: import_tfc_loop
 
void getAllCells ()
 Output of all interesting Information of Cells.
 
void getAllHits ()
 Output of all interesting Information of Hits.
 
void getAllClusters ()
 Output of all interesting Information of Clusters.
 
void getAllTC ()
 Output of all interesting Information of TC.
 
void getAllSectors ()
 Output of all interesting Information of Sectors.
 
 VariableTBranch (TTree *tree)
 Add to the TTree. More...
 
void calculateDecorrMatrix (std::array< std::vector< double >, Ndims > inputData, bool normalise=true)
 calculate the transformation matrix that when applied to the input data yields linearly uncorrelated data. More...
 
std::vector< double > decorrelate (const std::vector< double > &inputVec) const
 "decorrelate" one measurement (i.e. More...
 
std::vector< double > decorrelate (const std::array< double, Ndims > &inputs) const
 "decorrelate" one measurement (i.e. More...
 
std::array< std::vector< double >, Ndims > decorrelate (const std::array< std::vector< double >, Ndims > &inputMat) const
 decorrelate M measurements (i.e. More...
 
std::string print () const
 print the matrix to a string. More...
 
bool readFromStream (std::istream &is)
 read from stream. More...
 
double analyze (const std::array< double, Ndims > &hits) const
 calculate the output of the FastBDT. More...
 
virtual std::vector< genfit::MeasurementOnPlane * > constructMeasurementsOnPlane (const genfit::StateOnPlane &state) const override
 Construct the measurement on the plane set in the parent element. More...
 
const TMatrixD & getMatrix () const override
 Return the underlying matrix.
 
TVectorD Hv (const TVectorD &v) const override
 Calculate H * v = v_0.
 
TMatrixD MHt (const TMatrixDSym &M) const override
 Calculate M * H^T = first column of M.
 
TMatrixD MHt (const TMatrixD &M) const override
 Calculate M * H^T = first column of M.
 
void HMHt (TMatrixDSym &M) const override
 Calculate H * M * H^T = M_00.
 
virtual void Print (const Option_t *="") const override
 Print a symbol for the matrix for debugging.
 

Variables

constexpr static char const *const cdcfromEclPathTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const cdcPathBasicVarNames []
 Names of the variables to be generated.
 
constexpr static char const *const cdcPathTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const cdcfromEclStateTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const cdcStateBasicVarNames []
 Names of the variables to be generated.
 
constexpr static char const *const cdcStateTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const pxdResultTruthNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const pxdResultVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const pxdStateBasicVarNames []
 Names of the variables to be generated.
 
constexpr static char const *const pxdStateTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const relationSVDResultVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const svdResultTruthNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const svdResultVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const svdStateBasicVarNames []
 Names of the variables to be generated.
 
constexpr static char const *const svdStateTruthVarNames []
 Names of the variables to be generated. More...
 
constexpr static char const *const svdStateVarNames []
 Names of the variables to be generated.
 
static VectorType s_origin = VectorType(0, 0, 0)
 stores the origin used for some calculations, can be set here More...
 
static bool m_storeRefTCDataForTestTC = false
 if true, for testTC the values of attached refTC will be stored instead of own values. More...
 
static DataType s_MagneticFieldFactor
 is factor containing speed of light (c), the magnetic field (b) and the scaling factor s for conversion of meter in cm : c*b/100 = c*b*s. More...
 

Detailed Description

Macro Definition Documentation

◆ SELECTION_VARIABLE

#define SELECTION_VARIABLE (   variableName,
  nArgs,
  argumentType,
  implementation 
)
Value:
class variableName: \
public SelectionVariable< argumentType , nArgs, double > \
{ \
public: \
static const std::string name(void) {return #variableName; }; \
implementation \
}; \

Template to define a selection-variable class.

Definition at line 111 of file SelectionVariable.h.

Typedef Documentation

◆ CDCBaseMeasurementCreator

Needed for templating.

Standard base class for CDC measurement creators.

Definition at line 83 of file BaseMeasurementCreatorFromHit.h.

◆ CDCCoordinateMeasurementCreator

Needed for templating.

Hit to reco hit measurement creator for the CDC.

Definition at line 36 of file CoordinateMeasurementCreator.h.

Enumeration Type Documentation

◆ VolTypes

enum VolTypes

Enumeration for G4VPhysicalVolume sensitive-volume categories.

Enumerator
VOLTYPE_CDC 

CDC.

VOLTYPE_TOP1 

TOP container.

VOLTYPE_TOP2 

TOP quartz.

VOLTYPE_TOP3 

TOP glue.

VOLTYPE_ARICH1 

ARICH aerogel.

VOLTYPE_ARICH2 

ARICH Img plate.

VOLTYPE_ARICH3 

ARICH HAPD window.

VOLTYPE_ECL 

ECL.

VOLTYPE_BKLM1 

BKLM RPC.

VOLTYPE_BKLM2 

BKLM scintillator.

VOLTYPE_EKLM 

EKLM.

Definition at line 65 of file TrackExtrapolateG4e.h.

65  {
88  };
@ VOLTYPE_ARICH2
ARICH Img plate.
@ VOLTYPE_CDC
CDC.
@ VOLTYPE_TOP2
TOP quartz.
@ VOLTYPE_TOP3
TOP glue.
@ VOLTYPE_ARICH3
ARICH HAPD window.
@ VOLTYPE_BKLM2
BKLM scintillator.
@ VOLTYPE_EKLM
EKLM.
@ VOLTYPE_BKLM1
BKLM RPC.
@ VOLTYPE_ARICH1
ARICH aerogel.
@ VOLTYPE_ECL
ECL.
@ VOLTYPE_TOP1
TOP container.

Function Documentation

◆ analyze()

double analyze ( const std::array< double, Ndims > &  hits) const

calculate the output of the FastBDT.

At the moment fixed to 3 hits

Definition at line 100 of file FBDTClassifier.h.

101  {
102  std::vector<double> positions = m_decorrMat.decorrelate(hits);
103 
104  std::vector<unsigned> bins(Ndims);
105  for (size_t i = 0; i < Ndims; ++i) {
106  bins[i] = m_featBins[i].ValueToBin(positions[i]);
107  }
108 
109  return m_forest.Analyse(bins);
110  }
FBDTForest m_forest
the forest used for classification
std::vector< FastBDT::FeatureBinning< double > > m_featBins
the feature binnings corresponding to the BDT
Belle2::DecorrelationMatrix< Ndims > m_decorrMat
the decorrelation matrix used in this classifier

◆ AnalyzingAlgorithmFactoryDouble()

AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>* Belle2::AnalyzingAlgorithmFactoryDouble ( AlgoritmType::Type  algorithmID)

the analyzingAlgorithm factory for algorithms returning one double for each TC passed:

returns the algorithm matching the given ID.

residuals

values of single entries

Definition at line 34 of file AnalyzingAlgorithmFactory.h.

35  {
37  if (algorithmID == AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>())
38  { return new AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(); }
39 
40  if (algorithmID == AnalyzingAlgorithmResidualPX<DataType, TCInfoType, VectorType>())
41  { return new AnalyzingAlgorithmResidualPX<DataType, TCInfoType, VectorType>(); }
42 
43  if (algorithmID == AnalyzingAlgorithmResidualPY<DataType, TCInfoType, VectorType>())
44  { return new AnalyzingAlgorithmResidualPY<DataType, TCInfoType, VectorType>(); }
45 
46  if (algorithmID == AnalyzingAlgorithmResidualPZ<DataType, TCInfoType, VectorType>())
47  { return new AnalyzingAlgorithmResidualPZ<DataType, TCInfoType, VectorType>(); }
48 
49  if (algorithmID == AnalyzingAlgorithmResidualPT<DataType, TCInfoType, VectorType>())
50  { return new AnalyzingAlgorithmResidualPT<DataType, TCInfoType, VectorType>(); }
51 
52  if (algorithmID == AnalyzingAlgorithmResidualP<DataType, TCInfoType, VectorType>())
53  { return new AnalyzingAlgorithmResidualP<DataType, TCInfoType, VectorType>(); }
54 
55  if (algorithmID == AnalyzingAlgorithmResidualPTheta<DataType, TCInfoType, VectorType>())
56  { return new AnalyzingAlgorithmResidualPTheta<DataType, TCInfoType, VectorType>(); }
57 
58  if (algorithmID == AnalyzingAlgorithmResidualPPhi<DataType, TCInfoType, VectorType>())
59  { return new AnalyzingAlgorithmResidualPPhi<DataType, TCInfoType, VectorType>(); }
60 
61  if (algorithmID == AnalyzingAlgorithmResidualPAngle<DataType, TCInfoType, VectorType>())
62  { return new AnalyzingAlgorithmResidualPAngle<DataType, TCInfoType, VectorType>(); }
63 
64  if (algorithmID == AnalyzingAlgorithmResidualPTAngle<DataType, TCInfoType, VectorType>())
65  { return new AnalyzingAlgorithmResidualPTAngle<DataType, TCInfoType, VectorType>(); }
66 
67  if (algorithmID == AnalyzingAlgorithmResidualPosition<DataType, TCInfoType, VectorType>())
68  { return new AnalyzingAlgorithmResidualPosition<DataType, TCInfoType, VectorType>(); }
69 
70  if (algorithmID == AnalyzingAlgorithmResidualPositionXY<DataType, TCInfoType, VectorType>())
71  { return new AnalyzingAlgorithmResidualPositionXY<DataType, TCInfoType, VectorType>(); }
72 
73 
75  if (algorithmID == AnalyzingAlgorithmValuePX<DataType, TCInfoType, VectorType>())
76  { return new AnalyzingAlgorithmValuePX<DataType, TCInfoType, VectorType>(); }
77 
78  if (algorithmID == AnalyzingAlgorithmValuePY<DataType, TCInfoType, VectorType>())
79  { return new AnalyzingAlgorithmValuePY<DataType, TCInfoType, VectorType>(); }
80 
81  if (algorithmID == AnalyzingAlgorithmValuePZ<DataType, TCInfoType, VectorType>())
82  { return new AnalyzingAlgorithmValuePZ<DataType, TCInfoType, VectorType>(); }
83 
84  if (algorithmID == AnalyzingAlgorithmValuePT<DataType, TCInfoType, VectorType>())
85  { return new AnalyzingAlgorithmValuePT<DataType, TCInfoType, VectorType>(); }
86 
87  if (algorithmID == AnalyzingAlgorithmValueP<DataType, TCInfoType, VectorType>())
88  { return new AnalyzingAlgorithmValueP<DataType, TCInfoType, VectorType>(); }
89 
90  if (algorithmID == AnalyzingAlgorithmValuePTheta<DataType, TCInfoType, VectorType>())
91  { return new AnalyzingAlgorithmValuePTheta<DataType, TCInfoType, VectorType>(); }
92 
93  if (algorithmID == AnalyzingAlgorithmValuePPhi<DataType, TCInfoType, VectorType>())
94  { return new AnalyzingAlgorithmValuePPhi<DataType, TCInfoType, VectorType>(); }
95 
96  if (algorithmID == AnalyzingAlgorithmValueDistSeed2IP<DataType, TCInfoType, VectorType>())
97  { return new AnalyzingAlgorithmValueDistSeed2IP<DataType, TCInfoType, VectorType>(); }
98 
99  if (algorithmID == AnalyzingAlgorithmValueDistSeed2IPXY<DataType, TCInfoType, VectorType>())
100  { return new AnalyzingAlgorithmValueDistSeed2IPXY<DataType, TCInfoType, VectorType>(); }
101 
102  if (algorithmID == AnalyzingAlgorithmValueDistSeed2IPZ<DataType, TCInfoType, VectorType>())
103  { return new AnalyzingAlgorithmValueDistSeed2IPZ<DataType, TCInfoType, VectorType>(); }
104 
105  if (algorithmID == AnalyzingAlgorithmValueQI<DataType, TCInfoType, VectorType>())
106  { return new AnalyzingAlgorithmValueQI<DataType, TCInfoType, VectorType>(); }
107 
108  if (!AlgoritmType::isValueDoubleType(algorithmID)
109  and !AlgoritmType::isResidualDoubleType(algorithmID)
110  and (AlgoritmType::isHitValueVecDoubleType(algorithmID)
111  or AlgoritmType::isHitValueIntType(algorithmID))) {
112  B2WARNING(" AnalyzingAlgorithmFactoryDouble: given algorithmID " << AlgoritmType::getTypeName(algorithmID) <<
113  " is no algorithm of double type but of another (valid) category. Please use the correct factory for your purpose. Returning non-functioning base-class instead!");
114  } else {
115  B2ERROR(" AnalyzingAlgorithmFactoryDouble: given algorithmID " << AlgoritmType::getTypeName(algorithmID) <<
116  " is not known, returning non-functioning base-class instead!");
117  }
118 
119  return new AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>();
120  }

◆ AnalyzingAlgorithmFactoryInt()

AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>* Belle2::AnalyzingAlgorithmFactoryInt ( AlgoritmType::Type  algorithmID)

the analyzingAlgorithm factory for algorithms returning one int for each TC passed:

returns the algorithm matching the given ID.

residuals

Definition at line 129 of file AnalyzingAlgorithmFactory.h.

◆ AnalyzingAlgorithmFactoryVecDouble()

AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>* Belle2::AnalyzingAlgorithmFactoryVecDouble ( AlgoritmType::Type  algorithmID)

the analyzingAlgorithm factory for algorithms returning one vector< double> for each TC passed:

returns the algorithm matching the given ID.

residuals

Definition at line 168 of file AnalyzingAlgorithmFactory.h.

◆ apply() [1/3]

void apply ( const std::vector< AnObject * > &  objects,
std::vector< AState > &  states 
)
override

Add new states to the list of states using all given objects.

Findlet for tagging all space points in the results vector as used.

Definition at line 19 of file StateCreator.icc.h.

21  {
22  states.reserve(states.size() + objects.size());
23 
24  for (AnObject* object : objects) {
25  states.emplace_back(object);
26  }
27  }

◆ apply() [2/3]

void apply ( const std::vector< AState > &  seededStates,
std::vector< AState > &  hitStates,
const std::vector< TrackFindingCDC::WeightedRelation< AState >> &  relations,
std::vector< AResult > &  results 
)
final

Main function of this findlet: traverse a tree starting from a given seed states.

ATTENTION: As described above, the states themselves can be altered during the tree traversal.

Definition at line 42 of file TreeSearcher.icc.h.

46  {
47  B2ASSERT("Expected relation to be sorted",
48  std::is_sorted(relations.begin(), relations.end()));
49 
50  // TODO: May be better to just do this for each seed separately
51  const std::vector<AState*>& statePointers = TrackFindingCDC::as_pointers<AState>(hitStates);
52  m_automaton.applyTo(statePointers, relations);
53 
54  std::vector<TrackFindingCDC::WithWeight<const AState*>> path;
55  for (const AState& state : seededStates) {
56  B2DEBUG(29, "Starting with new seed...");
57 
58  path.emplace_back(&state, 0);
59  traverseTree(path, relations, results);
60  path.pop_back();
61  B2ASSERT("Something went wrong during the path traversal", path.empty());
62 
63  B2DEBUG(29, "... finished with seed");
64  }
65  }
ACellHolder * applyTo(const std::vector< ACellHolder * > &cellHolders, const std::vector< WeightedRelation< ACellHolder >> &cellHolderRelations) const
Applies the cellular automaton to the collection of cells and its neighborhood.
TrackFindingCDC::CellularAutomaton< AState > m_automaton
Findlet for adding a recursion cell state to the states.
void traverseTree(std::vector< TrackFindingCDC::WithWeight< const AState * >> &path, const std::vector< TrackFindingCDC::WeightedRelation< AState >> &relations, std::vector< AResult > &results)
Implementation of the traverseTree function.

◆ apply() [3/3]

void apply ( std::vector< AResult > &  results)
override

Load in the reco tracks and the hits.

Store the reco tracks and the relations.

Definition at line 64 of file ResultStorer.icc.h.

65  {
66  if (not m_param_exportTracks) {
67  return;
68  }
69 
70  for (const auto& result : results) {
71 
72  const ROOT::Math::XYZVector& trackPosition = result.getPosition();
73  const ROOT::Math::XYZVector& trackMomentum = result.getMomentum();
74  const short& trackCharge = result.getCharge();
75 
76  RecoTrack* newRecoTrack = m_outputRecoTracks.appendNew(trackPosition, trackMomentum, trackCharge);
77  result.addToRecoTrack(*newRecoTrack);
78 
79  const RecoTrack* seed = result.getSeed();
80  if (not seed) {
81  continue;
82  }
83  seed->addRelationTo(newRecoTrack, m_param_writeOutDirection);
84  }
85  }
StoreArray< RecoTrack > m_outputRecoTracks
Output Reco Tracks Store Array.
bool m_param_exportTracks
Export the tracks or not.
TrackFindingCDC::EForwardBackward m_param_writeOutDirection
Direction parameter converted from the string parameters.
T * appendNew()
Construct a new T object at the end of the array.
Definition: StoreArray.h:246

◆ arcLengthInRightDirection()

constexpr bool Belle2::arcLengthInRightDirection ( double  arcLength2D,
TrackFindingCDC::EForwardBackward  forwardBackward 
)
inlineconstexpr

Given the calculated arc length between a start point and an end point, checks if the travelled path is along the given direction or not.

If the arc length distance is negative, the end point has a higher arc length value than the start point meaning it is farther away -> the travelled distance is forward. If the arc length distance is positive, it is backward.

If it is 0 or the direction is unknown, true is always returned.

Definition at line 30 of file SearchDirection.h.

31  {
32  return static_cast<double>(forwardBackward) * arcLength2D >= 0;
33  }

◆ breaks2intervalsSep()

std::vector< std::map< ExpRun, std::pair< double, double > > > breaks2intervalsSep ( const std::map< ExpRun, std::pair< double, double >> &  runsMap,
const std::vector< Atom > &  currVec,
const std::vector< int > &  breaks 
)

Get calibration intervals according to the indexes of the breaks.

Parameters
runsMapmap defining the time ranges of the runs
currVecvector with time intervals of the atoms (small non-divisible time intervals)
breaksvector with integer indexes of the breaks
Returns
: a vector of the calib. intervals where each interval is a map with exp-run as a key and start- end-time as a value

Definition at line 280 of file Splitter.cc.

283  {
284  std::vector<std::map<ExpRun, std::pair<double, double>>> splitsNow(breaks.size() + 1);
285  for (int i = 0; i < int(breaks.size()) + 1; ++i) {
286  int s, e;
287  std::tie(s, e) = getStartEndIndexes(currVec.size(), breaks, i);
288 
289  // loop over atoms in single calib interval
290  for (int k = s; k <= e; ++k) {
291  ExpRun r = getRun(runsMap, (currVec[k].t1 + currVec[k].t2) / 2.); //runexp of the atom
292  if (splitsNow[i].count(r)) { //if already there
293  splitsNow[i].at(r).first = std::min(splitsNow[i].at(r).first, currVec[k].t1);
294  splitsNow[i].at(r).second = std::max(splitsNow[i].at(r).second, currVec[k].t2);
295  } else { //if new
296  splitsNow[i][r].first = currVec[k].t1;
297  splitsNow[i][r].second = currVec[k].t2;
298  }
299  }
300  }
301 
302  return splitsNow;
303  }
static ExpRun getRun(std::map< ExpRun, std::pair< double, double >> runs, double t)
Get exp number + run number from time.
Definition: Splitter.cc:262
std::pair< int, int > getStartEndIndexes(int nIntervals, std::vector< int > breaks, int indx)
get the range of interval with nIntervals and breaks stored in a vector
Definition: Splitter.cc:83

◆ calcCurvatureSignum()

short Belle2::calcCurvatureSignum ( std::vector< SpacePoint const * > const &  measurements)
inline

Calculate curvature based on triplets of measurements.

Ignores uncertainties. Returns -1,0,1 depending on the sum of all triplets.

Definition at line 22 of file CalcCurvatureSignum.h.

23  {
24  if (measurements.size() < 3) return 0;
25  float sumOfCurvature = 0.;
26  for (unsigned int i = 0; i < measurements.size() - 2; ++i) {
27  B2Vector3<double> ab = measurements.at(i + 1)->getPosition() - measurements.at(i)->getPosition();
28  ab.SetZ(0.);
29  B2Vector3<double> bc = measurements.at(i + 2)->getPosition() - measurements.at(i + 1)->getPosition();
30  bc.SetZ(0.);
31  sumOfCurvature += bc.Orthogonal() * ab; //normal vector of m_vecBC times segment of ba
32  }
33  // signum
34  return (0 < sumOfCurvature) - (sumOfCurvature < 0);
35  }

◆ calculateCovMatrix()

const Eigen::Matrix<double, Ndims, Ndims, Eigen::RowMajor> Belle2::calculateCovMatrix ( std::array< std::vector< double >, Ndims >  inputData)

calculates the empirical covariance matrix from the inputData.

Parameters
inputDatadata "matrix", where each vector represents a column in the n x Ndims matrix, where n is the number of samples in the input data.

NOTE: if the input does not consist of an array of same-length vectors an error message is issued and the Ndims x Ndims identity matrix is returned.

Implements the calculation of the empirical covariance matrix: $\frac{1}{n} \sum_{i=1}^n (y_i - \bar{y})^T(y_i - \bar{y})$, where $ \bar{y}_i = \sum_{j=1}^n x_{ij}$ is the mean (row) vector containing the mean value of every "feature" in the data. Every (random) vector $y_i$ is a row vector containing one measurement.

Definition at line 37 of file DecorrelationMatrixHelper.h.

38  {
39  // typedefs used in function
40  using RVector = Eigen::Matrix<double, 1, Ndims, Eigen::RowMajor>; // typedef for row vector type of one measurement
41  using DMatrix = Eigen::Matrix<double, Eigen::Dynamic, Ndims, Eigen::ColMajor>; // typedef for dataMatrix type
42  using DVector = Eigen::Matrix<double, Eigen::Dynamic, 1>; // typedef for column vector in dataMatrix
43 
44  // check if the inputData represent a "full" data matrix
45  size_t nSamples = inputData[0].size();
46  for (size_t i = 1; i < Ndims; ++i) {
47  if (inputData[i].size() != nSamples) {
48  B2ERROR("The input data is no MxN matrix, cannot calculate covariance matrix! Returning identity");
49  return Eigen::Matrix<double, Ndims, Ndims, Eigen::RowMajor>::Identity();
50  }
51  }
52 
53  // calculate the mean of every column and store them in a row vector
54  RVector meanVector{};
55  for (size_t i = 0; i < Ndims; ++i) {
56  meanVector(i) = std::accumulate(inputData[i].begin(), inputData[i].end(), 0.0) / inputData[i].size();
57  }
58 
59  // map the data to a more easily accessible Eigen::Matrix where each row is one measurement (consisting of Ndims values)
60  DMatrix dataMatrix(nSamples, Ndims);
61  for (size_t i = 0; i < Ndims; ++i) {
62  dataMatrix.col(i) = Eigen::Map<const DVector>(inputData[i].data(), inputData[i].size());
63  }
64 
65  // define a matrix where each row holds the mean vector to be able to substract the mean value from each column directly
66  DMatrix meanMatrix(nSamples, Ndims);
67  for (size_t i = 0; i < Ndims; ++i) {
68  meanMatrix.col(i) = DVector::Ones(nSamples) * meanVector(i);
69  }
70 
71  // calculate the cov matrix as product of dataMatrix reduced by meanValues in order to (hopefully) utilize Eigens optimizations
72  // COULDDO: test if this can be accelerated by splitting the process in smaller matrices
73  return (dataMatrix - meanMatrix).transpose() * (dataMatrix - meanMatrix) / (nSamples);
74  }

◆ calculateDecorrMatrix()

void calculateDecorrMatrix ( std::array< std::vector< double >, Ndims >  inputData,
bool  normalise = true 
)

calculate the transformation matrix that when applied to the input data yields linearly uncorrelated data.

Parameters
inputDatainput data, where each vector represents a column in the MxNdims matrix, where M is the number of samples in in the input data
normaliseif set to true the covariance matrix of the transformed data will be identity, else it will only be diagonal

Definition at line 98 of file DecorrelationMatrix.h.

99  {
100  calculateDecorrMatrix(calculateCovMatrix(inputData), normalise);
101  }
const Eigen::Matrix< double, Ndims, Ndims, Eigen::RowMajor > calculateCovMatrix(std::array< std::vector< double >, Ndims > inputData)
calculates the empirical covariance matrix from the inputData.
void calculateDecorrMatrix(std::array< std::vector< double >, Ndims > inputData, bool normalise=true)
calculate the transformation matrix that when applied to the input data yields linearly uncorrelated ...

◆ checkResizeClear()

void Belle2::checkResizeClear ( std::vector< T > &  vectorToCheck,
uint  limit 
)

Check capacity of a vector and create a fresh one if capacity too large If the capacity of a std::vector is very large without being used, it just allocates RAM for no reason, increasing the RAM usage unnecessarily.

In this case, start with a fresh one. Since std::vector.shrink() or std::vector.shrink_to_fit() not necessarily reduce the capacity in the desired way, create a temporary vector of the same type, swap them to use the vector at the new location afterwards, and clear the tempoary vector.

Definition at line 23 of file Helpers.h.

24  {
25 
26  if (vectorToCheck.capacity() > limit) {
27  B2DEBUG(29, "Capacity of vector too large, create fresh vector and swap.");
28  std::vector<T> tmp;
29  std::swap(vectorToCheck, tmp);
30  tmp.clear();
31  }
32  vectorToCheck.clear();
33  vectorToCheck.reserve(limit / 4);
34  }

◆ constructMeasurementsOnPlane()

std::vector< genfit::MeasurementOnPlane * > constructMeasurementsOnPlane ( const genfit::StateOnPlane state) const
overridevirtual

Construct the measurement on the plane set in the parent element.

Do the job: construct a measurement based on the estimator chosen by the parameters.

TODO: Implement better error handling and a smarter cut.

Reimplemented from PlanarMeasurement.

Definition at line 122 of file PlanarVXDMomentumMeasurement.h.

124  {
125  const VXDMomentumEstimation<HitType>& momentumEstimator = VXDMomentumEstimation<HitType>::getInstance();
126  const VXDMomentumEstimationTools<HitType>& momentumEstimationTools = VXDMomentumEstimationTools<HitType>::getInstance();
127 
128  TVectorD rawHitCoordinates(1);
129  TMatrixDSym rawHitCovariance(1);
130 
131  // Copy the information from the current state
132  const B2Vector3D& statePosition(state.getPos());
133  const B2Vector3D& stateMomentum(state.getMom());
134  short stateCharge = state.getCharge();
135 
136 
137  // Copy the information from the reco track.
138  const B2Vector3D& trackPosition(m_recoTrack->getPositionSeed());
139  const B2Vector3D& trackMomentum(m_recoTrack->getMomentumSeed());
140  short trackCharge = m_recoTrack->getChargeSeed();
141 
142  // Copy the information from the mc particle (if there is one)
143  MCParticle* relatedMCParticle = m_hit->template getRelated<MCParticle>("MCParticles");
144 
145  ROOT::Math::XYZVector mcMomentum;
146  ROOT::Math::XYZVector mcPosition;
147  short mcCharge;
148 
149  if (relatedMCParticle == nullptr) {
150  mcMomentum = ROOT::Math::XYZVector(trackMomentum);
151  mcPosition = ROOT::Math::XYZVector(trackPosition);
152  mcCharge = trackCharge;
153  } else {
154  mcMomentum = relatedMCParticle->getMomentum();
155  mcPosition = relatedMCParticle->getProductionVertex();
156  mcCharge = relatedMCParticle->getCharge();
157  }
158 
159  // Copy information from the mc hit
160  const ROOT::Math::XYZVector& hitMCMomentum = momentumEstimationTools.getEntryMomentumOfMCParticle(*m_hit);
161  const ROOT::Math::XYZVector& hitMCPosition = momentumEstimationTools.getEntryPositionOfMCParticle(*m_hit);
162 
163 
164  if (m_useThickness) {
165  rawHitCoordinates(0) = momentumEstimator.estimateQOverPWithThickness(*m_hit, stateCharge, m_fitParameters,
167  } else {
168  if (m_useTrackingSeeds) {
169  if (m_useMCInformation) {
170  rawHitCoordinates(0) = momentumEstimator.estimateQOverP(*m_hit, mcMomentum, mcPosition, mcCharge,
173 
174  } else {
175  rawHitCoordinates(0) = momentumEstimator.estimateQOverP(*m_hit, ROOT::Math::XYZVector(trackMomentum),
176  ROOT::Math::XYZVector(trackPosition), trackCharge,
179  }
180  } else {
181  if (m_useMCInformation) {
182  rawHitCoordinates(0) = momentumEstimator.estimateQOverP(*m_hit, hitMCMomentum, hitMCPosition, stateCharge,
185  } else {
186  rawHitCoordinates(0) = momentumEstimator.estimateQOverP(*m_hit, ROOT::Math::XYZVector(stateMomentum),
187  ROOT::Math::XYZVector(statePosition), stateCharge,
190  }
191  }
192  }
193 
194  rawHitCovariance(0, 0) = m_sigma;
195 
196  genfit::MeasurementOnPlane* mop = new genfit::MeasurementOnPlane(rawHitCoordinates, rawHitCovariance,
197  state.getPlane(), state.getRep(), constructHMatrix(state.getRep()));
198  return {mop};
199  }
virtual const genfit::AbsHMatrix * constructHMatrix(const genfit::AbsTrackRep *rep) const override
Construct the QP matrix.
VXDMomentumEstimation< HitType >::CorrectionFitParameters m_correctionFitParameters
Parameters for the correction function.
bool m_useMCInformation
Use the seeds of the track finder or the seeds of the MC particles.
const RecoTrack * m_recoTrack
RecoTrack for which the hit is created.
bool m_useTrackingSeeds
Use the tracking seeds in the origin for calculating the path length rather than the current state.
VXDMomentumEstimation< HitType >::FitParameters m_fitParameters
Parameters for the main function.
double m_sigma
Value of the measurement sigma.
bool m_useThickness
Use the thickness of the clusters of the path length for estimating dX.
ROOT::Math::XYZVector getPositionSeed() const
Return the position seed stored in the reco track. ATTENTION: This is not the fitted position.
Definition: RecoTrack.h:480
short int getChargeSeed() const
Return the charge seed stored in the reco track. ATTENTION: This is not the fitted charge.
Definition: RecoTrack.h:508
ROOT::Math::XYZVector getMomentumSeed() const
Return the momentum seed stored in the reco track. ATTENTION: This is not the fitted momentum.
Definition: RecoTrack.h:487
static const VXDMomentumEstimationTools & getInstance()
Use this class as singleton.
static const VXDMomentumEstimation & getInstance()
Use this class as a singleton.
Measured coordinates on a plane.
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition: B2Vector3.h:516

◆ convertFloatToInt()

long Belle2::convertFloatToInt ( double  value,
int  power 
)
inline

Convert float or double to long int for more similarity to the FPGA implementation.

Parameters
valueto be converted
powermultiply value by 10^power

Definition at line 21 of file DATCONHelpers.h.

22  {
23  long factor = (long)pow(10, power);
24  return round(factor * value);
25  }

◆ convertSplitPoints()

std::vector<ExpRunEvt> Belle2::convertSplitPoints ( const std::vector< Evt > &  events,
std::vector< double >  splitPoints 
)

Convert splitPoints [hours] to breakPoints in ExpRunEvt.

Parameters
eventsvector of events
splitPointsthe vector containing times of the edges of the calibration intervals [hours]
Returns
a vector with calibration break-points in the exp-run-evt format

Definition at line 363 of file Splitter.h.

364  {
365 
366  std::vector<ExpRunEvt> breakPos;
367  for (auto p : splitPoints) {
368  auto pos = getPosition(events, p);
369  breakPos.push_back(pos);
370  }
371  return breakPos;
372  }
ExpRunEvt getPosition(const std::vector< Evt > &events, double tEdge)
Get the exp-run-evt number from the event time [hours].
Definition: Splitter.h:341

◆ createMap()

i2dMap Belle2::createMap ( int  nEntries,
Functor  funct 
)

create a multimap with

Parameters
nEntriesentries.
functFunction object which values are used to determine the keys by the return value of funct.operator() NOTE: funct.operator has to take an int and return a double

Definition at line 52 of file mapHelperFunctions.cc.

53  {
54  i2dMap map;
55  for (int i = 0; i < nEntries; ++i) {
56  map.insert(std::make_pair(i, funct.operator()(i)));
57  }
58  return map;
59  }
std::unordered_map< int, double > i2dMap
typedef for less writing effort

◆ createMultiMap()

i2dMultiMap Belle2::createMultiMap ( int  nEntries,
Functor  funct 
)

create a multimap with

Parameters
nEntriesentries.
functFunction object which values are used to determine the keys by the return value of funct.operator() NOTE: funct.operator has to take an int and return a double

Definition at line 37 of file mapHelperFunctions.cc.

◆ createPurityInfos() [1/2]

static std::vector<Belle2::MCVXDPurityInfo> Belle2::createPurityInfos ( const SPContainer &  container)
static
  • create a vector of MCVXDPurityInfos objects for any given container holding SpacePoints and providing a getHits() method each MCParticle that is in the container gets its own object NOTE: negative MCParticleIds are possible und used as follows:
  • -1 -> there was a TrueHit (i.e. Cluster) related to a SpacePoint in the container that did not have relation to a MCParticle
  • -2 -> there was a SpacePoint with a Cluster that was not related to a TrueHit (noise Cluster)
    Returns
    sorted vector of MCVXDPurityInfo (sorted by overall purity)
    wrapper taking a const reference instead of a const pointer for use in e.g. C++11 for loops

Definition at line 218 of file PurityCalculatorTools.h.

219  {
220  return createPurityInfos(&container);
221  }
static std::vector< Belle2::MCVXDPurityInfo > createPurityInfos(const SPContainer &container)

◆ createPurityInfos() [2/2]

static std::vector<Belle2::MCVXDPurityInfo> Belle2::createPurityInfos ( const SPContainer *  container)
static

create a vector of MCVXDPurityInfos objects for any given container holding SpacePoints and providing a getHits() method each MCParticle that is in the container gets its own object NOTE: negative MCParticleIds are possible und used as follows:

Definition at line 202 of file PurityCalculatorTools.h.

◆ createPurityInfosVec()

static std::vector<Belle2::MCVXDPurityInfo> Belle2::createPurityInfosVec ( const std::vector< const Belle2::SpacePoint * > &  spacePoints)
static

create a vector of MCVXDPurityInfos objects for a std::vector<Belle2::SpacePoints>.

each MCParticle that is in the vector gets its own object NOTE: negative MCParticleIds are possible and used as follows:

Definition at line 149 of file PurityCalculatorTools.h.

◆ decorrelate() [1/3]

std::vector< double > decorrelate ( const std::array< double, Ndims > &  inputs) const

"decorrelate" one measurement (i.e.

apply the transformation that has previously been determined).

Definition at line 136 of file DecorrelationMatrix.h.

◆ decorrelate() [2/3]

std::array< std::vector< double >, Ndims > decorrelate ( const std::array< std::vector< double >, Ndims > &  inputMat) const

decorrelate M measurements (i.e.

apply the transformation that has previously been determined). NOTE: the transformation has to be calculated prior to the call of this function!

Definition at line 143 of file DecorrelationMatrix.h.

◆ decorrelate() [3/3]

std::vector< double > decorrelate ( const std::vector< double > &  inputVec) const

"decorrelate" one measurement (i.e.

apply the transformation that has previously been determined).

Definition at line 125 of file DecorrelationMatrix.h.

◆ dynamicBreaks()

std::vector< int > dynamicBreaks ( const std::vector< Atom > &  runs)
private

Get optimal break points using algorithm based on dynamic programing.

Parameters
runsVector of atoms, where each atom is an intervals in time
Returns
: Optimal indexes of the break points

Definition at line 241 of file Splitter.cc.

◆ encodeNumber()

double Belle2::encodeNumber ( double  val,
unsigned  num 
)
inline

Encode integer num into double val such that val is nearly not changed (maximally by a relative shift 1e-6).

It is use to store time information to the payloads

Definition at line 186 of file calibTools.h.

187  {
188  double factor = pow(FLT_RADIX, DBL_MANT_DIG);
189  static const long long fEnc = pow(2, 32); //32 binary digits for encoded number
190 
191  int e; //exponent of the number
192  double mantisa = std::frexp(val, &e);
193  long long mantisaI = mantisa * factor; //mantissa as integer
194 
195  if (val != 0)
196  mantisaI = (mantisaI / fEnc) * fEnc + num; //adding encoded number to last digits of mantissa
197  else {
198  mantisaI = factor / 2 + num;
199  e = -100; //if the val is zero, ensure very small number by the exponent
200  }
201 
202  double newVal = ldexp(mantisaI / factor, e);
203 
204  return newVal;
205  }

◆ evalPol() [1/2]

double Belle2::evalPol ( const Eigen::VectorXd &  polCoef,
double  x 
)

Evaluate Cheb.

pol at point x when the coefficients of the expansion are provided

◆ evalPol() [2/2]

double Belle2::evalPol ( const VectorXd &  polCoef,
double  x 
)

Evaluate Cheb.

pol at point x when the coefficients of the expansion are provided

Definition at line 176 of file nodes.cc.

177  {
178  VectorXd pols = getPols(polCoef.size(), x);
179 
180  double s = pols.dot(polCoef);
181 
182  return s;
183  }
Eigen::VectorXd getPols(int Size, double x)
Evaluate Chebyshev polynomials up to Size at point x It returns a vector of the P_i(x) for i=0....
Definition: nodes.cc:77

◆ findWeightInVector()

static bool Belle2::findWeightInVector ( std::vector< std::pair< int, double > > &  vec,
double  weight 
)
static

find the given weight in the given vector of pair<int,double> NOTE: the criteria for finding are rather loose (i.e.

actual value and desired value must not differ by more than 1e-4) as the values that are encountered lie rather far apart!

Definition at line 39 of file PurityCalculatorTools.h.

◆ getAllValues()

std::vector<typename MapType::mapped_type> Belle2::getAllValues ( const MapType &  aMap)

get all values in the map (i.e.

dump out all values that are stored in the map). The connection to the keys is lost! TODO: write test for this!!!!

Definition at line 133 of file MapHelperFunctions.h.

134  {
135  typedef typename MapType::key_type keyT;
136  std::vector<keyT> allKeys = getUniqueKeys(aMap);
137 
138  typedef typename MapType::mapped_type valueT;
139  std::vector<valueT> allValues;
140  for (const keyT& key : allKeys) {
141  std::vector<valueT> keyValues = getValuesToKey(aMap, key);
142  for (const valueT& value : keyValues) {
143  allValues.push_back(value);
144  }
145  }
146 
147  return allValues;
148  }
std::vector< typename MapType::key_type > getUniqueKeys(const MapType &aMap)
get the unique keys of a map (i.e.
std::vector< typename MapType::mapped_type > getValuesToKey(const MapType &aMap, typename MapType::key_type aKey)
get all values stored in the map for a given key

◆ getCoefs()

MatrixXd getCoefs ( int  Size,
bool  isInverse = false 
)

Transformation matrix between Cheb nodes and coefficients of the Cheb polynomials Notice, that there are two alternative ways defining polynomial interpolation:

  • coefficients c_i in of the Cheb polynomials, i.e. f(x) = sum_i c_i P_i(x)
  • Values of the f(x) in the Cheb nodes, i.e. d_j = f(x_j), where x_j are the nodes The Chebyshev polynomials are defined for x between 0 and 1

Definition at line 127 of file nodes.cc.

◆ getMCParticles()

static std::vector<std::pair<int, double> > Belle2::getMCParticles ( const Belle2::SpacePoint spacePoint)
static

get the related MCParticles to the TrueHit.

Returns
vector of pairs, where .first is the MCParticleId, which is -1 if there was no MCParticle related to a TrueHit and -2 if there is a Cluster without a relation to a TrueHit (probably a noise Cluster then) .second is the relation weight between SpacePoint and TrueHit (encodes additional information that is needed afterwards)

Definition at line 55 of file PurityCalculatorTools.h.

◆ getMinLoss()

double getMinLoss ( const std::vector< Atom > &  vec,
int  e,
std::vector< int > &  breaks 
)
private

Recursive function to evaluate minimal sum of the lossFuctions for the optimal clustering.

It return the minimum of the lossFunction and optimal break points giving such value. It acts only on atoms with indexes between 0 and e

Parameters
vecVector of atoms, where each atom is an intervals in time
ethe index of the last atom included in the optimisation problem
[out]breaksOutput vector with indexes of optimal break points
Returns
: Minimal value of the summed loss function

Definition at line 204 of file Splitter.cc.

◆ getNValuesPerKey()

std::vector<std::pair<typename MapType::key_type, unsigned int> > Belle2::getNValuesPerKey ( const MapType &  aMap)

get the unique keys of a map together with the number of values associated to each key.

first elements are keys, second are number of values NOTE: for a non-multimap this returns all keys with a .second of 1!

Definition at line 58 of file MapHelperFunctions.h.

◆ getPosition()

ExpRunEvt Belle2::getPosition ( const std::vector< Evt > &  events,
double  tEdge 
)
inline

Get the exp-run-evt number from the event time [hours].

Parameters
eventsvector of events
tEdgethe event time of the event of interest [hours]
Returns
the position of the time point in the exp-run-evt format

Definition at line 341 of file Splitter.h.

◆ getRun()

static ExpRun Belle2::getRun ( std::map< ExpRun, std::pair< double, double >>  runs,
double  t 
)
static

Get exp number + run number from time.

Parameters
runsmap, where key contain the exp-run number and value the start- and end-time of the run
ttime of interest [hours]
Returns
: the exp-run number at the input time t

Definition at line 262 of file Splitter.cc.

◆ getRunInfo()

std::map<ExpRun, std::pair<double, double> > Belle2::getRunInfo ( const std::vector< Evt > &  evts)
inline

Get the map of runs, where each run contains pair with start/end time [hours].

Parameters
evtsvector of events
Returns
a map where the key is exp-run and value start/end time of the particular run [hours]

Definition at line 312 of file Splitter.h.

◆ getSortedKeyValueTuples()

std::vector<std::tuple<typename MapType::key_type, typename MapType::mapped_type, unsigned int> > Belle2::getSortedKeyValueTuples ( const MapType &  aMap)

get the (key, value, number of values) tuples stored in the map, sorted after the following scheme (descending order) 1) the number of associated values to one key 2) the sum of the associated values to that key NOTE: for a non-multimap this returns the content of the map ordered by valued CAUTION: if one of the values to a key is NaN this key will be the first (of the ones with the same number of associated values)

Returns
a vector of tuples where get<0> is the key, get<1> is the sum of the values to the key and get<2> is the number of values to the key

Definition at line 102 of file MapHelperFunctions.h.

◆ getUniqueKeys()

std::vector<typename MapType::key_type> Belle2::getUniqueKeys ( const MapType &  aMap)

get the unique keys of a map (i.e.

if no multimap is passed all keys are returned) NOTE: for this to work the keys have to have a defined operator < () as std::sort is used! NOTE: as a side effect the keys are returned sorted!

Definition at line 32 of file MapHelperFunctions.h.

◆ import_sectors_loop()

void import_sectors_loop ( )

Documentation Comment Jakob Lettenbichler: this was written by a student and will be removed after finishing redesign of VXDTF.

Therefore some documentation-entries are not very useful - all of them are marked with "dummy comment". dummy comment: import_sectors_loop

Definition at line 154 of file collectortfinfo.h.

155  {
156  // Create Test Sector
157  std::map<unsigned int, std::vector<int>> sector_map;
158  uint size_of_sectors = 10;
159 
160  for (uint i = 0; i < size_of_sectors; i++) {
161  sector_map.insert(std::make_pair(i, std::vector<int>()));
162  }
163 
164  // 1. Sectors init
165  //KeySectors dosn't function => so pair Int int
166  std::map<std::pair<unsigned int, unsigned int>, std::vector<int>> sectors_display_all_pass;
167  std::vector<int> sectors_display_friends;
168 
169  for (uint i = 0; i < pass_sector_ids.size(); i++) {
170 
171  B2DEBUG(1, "PassNr. " << i << "Size of Sector Map: " << sector_map.size());
172 
173  for (auto& akt_sector : sector_map) {
174  sectors_display_friends.clear();
175 
176  // Friends read and store in second vector
177  for (auto& akt_friend : akt_sector.second) {
178  sectors_display_friends.push_back(akt_friend);
179  }
180  sectors_display_all_pass.insert(std::make_pair(std::make_pair(i, akt_sector.first), sectors_display_friends));
181  }
182  }
183  m_collector.initPersistent();
184  m_collector.intEvent();
185  // m_collector.initSectors (sectors_display_all_pass, std::vector<double>(), std::vector<double>());
186  }
std::vector< int > pass_sector_ids
fixed vector of pass indices (values are never used)
CollectorTFInfo m_collector
cached ref to CollectorTFInfo()

◆ initializeObservers() [1/3]

bool Belle2::initializeObservers ( const Belle2::Filter< Variable, RangeType, observer > &  filter,
argsTypes ...  args 
)

Initialize the observer of a RangeType Filter.

Template Parameters
Variable: Filter variable type
RangeType: range type
observer: observer type to be used
argsTypes: argument types of the filter
Parameters
filter: Filter for which the observer shall be initialized
args: arguments of the filter
Returns
boolean to indicate if the observer has been initialized

Definition at line 985 of file Filter.h.

986  {
987  return observer::initialize(Variable(), filter.getRange(), args ...);
988  }
std::map< ExpRun, std::pair< double, double > > filter(const std::map< ExpRun, std::pair< double, double >> &runs, double cut, std::map< ExpRun, std::pair< double, double >> &runsRemoved)
filter events to remove runs shorter than cut, it stores removed runs in runsRemoved
Definition: Splitter.cc:38

◆ initializeObservers() [2/3]

bool Belle2::initializeObservers ( const Filter< booleanBinaryOperator, Belle2::Filter< types1... >, Belle2::Filter< types2... >, observer > &  ,
argsTypes ...  args 
)

Observer Stuff ///.

Recursive function to initialize all the observers in a binary boolean Filter.

Template Parameters
booleanBinaryOperator: Tag Class to identify the Filter operator
types1: template pack of a filter
types2: template pack of another filter
observer: observer type to be used
argsTypes: argument types of the filter
Parameters
args: arguments of the filter
Returns
boolean to indicate if the observer has been initialized

Definition at line 947 of file Filter.h.

◆ initializeObservers() [3/3]

bool Belle2::initializeObservers ( const Filter< booleanUnaryOperator, Belle2::Filter< types1... >, observer > &  ,
argsTypes ...  args 
)

Recursive function to initialize all the observers in a unary boolean Filter.

Template Parameters
booleanUnaryOperator: Tag Class to identify the Filter operator
types1: template pack of the filter
observer: observer type to be used
argsTypes: argument types of the filter
Parameters
args: arguments of the filter
Returns
boolean to indicate if the observer has been initialized

Definition at line 969 of file Filter.h.

◆ interpol() [1/2]

double Belle2::interpol ( Eigen::VectorXd  xi,
Eigen::VectorXd  vals,
double  x 
)

Get interpolated function value at point x when function values vals at points xi are provided.

If the points xi are fixed and only vals are different between interpol calls, use interpol(xi, x) to speed up the evaluation.

◆ interpol() [2/2]

double Belle2::interpol ( VectorXd  xi,
VectorXd  vals,
double  x 
)

Get interpolated function value at point x when function values vals at points xi are provided.

If the points xi are fixed and only vals are different between interpol calls, use interpol(xi, x) to speed up the evaluation.

Definition at line 210 of file nodes.cc.

◆ lossFunction()

double lossFunction ( const std::vector< Atom > &  vec,
int  s,
int  e 
) const
private

lossFunction of the calibration interval consisting of several "atoms" stored in vector vec The atoms included in calibration interval have indices between s and e

the lossFunction formula (it can be modified according to the user's taste)

Parameters
vecVector of atoms, where each atom is an intervals in time
sFirst index of the calib. interval
eLast index of the calib. interval
Returns
: A value of the loss function

Definition at line 135 of file Splitter.cc.

◆ mergeIntervals()

std::map< ExpRun, std::pair< double, double > > mergeIntervals ( std::map< ExpRun, std::pair< double, double >>  I1,
std::map< ExpRun, std::pair< double, double >>  I2 
)
static

Merge two subintervals into one subinterval.

Parameters
I1First subinterval to merge
I2Second subinterval to merge
Returns
: The resulting subinterval

Definition at line 306 of file Splitter.cc.

◆ operator!()

Filter<OperatorNot, Filter<types...>, VoidObserver> Belle2::operator! ( const Filter< types... > &  filter)

Definition of the NOT operator ! for the Filter class.

Template Parameters
types: template pack defining the filter
Parameters
filter: filter to which the NOT operator shall be added
Returns
!filter, so a filter with NOT operator attached

Definition at line 583 of file Filter.h.

◆ operator&&()

Filter<Belle2::OperatorAnd, Belle2::Filter<types1...>, Belle2::Filter<types2...>, Belle2::VoidObserver> Belle2::operator&& ( const Filter< types1... > &  filter1,
const Filter< types2... > &  filter2 
)

Definition of the boolean AND operator && of the Filter class.

Template Parameters
types1: template pack of filter A
types2: template pack of filter B
Parameters
filter1: filter A
filter2: filter B
Returns
Boolean AND combination of the two filters

Definition at line 753 of file Filter.h.

◆ operator<() [1/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, LowerBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator< ( Arithmetic  lowerBound,
const Var &   
)

Creates a Filters with an lower bound > on the provided variable lowerBound < Var.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
lowerBound: lower bound value to be checked by the filter
Returns
the created filter

Definition at line 171 of file Shortcuts.h.

173  {
174  return Filter<Var, LowerBoundedSet<Arithmetic>, VoidObserver>(LowerBoundedSet<Arithmetic> (lowerBound));
175  }

◆ operator<() [2/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<ArithmeticLower>::value && std::is_arithmetic<ArithmeticUpper>::value, Filter<Var, Range<ArithmeticLower, ArithmeticUpper>, Observer > >::type Belle2::operator< ( const Filter< Var, LowerBoundedSet< ArithmeticLower >, Observer > &  filter,
ArithmeticUpper  upperBound 
)

Adding upper bound to filter with lower bound to create a filter with an allowed range between lower and upper bound.

(Var with lowerBound) < upperBound

Template Parameters
Var: variable type to be used for the filter
ArithmeticLower: type of lower bound
ArithmeticUpper: type of upper bound
Observer: observer type
Parameters
filter: filter with lower bound to which the upper bound shall be added
upperBound: value of upper bound
Returns
filter with range allowing values between lower and upper bound

Definition at line 255 of file Shortcuts.h.

◆ operator<() [3/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value&& std::is_arithmetic<Arithmetic>::value, Filter<Var, UpperBoundedSet<Arithmetic>, VoidObserver > >::type Belle2::operator< ( const Var &  ,
Arithmetic  upperBound 
)

Creates a Filters with an upper bound < on the provided variable Var < lowerBound.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
types: other types
Parameters
upperBound: upper bound value to be checked by the filter
Returns
the created filter

Definition at line 48 of file Shortcuts.h.

◆ operator<=() [1/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, ClosedLowerBoundedSet<Arithmetic>, VoidObserver > >::type Belle2::operator<= ( Arithmetic  lowerBound,
const Var &   
)

Creates a Filters with a closed lower bound >= on the provided variable lowerBound <= Var.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
lowerBound: lower bound value to be checked by the filter
Returns
the created filter

Definition at line 191 of file Shortcuts.h.

◆ operator<=() [2/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<ArithmeticLower>::value && std::is_arithmetic<ArithmeticUpper>::value, Filter<Var, ClosedRange<ArithmeticLower, ArithmeticUpper>, Observer > >::type Belle2::operator<= ( const Filter< Var, ClosedLowerBoundedSet< ArithmeticLower >, Observer > &  filter,
ArithmeticUpper  upperBound 
)

Adding closed upper bound to filter with closed lower bound to create a filter with an allowed closed range between lower and upper bound.

(Var with closed lowerBound) <= upperBound

Template Parameters
Var: variable type to be used for the filter
ArithmeticLower: type of lower bound
ArithmeticUpper: type of upper bound
Observer: observer type
Parameters
filter: filter with lower bound to which the upper bound shall be added
upperBound: value of upper bound
Returns
filter with closed range allowing values between lower and upper bound

Definition at line 307 of file Shortcuts.h.

◆ operator<=() [3/3]

std::enable_if< std::is_base_of< SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value&& std::is_arithmetic<Arithmetic>::value, Filter<Var, ClosedUpperBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator<= ( const Var &  ,
Arithmetic  upperBound 
)

Creates a Filters with a closed upper bound <= on the provided variable Var <= lowerBound.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
types: other types
Parameters
upperBound: upper bound value to be checked by the filter
Returns
the created filter

Definition at line 71 of file Shortcuts.h.

◆ operator==() [1/3]

bool Belle2::operator== ( const EntryType &  a,
const DirectedNode< EntryType, MetaInfoType > &  b 
)

************************* NON-MEMBER FUNCTIONS *************************

Non-memberfunction Comparison for equality with EntryType <-> DirectedNode< EntryType >

Definition at line 131 of file DirectedNode.h.

132  {
133  return (a == b.getConstEntry());
134  }

◆ operator==() [2/3]

std::enable_if<std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value, Filter<Var, SingleElementSet<Val>, VoidObserver> >::type Belle2::operator== ( const Var &  ,
Val  v 
)

Creates a Filters to compare a variable against a given value Var == Val;.

Template Parameters
Var: variable type to use for the filter
Val: value type to compare variable against
Parameters
v: value to compare variable against
Returns
the created filter

Definition at line 211 of file Shortcuts.h.

◆ operator==() [3/3]

std::enable_if<std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value, Filter<Var, SingleElementSet<Val>, VoidObserver> >::type Belle2::operator== ( Val  val,
const Var &  var 
)

Creates a Filters to compare a variable against a given value Val == Var;.

Template Parameters
Var: variable type to be used for the filter
Val: value type to compare variable against
Parameters
val: value to compare variable against
var: variable
Returns
the created filter

Definition at line 231 of file Shortcuts.h.

◆ operator>() [1/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, UpperBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator> ( Arithmetic  upperBound,
const Var &   
)

Creates a Filters with an upper bound < on the provided variable upperBound > Var.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
upperBound: upper bound value to be checked by the filter
Returns
the created filter

Definition at line 132 of file Shortcuts.h.

◆ operator>() [2/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<ArithmeticLower>::value && std::is_arithmetic<ArithmeticUpper>::value, Filter<Var, Range<ArithmeticLower, ArithmeticUpper>, Observer > >::type Belle2::operator> ( const Filter< Var, UpperBoundedSet< ArithmeticUpper >, Observer > &  filter,
ArithmeticLower  lowerBound 
)

Adding lower bound to filter with upper bound to create a filter with an allowed range between lower and upper bound.

(Var with upperBound) > lowerBound

Template Parameters
Var: variable type to be used for the filter
ArithmeticLower: type of lower bound
ArithmeticUpper: type of upper bound
Observer: observer type
Parameters
filter: filter with lower bound to which the upper bound shall be added
lowerBound: value of lower bound
Returns
filter with range allowing values between lower and upper bound

Definition at line 282 of file Shortcuts.h.

◆ operator>() [3/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, LowerBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator> ( const Var &  ,
Arithmetic  lowerBound 
)

Creates a Filters with an lower bound > on the provided variable Var > lowerBound.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
lowerBound: lower bound value to be checked by the filter
Returns
the created filter

Definition at line 92 of file Shortcuts.h.

◆ operator>=() [1/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, ClosedUpperBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator>= ( Arithmetic  upperBound,
const Var &   
)

Creates a Filters with a closed upper bound <= on the provided variable upperBound >= Var.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
upperBound: upper bound value to be checked by the filter
Returns
the created filter

Definition at line 152 of file Shortcuts.h.

◆ operator>=() [2/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<ArithmeticLower>::value && std::is_arithmetic<ArithmeticUpper>::value, Filter<Var, ClosedRange<ArithmeticLower, ArithmeticUpper>, Observer > >::type Belle2::operator>= ( const Filter< Var, ClosedUpperBoundedSet< ArithmeticUpper >, Observer > &  filter,
ArithmeticLower  lowerBound 
)

Adding closed lower bound to filter with closed upper bound to create a filter with an allowed closed range between lower and upper bound.

(Var with closed upperBound) >= lowerBound

Template Parameters
Var: variable type to be used for the filter
ArithmeticLower: type of lower bound
ArithmeticUpper: type of upper bound
Observer: observer type
Parameters
filter: filter with lower bound to which the upper bound shall be added
lowerBound: value of lower bound
Returns
filter with closed range allowing values between lower and upper bound

Definition at line 334 of file Shortcuts.h.

◆ operator>=() [3/3]

std::enable_if< std::is_base_of<SelectionVariable<typename Var::argumentType, Var::c_Nargs, typename Var::variableType>, Var>::value && std::is_arithmetic<Arithmetic>::value, Filter<Var, ClosedLowerBoundedSet<Arithmetic>, VoidObserver> >::type Belle2::operator>= ( const Var &  ,
Arithmetic  lowerBound 
)

Creates a Filters with a closed lower bound >= on the provided variable Var >= lowerBound.

Template Parameters
Var: variable type to use for the filter
Arithmetic: type of the return value of the variable function
Parameters
lowerBound: lower bound value to be checked by the filter
Returns
the created filter

Definition at line 112 of file Shortcuts.h.

◆ operator||()

Filter<Belle2::OperatorOr, Belle2::Filter<types1...>, Belle2::Filter<types2...>, Belle2::VoidObserver> Belle2::operator|| ( const Filter< types1... > &  filter1,
const Filter< types2... > &  filter2 
)

Definition of the boolean OR operator || of the Filter class.

Template Parameters
types1: template pack of filter A
types2: template pack of filter B
Parameters
filter1: filter A
filter2: filter B
Returns
Boolean OR combination of the two filters

Definition at line 925 of file Filter.h.

◆ print()

std::string print ( void  ) const

print the matrix to a string.

Format: a row, a line, elements of rows delimited by a space. No trailing newline after last row!

Definition at line 165 of file DecorrelationMatrix.h.

◆ printMap()

std::string Belle2::printMap ( const MapType &  aMap)

get the contents of the map as string.

NOTE: should compile without warning for any map (e.g. map, multimap, unordered_map,...) with key and values of a type that have a defined stream insertion operator (only tested for multimap and unordered_multimap!)

Definition at line 154 of file MapHelperFunctions.h.

◆ readFromStream()

bool readFromStream ( std::istream &  is)

read from stream.

Expected format: a row per line, elements of rows delimited by a space. returns true if operation was succesful, false elsewise

NOTE: it is only checked if enough elements are present in each row and column. However, any superfluous values are ignored.

Definition at line 173 of file DecorrelationMatrix.h.

◆ runCalibration()

CalibrationAlgorithm::EResult Belle2::runCalibration ( TTree *  tracks,
const std::string &  calibName,
Fun1  GetEvents,
Fun2  calibAnalysis,
std::function< TObject *(Eigen::VectorXd, Eigen::MatrixXd, Eigen::MatrixXd)>  calibObjCreator,
TString  m_lossFunctionOuter,
TString  m_lossFunctionInner 
)

Run the the calibration over the whole event sample.

Parameters
tracksTTree object with mu-mu events
calibNamename of the calibration payload
GetEventsfunction that transforms TTree to std::vector
calibAnalysisfunction that performs the calibration on a single calibration interval
calibObjCreatorfunction that stores results to the payload class which inherits from TObject
m_lossFunctionOuterLost function for the calibration intervals of the spread parameters
m_lossFunctionInnerLost function for the calibration subintervals (for the mean value parameters)
Returns
State of the calibration run, i.e. EResult::c_OK if everything OK

Definition at line 428 of file calibTools.h.

◆ SelectionVariableNamesToFunctions() [1/4]

std::unordered_map<std::string, typename FilterA::functionType> Belle2::SelectionVariableNamesToFunctions ( Belle2::Filter< Belle2::OperatorAnd, FilterA, FilterB, options... >  )

Wrapper for filters with AND Operator tag.

Template Parameters
FilterA: a Filter variable type
FilterB: another Filter variable type
options: optional types
Returns
unordered map relating strings to the filter variable functions

Definition at line 71 of file SelectionVariableNamesToFunctions.h.

73  {
74  auto result = SelectionVariableNamesToFunctions(FilterA());
75  auto resultB = SelectionVariableNamesToFunctions(FilterB());
76  result.insert(resultB.begin(), resultB.end());
77  return result;
78  }
std::unordered_map< std::string, typename FilterA::functionType > SelectionVariableNamesToFunctions(Belle2::Filter< Belle2::OperatorOr, FilterA, FilterB, options... >)
Wrapper for filters with OR Operator tag.

◆ SelectionVariableNamesToFunctions() [2/4]

std::unordered_map<std::string, typename someFilter::functionType> Belle2::SelectionVariableNamesToFunctions ( Belle2::Filter< Belle2::OperatorNot, someFilter, options... >  )

Wrapper for filters with NOT Operator tag.

Template Parameters
someFilter: Filter variable type
options: optional types
Returns
unordered map relating strings to the filter variable functions

Definition at line 52 of file SelectionVariableNamesToFunctions.h.

◆ SelectionVariableNamesToFunctions() [3/4]

std::unordered_map<std::string, typename FilterA::functionType> Belle2::SelectionVariableNamesToFunctions ( Belle2::Filter< Belle2::OperatorOr, FilterA, FilterB, options... >  )

Wrapper for filters with OR Operator tag.

Template Parameters
FilterA: a Filter variable type
FilterB: another Filter variable type
options: optional types
Returns
unordered map relating strings to the filter variable functions

Definition at line 93 of file SelectionVariableNamesToFunctions.h.

◆ SelectionVariableNamesToFunctions() [4/4]

std::unordered_map<std::string, typename Variable::functionType> Belle2::SelectionVariableNamesToFunctions ( Belle2::Filter< Variable, Range, Options... >  )

Return a map from the SelectionVariable name to the SelectionVariable function of the Variable used in the filter that is the template argument parameter.

This is the basic building block we will exploit later

Template Parameters
Variable: Filter variable type
Range: range type
Options: optional types
Returns
unordered map relating strings to the filter variable functions

Definition at line 35 of file SelectionVariableNamesToFunctions.h.

◆ splitToSmall()

std::vector< std::pair< double, double > > splitToSmall ( std::map< ExpRun, std::pair< double, double >>  runs,
double  intSize = 1. / 60 
)
staticprivate

Split the runs into small calibration intervals (atoms) of a specified size.

By definition each of these intervals spans only over single run. These will be clustered into larger intervals in the next steps

Parameters
runsRuns to split into the atoms
intSizeIntended size of the small intervals
Returns
: A vector with resulting time boundaries of the atoms

Definition at line 173 of file Splitter.cc.

◆ TEST_F() [1/6]

Belle2::TEST_F ( SpacePointTest  ,
testConvertLocalToNormalizedCoordinates   
)

Testing member of spacePoint: convertToNormalizedCoordinates.

convertToNormalizedCoordinates converts a local hit into sensor-independent relative coordinates defined between 0 and 1.

Definition at line 369 of file spacePoint.cc.

370  {
371  VxdID aVxdID = VxdID(1, 1, 1);
372  VXD::SensorInfoBase sensorInfoBase = createSensorInfo(aVxdID, 2.3, 4.2);
373 
374  pair<float, float> sensorCenter = {1.15, 2.1};
375 
376  pair<float, float> hitLocal05 = {0, 0}; // sensorCenter is at 0, 0 in local coordinates
377  pair<float, float> resultNormalized05 = {0.5, 0.5};
378 
379  pair<float, float> hitLocal001 = {0.023, 0.042};
380  hitLocal001.first -= sensorCenter.first;
381  hitLocal001.second -= sensorCenter.second;
382  pair<float, float> resultNormalized001 = {0.01, 0.01};
383 
384  pair<float, float> hitLocal088 = {2.024, 3.696};
385  hitLocal088.first -= sensorCenter.first;
386  hitLocal088.second -= sensorCenter.second;
387  pair<float, float> resultNormalized088 = {0.88, 0.88};
388 
389  pair<float, float> hitLocal001088 = {0.023, 3.696};// asymmetric example verifying that values are not accidentally switched
390  hitLocal001088.first -= sensorCenter.first;
391  hitLocal001088.second -= sensorCenter.second;
392  pair<float, float> resultNormalized001088 = {0.01, 0.88};
393 
394  pair<float, float> hitLocalMinMax = { -1.16, 500}; // hit lies way beyond sensor edges (first is below lower threshold, second above higher one)
395  pair<float, float> resultNormalizedMinMax = {0., 1.};
396 
397  pair<float, float> hitNormalized05 = SpacePoint::convertLocalToNormalizedCoordinates(hitLocal05, aVxdID, &sensorInfoBase);
398  EXPECT_FLOAT_EQ(resultNormalized05.first, hitNormalized05.first);
399  EXPECT_FLOAT_EQ(resultNormalized05.second, hitNormalized05.second);
400 
401  pair<float, float> hitNormalized001 = SpacePoint::convertLocalToNormalizedCoordinates(hitLocal001, aVxdID, &sensorInfoBase);
402  EXPECT_FLOAT_EQ(resultNormalized001.first, hitNormalized001.first);
403  EXPECT_NEAR(resultNormalized001.second, hitNormalized001.second, 1. / 100000.); // resolution of better than 1 nm.
404 
405  pair<float, float> hitNormalized088 = SpacePoint::convertLocalToNormalizedCoordinates(hitLocal088, aVxdID, &sensorInfoBase);
406  EXPECT_FLOAT_EQ(resultNormalized088.first, hitNormalized088.first);
407  EXPECT_FLOAT_EQ(resultNormalized088.second, hitNormalized088.second);
408 
409  pair<float, float> hitNormalized001088 = SpacePoint::convertLocalToNormalizedCoordinates(hitLocal001088, aVxdID, &sensorInfoBase);
410  EXPECT_FLOAT_EQ(resultNormalized001088.first, hitNormalized001088.first);
411  EXPECT_FLOAT_EQ(resultNormalized001088.second, hitNormalized001088.second);
412 
413  pair<float, float> hitNormalizedMinMax = SpacePoint::convertLocalToNormalizedCoordinates(hitLocalMinMax, aVxdID, &sensorInfoBase);
414  EXPECT_FLOAT_EQ(resultNormalizedMinMax.first, hitNormalizedMinMax.first);
415  EXPECT_FLOAT_EQ(resultNormalizedMinMax.second, hitNormalizedMinMax.second);
416  }

◆ TEST_F() [2/6]

Belle2::TEST_F ( SpacePointTest  ,
testConvertNormalizedToLocalCoordinates   
)

Testing member of spacePoint: convertToLocalCoordinates.

convertToLocalCoordinates converts a hit in sensor-independent relative (def. 0-1) coordinates into local coordinate of given sensor

Definition at line 424 of file spacePoint.cc.

◆ TEST_F() [3/6]

Belle2::TEST_F ( SpacePointTest  ,
testRootIOB2Vector3   
)

Test if B2Vector3 writing in and reading from root files work.

create sample to be written in a root file:

test whole procedure with B2Vector3:

reopen file, read entries and check them

retrieve the B2Vector3 from file:

cleanup

Definition at line 260 of file spacePoint.cc.

◆ TEST_F() [4/6]

Belle2::TEST_F ( SpacePointTest  ,
testRootIOPXDCluster   
)

Test if cluster writing in and reading from root files work.

create samples to be written in a root file:

test whole procedure first with PXDCluster:

reopen file, read entries and check them

cleanup

Definition at line 209 of file spacePoint.cc.

◆ TEST_F() [5/6]

Belle2::TEST_F ( SpacePointTest  ,
testRootIOSP   
)

Test if spacePoints writing in and reading from root files work.

does not work - TODO solve!

create samples to be written in a root file:

create root file, fill spacePoint into file, store it, close

reopen file, read entries and check them

delete file from disk, cleanup}

Definition at line 301 of file spacePoint.cc.

◆ TEST_F() [6/6]

Belle2::TEST_F ( TwoHitFiltersTest  ,
TestOutOfRangeNormedDistFilter   
)

And now possibly the only case where TwoHitFilters produces wrong results.

However, (1e300, 0, 1e300) will never happen.

Definition at line 130 of file twohitfilters.h.

132  {
133  B2Vector3D innerHit(1e300, 0, 1e300);
134  B2Vector3D outerHit(0, 0, 0);
135  double correctResult = 1. / 2.; // this should be the result which is analytically correct
136  double wrongResult = 0.; // this is the result because of out of range of double precission
137 
138  TwoHitFilters aFilter = TwoHitFilters(outerHit, innerHit); // correct order
139 
140  // however, the values exceed the range of double, therefore the result is NOT EQUAL to the correct value:
141  EXPECT_NE(correctResult, aFilter.calcNormedDist3D());
142  EXPECT_DOUBLE_EQ(wrongResult, aFilter.calcNormedDist3D());
143  }

◆ VariableTBranch()

VariableTBranch ( TTree *  tree)
explicit

Add to the TTree.

Constructor specialized for arithmetic types.

Parameters
treea branch whose name and type are inferred from parameter var

Definition at line 53 of file VariableTBranch.h.

54  {
55  if (tree != nullptr && tree -> GetBranch(Variable::name().c_str()) == nullptr)
56  m_branch = tree->Branch(Variable::name().c_str(), & m_storedValue,
58  }
TBranch * m_branch
Member for the pointer to the TBranch.
Variable::variableType m_storedValue
The value to be stored in tha branch.
char TBranchLeafType(const char *)
Overloading TBranchLeafType to be able to get identifier 'C' for type char*.

Variable Documentation

◆ cdcfromEclPathTruthVarNames

constexpr static char const* const cdcfromEclPathTruthVarNames[]
staticconstexpr
Initial value:
= {
"matched",
"daughters",
"PDG",
"mcTrackHits",
"seed_p_truth",
"seed_theta_truth",
"seed_pt_truth",
"seed_pz_truth",
"seed_px_truth",
"seed_py_truth"
}

Names of the variables to be generated.

Definition at line 22 of file CDCfromEclPathTruthVarSet.h.

◆ cdcfromEclStateTruthVarNames

constexpr static char const* const cdcfromEclStateTruthVarNames[]
staticconstexpr
Initial value:
= {
"match",
"PDG",
"seed_p_truth",
"seed_theta_truth",
"seed_pt_truth",
"seed_pz_truth",
"seed_px_truth",
"seed_py_truth"
}

Names of the variables to be generated.

Definition at line 22 of file CDCfromEclStateTruthVarSet.h.

◆ cdcPathTruthVarNames

constexpr static char const* const cdcPathTruthVarNames[]
staticconstexpr
Initial value:
= {
"mcTrackHits",
"daughters",
"PDG",
"seed_p_truth",
"seed_theta_truth",
"seed_pt_truth",
"seed_pz_truth",
"seed_px_truth",
"seed_py_truth"
}

Names of the variables to be generated.

Definition at line 22 of file CDCPathTruthVarSet.h.

◆ cdcStateTruthVarNames

constexpr static char const* const cdcStateTruthVarNames[]
staticconstexpr
Initial value:
= {
"match",
"PDG"
}

Names of the variables to be generated.

Definition at line 22 of file CDCStateTruthVarSet.h.

◆ m_storeRefTCDataForTestTC

bool m_storeRefTCDataForTestTC = false
staticprotected

if true, for testTC the values of attached refTC will be stored instead of own values.

setting the static storeRefTCDataForTestTC to a standard value

  • why are there values of the mcTC stored? we want to know the real data, not the guesses of the reconstructed data. Deviations of reference values to guesses of the reconstructed data will be stored in resiudals anyway.

Definition at line 64 of file AnalyzingAlgorithmBase.h.

◆ pxdResultTruthNames

constexpr static char const* const pxdResultTruthNames[]
staticconstexpr
Initial value:
= {
"truth",
"truth_number_of_correct_hits",
"truth_number_of_mc_pxd_hits",
"truth_number_of_mc_svd_hits",
"truth_number_of_mc_cdc_hits",
"truth_event_number",
"truth_seed_number",
}

Names of the variables to be generated.

Definition at line 27 of file PXDResultTruthVarSet.h.

◆ pxdResultVarNames

constexpr static char const* const pxdResultVarNames[]
staticconstexpr
Initial value:
= {
"chi2_vxd_max",
"chi2_vxd_min",
"chi2_seed",
"chi2",
"number_of_hits",
"pt",
"theta",
"number_of_holes",
"last_hit_layer",
"first_hit_layer",
"weight_sum",
"has_missing_layer_1",
"has_missing_layer_2",
"has_missing_layer_3",
"has_missing_layer_4",
"has_missing_layer_5",
"has_missing_layer_6",
"number_of_overlap_hits",
"distance_to_seed_track",
"distance_to_seed_track_xy",
}

Names of the variables to be generated.

Definition at line 24 of file PXDResultVarSet.h.

◆ pxdStateTruthVarNames

constexpr static char const* const pxdStateTruthVarNames[]
staticconstexpr
Initial value:
= {
"truth",
"truth_position_x",
"truth_position_y",
"truth_position_z",
"truth_momentum_x",
"truth_momentum_y",
"truth_momentum_z",
"truth_event_id",
"truth_seed_number"
}

Names of the variables to be generated.

Definition at line 26 of file PXDStateTruthVarSet.h.

◆ relationSVDResultVarNames

constexpr static char const* const relationSVDResultVarNames[]
staticconstexpr
Initial value:
= {
"svd_highest_layer",
"number_of_hits_related_svd_track",
}

Names of the variables to be generated.

Definition at line 23 of file RelationSVDResultVarSet.h.

◆ s_MagneticFieldFactor

DataType s_MagneticFieldFactor
static
Initial value:
= 1.5 *
0.00299710

is factor containing speed of light (c), the magnetic field (b) and the scaling factor s for conversion of meter in cm : c*b/100 = c*b*s.

The standard value assumes a magnetic field of 1.5 Tesla. Value can be changed using the resetMagneticField-Function, where a new value for the magnetic field in Tesla has to be passed. TODO WARNING hardcoded value!

Definition at line 29 of file SelectionVariableHelper.h.

◆ s_origin

VectorType s_origin = VectorType(0, 0, 0)
staticprotected

stores the origin used for some calculations, can be set here

setting the static origin to a standard value

Definition at line 55 of file AnalyzingAlgorithmBase.h.

◆ svdResultTruthNames

constexpr static char const* const svdResultTruthNames[]
staticconstexpr
Initial value:
= {
"truth",
"truth_svd_cdc_relation",
"truth_number_of_correct_hits",
"truth_number_of_mc_pxd_hits",
"truth_number_of_mc_svd_hits",
"truth_number_of_mc_cdc_hits",
"truth_event_number",
"truth_seed_number",
}

Names of the variables to be generated.

Definition at line 27 of file SVDResultTruthVarSet.h.

◆ svdResultVarNames

constexpr static char const* const svdResultVarNames[]
staticconstexpr
Initial value:
= {
"chi2_vxd_max",
"chi2_vxd_min",
"chi2_cdc",
"chi2",
"number_of_hits",
"pt",
"theta",
"number_of_holes",
"cdc_lowest_layer",
"last_hit_layer",
"first_hit_layer",
"weight_sum",
"has_missing_layer_1",
"has_missing_layer_2",
"has_missing_layer_3",
"has_missing_layer_4",
"has_missing_layer_5",
"has_missing_layer_6",
"distance_to_cdc_track",
"distance_to_cdc_track_xy",
}

Names of the variables to be generated.

Definition at line 24 of file SVDResultVarSet.h.

◆ svdStateTruthVarNames

constexpr static char const* const svdStateTruthVarNames[]
staticconstexpr
Initial value:
= {
"truth",
"truth_position_x",
"truth_position_y",
"truth_position_z",
"truth_momentum_x",
"truth_momentum_y",
"truth_momentum_z",
"truth_event_id",
"truth_seed_number"
}

Names of the variables to be generated.

Definition at line 26 of file SVDStateTruthVarSet.h.