|
ACTS
Experiment-independent tracking
|
Configuration struct. More...
#include <Acts/Vertexing/AdaptiveMultiVertexFinder.hpp>
Public Member Functions | |
| Config (VertexFitter fitter, std::shared_ptr< const IVertexFinder > sfinder, ImpactPointEstimator ipEst, std::shared_ptr< const MagneticFieldProvider > bIn) noexcept | |
| Config constructor. | |
Public Attributes | |
| bool | addSingleTrackVertices = false |
| Include also single track vertices. | |
| std::shared_ptr< const MagneticFieldProvider > | bField |
| Magnetic field provider for track propagation and vertex finding. | |
| std::pair< double, double > | defaultConstrFitQuality {0., -3.} |
| Default fitQuality for constraint vertex in case no beamspot constraint is provided. | |
| bool | doFullSplitting = false |
| If doFullSplitting == true, we check the 3D distance (if useTime == false) or the 4D distance (if useTime == true) of the vertices to determine whether they are merged. | |
| bool | doNotBreakWhileSeeding = false |
| If set to true, the vertex finder will not break the finding loop. | |
| bool | doRealMultiVertex = true |
| Perform a 'real' multi-vertex fit as intended by the algorithm. | |
| InputTrack::Extractor | extractParameters |
| Function to extract parameters from InputTrack. | |
| Vector4 | initialVariances = Vector4::Constant(1e+8) |
| Variances of the 4D vertex position before the vertex fit if no beamspot constraint is provided. | |
| ImpactPointEstimator | ipEstimator |
| ImpactPointEstimator. | |
| double | maximumVertexContamination = 0.5 |
| Maximum vertex contamination value. | |
| int | maxIterations = 100 |
| Maximal number of iterations in the finding procedure. | |
| double | maxMergeVertexSignificance = 3. |
| Maximum significance on the distance between two vertices to allow merging of two vertices. | |
| double | maxVertexChi2 = 18.42 |
| Max chi2 value for which tracks are considered compatible with the fitted vertex. | |
| double | minWeight = 0.0001 |
| Minimum weight a track has to have to be considered a compatible track with a vertex candidate. | |
| std::shared_ptr< const IVertexFinder > | seedFinder |
| Vertex seed finder. | |
| double | tracksMaxSignificance = 5. |
| Maximum allowed significance of track position to vertex seed to consider track as compatible to vertex. | |
| double | tracksMaxZinterval = 3. * Acts::UnitConstants::mm |
| Max z interval used for adding tracks to fit: When adding a new vertex to the multi vertex fit, only the tracks whose z at PCA is closer to the seeded vertex than tracksMaxZinterval are added to this new vertex. | |
| bool | useFastCompatibility = true |
| Decides if you want to use the vertexCompatibility of the track (set to true) or the chi2Track (set to false) as an estimate for a track being an outlier or not. | |
| bool | useSeedConstraint = true |
| Use seed vertex as a constraint for the fit. | |
| bool | useTime = false |
| Use time information when assigning tracks to vertices. | |
| bool | useVertexCovForIPEstimation = false |
| Use the full available vertex covariance information after seeding for the IP estimation. | |
| VertexFitter | vertexFitter |
| Vertex fitter. | |
Configuration struct.
|
noexcept |
Config constructor.
| fitter | The vertex fitter |
| sfinder | The seed finder |
| ipEst | ImpactPointEstimator |
| bIn | Input magnetic field |
| bool Acts::AdaptiveMultiVertexFinder::Config::addSingleTrackVertices = false |
Include also single track vertices.
| std::shared_ptr<const MagneticFieldProvider> Acts::AdaptiveMultiVertexFinder::Config::bField |
Magnetic field provider for track propagation and vertex finding.
| std::pair<double, double> Acts::AdaptiveMultiVertexFinder::Config::defaultConstrFitQuality {0., -3.} |
Default fitQuality for constraint vertex in case no beamspot constraint is provided.
| bool Acts::AdaptiveMultiVertexFinder::Config::doFullSplitting = false |
If doFullSplitting == true, we check the 3D distance (if useTime == false) or the 4D distance (if useTime == true) of the vertices to determine whether they are merged.
If doFullSplitting == false, we check the z distance (if useTime == false) or the z-t distance (if useTime == true) of the vertices to determine whether they are merged.
| bool Acts::AdaptiveMultiVertexFinder::Config::doNotBreakWhileSeeding = false |
If set to true, the vertex finder will not break the finding loop.
Some seeders are not able to cope with this therefore this is disabled by default.
| bool Acts::AdaptiveMultiVertexFinder::Config::doRealMultiVertex = true |
Perform a 'real' multi-vertex fit as intended by the algorithm.
If switched to true, always all (!) tracks are considered to be added to the new vertex candidate after seeding. If switched to false, only the seedTracks, i.e. all tracks that are considered as outliers of previously fitted vertices, are used.
| InputTrack::Extractor Acts::AdaptiveMultiVertexFinder::Config::extractParameters |
Function to extract parameters from InputTrack.
| Vector4 Acts::AdaptiveMultiVertexFinder::Config::initialVariances = Vector4::Constant(1e+8) |
Variances of the 4D vertex position before the vertex fit if no beamspot constraint is provided.
| ImpactPointEstimator Acts::AdaptiveMultiVertexFinder::Config::ipEstimator |
ImpactPointEstimator.
| double Acts::AdaptiveMultiVertexFinder::Config::maximumVertexContamination = 0.5 |
Maximum vertex contamination value.
| int Acts::AdaptiveMultiVertexFinder::Config::maxIterations = 100 |
Maximal number of iterations in the finding procedure.
| double Acts::AdaptiveMultiVertexFinder::Config::maxMergeVertexSignificance = 3. |
Maximum significance on the distance between two vertices to allow merging of two vertices.
3 corresponds to a p-value of ~0.92 using chi2(x=3,ndf=1)
| double Acts::AdaptiveMultiVertexFinder::Config::maxVertexChi2 = 18.42 |
Max chi2 value for which tracks are considered compatible with the fitted vertex.
These tracks are removed from the seedTracks after the fit has been performed.
| double Acts::AdaptiveMultiVertexFinder::Config::minWeight = 0.0001 |
Minimum weight a track has to have to be considered a compatible track with a vertex candidate.
Note: This value has to be the same as the one in the AMVFitter.
| std::shared_ptr<const IVertexFinder> Acts::AdaptiveMultiVertexFinder::Config::seedFinder |
Vertex seed finder.
| double Acts::AdaptiveMultiVertexFinder::Config::tracksMaxSignificance = 5. |
Maximum allowed significance of track position to vertex seed to consider track as compatible to vertex.
If useTime is set to true, the time coordinate also contributes to the significance and tracksMaxSignificance needs to be increased. 5 corresponds to a p-value of ~0.92 using chi2(x=5,ndf=2)
| double Acts::AdaptiveMultiVertexFinder::Config::tracksMaxZinterval = 3. * Acts::UnitConstants::mm |
Max z interval used for adding tracks to fit: When adding a new vertex to the multi vertex fit, only the tracks whose z at PCA is closer to the seeded vertex than tracksMaxZinterval are added to this new vertex.
Note: If you cut too hard, you cut out the good cases where the seed finder is not reliable, but the fit would be still able to converge towards the right vertex. If you cut too soft, you consider a lot of tracks which just slow down the fit.
| bool Acts::AdaptiveMultiVertexFinder::Config::useFastCompatibility = true |
Decides if you want to use the vertexCompatibility of the track (set to true) or the chi2Track (set to false) as an estimate for a track being an outlier or not.
In case the track refitting is switched on in the AMVFitter, you may want to use the refitted chi2Track.
| bool Acts::AdaptiveMultiVertexFinder::Config::useSeedConstraint = true |
Use seed vertex as a constraint for the fit.
| bool Acts::AdaptiveMultiVertexFinder::Config::useTime = false |
Use time information when assigning tracks to vertices.
If this is set to true, useTime of the vertex fitter configuration should also be set to true, and time seeding should be enabled.
| bool Acts::AdaptiveMultiVertexFinder::Config::useVertexCovForIPEstimation = false |
Use the full available vertex covariance information after seeding for the IP estimation.
In original implementation this is not (!) done, however, this is probably not correct. So definitely consider setting this to true.
| VertexFitter Acts::AdaptiveMultiVertexFinder::Config::vertexFitter |
Vertex fitter.