|
ATLAS Offline Software
|
#include <OrthogonalSeedingTool.h>
|
Acts::SeedFinderOrthogonal< value_type > | m_finder |
|
Acts::SeedFinderOrthogonalConfig< value_type > | m_finderCfg |
|
Gaudi::Property< float > | m_minPt |
|
Gaudi::Property< float > | m_cotThetaMax |
|
Gaudi::Property< float > | m_deltaRMinTopSP |
|
Gaudi::Property< float > | m_deltaRMaxTopSP |
|
Gaudi::Property< float > | m_deltaRMinBottomSP |
|
Gaudi::Property< float > | m_deltaRMaxBottomSP |
|
Gaudi::Property< float > | m_impactMax |
|
Gaudi::Property< float > | m_sigmaScattering |
|
Gaudi::Property< float > | m_maxPtScattering |
|
Gaudi::Property< unsigned int > | m_maxSeedsPerSpM |
|
Gaudi::Property< float > | m_collisionRegionMin {this, "collisionRegionMin", -200 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_collisionRegionMax {this, "collisionRegionMax", 200 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_phiMin {this, "phiMin", -M_PI} |
|
Gaudi::Property< float > | m_phiMax {this, "phiMax", M_PI} |
|
Gaudi::Property< float > | m_zMin {this, "zMin", -3000 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_zMax {this, "zMax", 3000 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_rMax {this, "rMax", 320 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_rMin {this, "rMin", 33 * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_rMinMiddle {this, "rMinMiddle", 60.f * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_rMaxMiddle {this, "rMaxMiddle", 120.f * Acts::UnitConstants::mm} |
|
Gaudi::Property< float > | m_deltaPhiMax {this, "deltaPhiMax", 0.085} |
|
Gaudi::Property< float > | m_deltaZMax |
|
Gaudi::Property< bool > | m_interactionPointCut |
|
Gaudi::Property< bool > | m_seedConfirmation |
|
Gaudi::Property< float > | m_radLengthPerSeed |
|
Gaudi::Property< float > | m_deltaInvHelixDiameter |
|
Gaudi::Property< float > | m_impactWeightFactor |
|
Gaudi::Property< float > | m_zOriginWeightFactor |
|
Gaudi::Property< float > | m_compatSeedWeight |
|
Gaudi::Property< float > | m_deltaRMin |
|
Gaudi::Property< std::size_t > | m_compatSeedLimit |
|
Gaudi::Property< float > | m_seedWeightIncrement {this, "seedWeightIncrement", 0} |
|
Gaudi::Property< float > | m_numSeedIncrement {this, "numSeedIncrement", 3.40282e+38} |
|
Gaudi::Property< bool > | m_seedConfirmationInFilter |
|
Gaudi::Property< int > | m_maxSeedsPerSpMConf |
|
Gaudi::Property< int > | m_maxQualitySeedsPerSpMConf |
|
Gaudi::Property< bool > | m_useDeltaRorTopRadius |
|
Gaudi::Property< float > | m_seedConfCentralZMin |
|
Gaudi::Property< float > | m_seedConfCentralZMax |
|
Gaudi::Property< float > | m_seedConfCentralRMax |
|
Gaudi::Property< size_t > | m_seedConfCentralNTopLargeR |
|
Gaudi::Property< size_t > | m_seedConfCentralNTopSmallR |
|
Gaudi::Property< float > | m_seedConfCentralMinBottomRadius |
|
Gaudi::Property< float > | m_seedConfCentralMaxZOrigin |
|
Gaudi::Property< float > | m_seedConfCentralMinImpact |
|
Gaudi::Property< float > | m_seedConfForwardZMin |
|
Gaudi::Property< float > | m_seedConfForwardZMax |
|
Gaudi::Property< float > | m_seedConfForwardRMax |
|
Gaudi::Property< size_t > | m_seedConfForwardNTopLargeR |
|
Gaudi::Property< size_t > | m_seedConfForwardNTopSmallR |
|
Gaudi::Property< float > | m_seedConfForwardMinBottomRadius |
|
Gaudi::Property< float > | m_seedConfForwardMaxZOrigin |
|
Gaudi::Property< float > | m_seedConfForwardMinImpact |
|
Gaudi::Property< bool > | m_useExperimentCuts {this, "useExperimentCuts", false, ""} |
|
Gaudi::Property< std::vector< std::vector< double > > > | m_rRangeMiddleSP |
|
std::unique_ptr< const Acts::Logger > | m_logger {nullptr} |
| logging instance More...
|
|
Definition at line 30 of file OrthogonalSeedingTool.h.
◆ seed_type
◆ value_type
◆ OrthogonalSeedingTool()
ActsTrk::OrthogonalSeedingTool::OrthogonalSeedingTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~OrthogonalSeedingTool()
virtual ActsTrk::OrthogonalSeedingTool::~OrthogonalSeedingTool |
( |
| ) |
|
|
virtualdefault |
◆ createSeeds()
Definition at line 95 of file OrthogonalSeedingTool.cxx.
102 Acts::SeedFinderOptions finderOpts;
103 finderOpts.beamPos = Acts::Vector2(beamSpotPos[
Amg::x],
105 finderOpts.bFieldInZ = bField[2];
106 finderOpts = finderOpts.toInternalUnits().calculateDerivedQuantities(
m_finderCfg);
109 auto groupSeeds =
m_finder.createSeeds(finderOpts, spContainer);
112 seedContainer.
reserve(groupSeeds.size());
113 for(
const auto& seed: groupSeeds) {
114 const auto [bottom, middle,
top] =
seed.sp();
116 std::unique_ptr< ActsTrk::Seed >
toAdd =
117 std::make_unique< ActsTrk::Seed >(bottom->externalSpacePoint(),
118 middle->externalSpacePoint(),
119 top->externalSpacePoint());
125 return StatusCode::SUCCESS;
◆ initialize()
StatusCode ActsTrk::OrthogonalSeedingTool::initialize |
( |
| ) |
|
|
overridevirtual |
◆ logger()
const Acts::Logger& ActsTrk::OrthogonalSeedingTool::logger |
( |
| ) |
const |
|
inlineprivate |
◆ prepareConfiguration()
StatusCode ActsTrk::OrthogonalSeedingTool::prepareConfiguration |
( |
| ) |
|
|
private |
Definition at line 129 of file OrthogonalSeedingTool.cxx.
132 Acts::SeedFilterConfig filterCfg;
164 m_finderCfg.seedFilter = std::make_shared<Acts::SeedFilter<value_type>>(filterCfg.toInternalUnits(),
logger().cloneWithSuffix(
"Filter"));
188 m_finderCfg.centralSeedConfirmationRange = filterCfg.centralSeedConfirmationRange;
189 m_finderCfg.forwardSeedConfirmationRange = filterCfg.forwardSeedConfirmationRange;
195 std::vector<float> convertedVec;
197 for (
const auto&
val :
vec) {
198 convertedVec.push_back(
static_cast<float>(
val));
201 m_finderCfg.rRangeMiddleSP.push_back(convertedVec);
206 [](
const void*,
float bottomRadius,
float cotTheta) ->
bool {
208 float fastTrackingRMin = 50.;
209 float fastTrackingCotThetaMax = 1.5;
211 if (bottomRadius < fastTrackingRMin and
212 (
cotTheta > fastTrackingCotThetaMax or
213 cotTheta < -fastTrackingCotThetaMax)) {
224 return StatusCode::SUCCESS;
◆ m_collisionRegionMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_collisionRegionMax {this, "collisionRegionMax", 200 * Acts::UnitConstants::mm} |
|
private |
◆ m_collisionRegionMin
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_collisionRegionMin {this, "collisionRegionMin", -200 * Acts::UnitConstants::mm} |
|
private |
◆ m_compatSeedLimit
Gaudi::Property<std::size_t> ActsTrk::OrthogonalSeedingTool::m_compatSeedLimit |
|
private |
Initial value:{this, "compatSeedLimit", 3,
"How often do you want to increase the weight of a seed for finding a compatible seed"}
Definition at line 128 of file OrthogonalSeedingTool.h.
◆ m_compatSeedWeight
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_compatSeedWeight |
|
private |
Initial value:{this, "compatSeedWeight", 100.,
"Seed weight increased by this value if a compatible seed has been found."}
Definition at line 124 of file OrthogonalSeedingTool.h.
◆ m_cotThetaMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_cotThetaMax |
|
private |
Initial value:{this, "cotThetaMax", 27.2899,
"Cot of maximum theta angle"}
Definition at line 65 of file OrthogonalSeedingTool.h.
◆ m_deltaInvHelixDiameter
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaInvHelixDiameter |
|
private |
Initial value:
"The allowed delta between two inverted seed radii for them to be considered compatible"}
Definition at line 118 of file OrthogonalSeedingTool.h.
◆ m_deltaPhiMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaPhiMax {this, "deltaPhiMax", 0.085} |
|
private |
◆ m_deltaRMaxBottomSP
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMaxBottomSP |
|
private |
Initial value:
"maximum distance in r between middle and bottom SP in one seed"}
Definition at line 73 of file OrthogonalSeedingTool.h.
◆ m_deltaRMaxTopSP
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMaxTopSP |
|
private |
Initial value:
"maximum distance in r between middle and top SP in one seed"}
Definition at line 69 of file OrthogonalSeedingTool.h.
◆ m_deltaRMin
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMin |
|
private |
Initial value:
"Minimum distance between compatible seeds to be considered for weight boost"}
Definition at line 126 of file OrthogonalSeedingTool.h.
◆ m_deltaRMinBottomSP
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMinBottomSP |
|
private |
Initial value:
"minimum distance in r between middle and bottom SP in one seed"}
Definition at line 71 of file OrthogonalSeedingTool.h.
◆ m_deltaRMinTopSP
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaRMinTopSP |
|
private |
Initial value:
"minimum distance in r between middle and top SP in one seed"}
Definition at line 67 of file OrthogonalSeedingTool.h.
◆ m_deltaZMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_deltaZMax |
|
private |
◆ m_finder
Acts::SeedFinderOrthogonal<value_type> ActsTrk::OrthogonalSeedingTool::m_finder |
|
private |
◆ m_finderCfg
Acts::SeedFinderOrthogonalConfig<value_type> ActsTrk::OrthogonalSeedingTool::m_finderCfg |
|
private |
◆ m_impactMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_impactMax |
|
private |
◆ m_impactWeightFactor
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_impactWeightFactor |
|
private |
Initial value:{this, "impactWeightFactor", 100.,
"The transverse impact parameters (d0) is multiplied by this factor and subtracted from weight"}
Definition at line 120 of file OrthogonalSeedingTool.h.
◆ m_interactionPointCut
Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_interactionPointCut |
|
private |
Initial value:{this, "interactionPointCut", true,
"Enable cut on the compatibility between interaction point and SPs"}
Definition at line 108 of file OrthogonalSeedingTool.h.
◆ m_logger
std::unique_ptr<const Acts::Logger> ActsTrk::OrthogonalSeedingTool::m_logger {nullptr} |
|
private |
◆ m_maxPtScattering
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_maxPtScattering |
|
private |
Initial value:{this, "maxPtScattering", 10e6,
"Upper pt limit for scattering calculation"}
Definition at line 81 of file OrthogonalSeedingTool.h.
◆ m_maxQualitySeedsPerSpMConf
Gaudi::Property<int> ActsTrk::OrthogonalSeedingTool::m_maxQualitySeedsPerSpMConf |
|
private |
Initial value:{this, "maxQualitySeedsPerSpMConf", 5,
"maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation if the limit is reached we check if there is a lower quality seed to be replaced"}
Definition at line 139 of file OrthogonalSeedingTool.h.
◆ m_maxSeedsPerSpM
Gaudi::Property<unsigned int> ActsTrk::OrthogonalSeedingTool::m_maxSeedsPerSpM |
|
private |
Initial value:{this, "maxSeedsPerSpM", 5,
"For how many seeds can one SpacePoint be the middle SpacePoint"}
Definition at line 84 of file OrthogonalSeedingTool.h.
◆ m_maxSeedsPerSpMConf
Gaudi::Property<int> ActsTrk::OrthogonalSeedingTool::m_maxSeedsPerSpMConf |
|
private |
Initial value:{this, "maxSeedsPerSpMConf", 5,
"maximum number of lower quality seeds in seed confirmation"}
Definition at line 137 of file OrthogonalSeedingTool.h.
◆ m_minPt
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_minPt |
|
private |
◆ m_numSeedIncrement
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_numSeedIncrement {this, "numSeedIncrement", 3.40282e+38} |
|
private |
◆ m_phiMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_phiMax {this, "phiMax", M_PI} |
|
private |
◆ m_phiMin
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_phiMin {this, "phiMin", -M_PI} |
|
private |
◆ m_radLengthPerSeed
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_radLengthPerSeed |
|
private |
Initial value:{this, "radLengthPerSeed", 0.1,
"average radiation lengths of material on the length of a seed. used for scattering"}
Definition at line 114 of file OrthogonalSeedingTool.h.
◆ m_rMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMax {this, "rMax", 320 * Acts::UnitConstants::mm} |
|
private |
◆ m_rMaxMiddle
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMaxMiddle {this, "rMaxMiddle", 120.f * Acts::UnitConstants::mm} |
|
private |
◆ m_rMin
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMin {this, "rMin", 33 * Acts::UnitConstants::mm} |
|
private |
◆ m_rMinMiddle
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_rMinMiddle {this, "rMinMiddle", 60.f * Acts::UnitConstants::mm} |
|
private |
◆ m_rRangeMiddleSP
Gaudi::Property< std::vector<std::vector<double> > > ActsTrk::OrthogonalSeedingTool::m_rRangeMiddleSP |
|
private |
Initial value:{this, "rRangeMiddleSP",
{{40.0, 90.0}, {40.0, 200.0}, {46.0, 200.0}, {46.0, 200.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 200.0}, {46.0, 200.0}, {40.0, 200.0}, {40.0, 90.0}},
"radial range for middle SP"}
Definition at line 183 of file OrthogonalSeedingTool.h.
◆ m_seedConfCentralMaxZOrigin
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMaxZOrigin |
|
private |
◆ m_seedConfCentralMinBottomRadius
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMinBottomRadius |
|
private |
◆ m_seedConfCentralMinImpact
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralMinImpact |
|
private |
◆ m_seedConfCentralNTopLargeR
Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralNTopLargeR |
|
private |
Initial value:{this, "seedConfCentralNTopLargeR", 1,
"nTop for large R central seed confirmation"}
Definition at line 152 of file OrthogonalSeedingTool.h.
◆ m_seedConfCentralNTopSmallR
Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralNTopSmallR |
|
private |
Initial value:{this, "seedConfCentralNTopSmallR", 2,
"nTop for small R central seed confirmation"}
Definition at line 154 of file OrthogonalSeedingTool.h.
◆ m_seedConfCentralRMax
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralRMax |
|
private |
◆ m_seedConfCentralZMax
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralZMax |
|
private |
◆ m_seedConfCentralZMin
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfCentralZMin |
|
private |
◆ m_seedConfForwardMaxZOrigin
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMaxZOrigin |
|
private |
◆ m_seedConfForwardMinBottomRadius
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMinBottomRadius |
|
private |
◆ m_seedConfForwardMinImpact
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardMinImpact |
|
private |
◆ m_seedConfForwardNTopLargeR
Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardNTopLargeR |
|
private |
Initial value:{this, "seedConfForwardNTopLargeR", 1,
"nTop for large R forward seed confirmation"}
Definition at line 169 of file OrthogonalSeedingTool.h.
◆ m_seedConfForwardNTopSmallR
Gaudi::Property< size_t > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardNTopSmallR |
|
private |
Initial value:{this, "seedConfForwardNTopSmallR", 2,
"nTop for small R forward seed confirmation"}
Definition at line 171 of file OrthogonalSeedingTool.h.
◆ m_seedConfForwardRMax
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardRMax |
|
private |
◆ m_seedConfForwardZMax
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardZMax |
|
private |
◆ m_seedConfForwardZMin
Gaudi::Property< float > ActsTrk::OrthogonalSeedingTool::m_seedConfForwardZMin |
|
private |
◆ m_seedConfirmation
Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_seedConfirmation |
|
private |
◆ m_seedConfirmationInFilter
Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_seedConfirmationInFilter |
|
private |
Initial value:{this, "seedConfirmationInFilter", true,
"Seed Confirmation"}
Definition at line 134 of file OrthogonalSeedingTool.h.
◆ m_seedWeightIncrement
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_seedWeightIncrement {this, "seedWeightIncrement", 0} |
|
private |
◆ m_sigmaScattering
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_sigmaScattering |
|
private |
Initial value:{this, "sigmaScattering", 2,
"how many sigmas of scattering angle should be considered"}
Definition at line 79 of file OrthogonalSeedingTool.h.
◆ m_useDeltaRorTopRadius
Gaudi::Property<bool> ActsTrk::OrthogonalSeedingTool::m_useDeltaRorTopRadius |
|
private |
Initial value:{this, "useDeltaRorTopRadius", true,
"use deltaR between top and middle SP instead of top radius to search for compatible SPs"}
Definition at line 142 of file OrthogonalSeedingTool.h.
◆ m_useExperimentCuts
Gaudi::Property< bool > ActsTrk::OrthogonalSeedingTool::m_useExperimentCuts {this, "useExperimentCuts", false, ""} |
|
private |
◆ m_zMax
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zMax {this, "zMax", 3000 * Acts::UnitConstants::mm} |
|
private |
◆ m_zMin
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zMin {this, "zMin", -3000 * Acts::UnitConstants::mm} |
|
private |
◆ m_zOriginWeightFactor
Gaudi::Property<float> ActsTrk::OrthogonalSeedingTool::m_zOriginWeightFactor |
|
private |
Initial value:{this, "zOriginWeightFactor", 1.,
"The logitudinal impact parameters (z0) is multiplied by this factor and subtracted from weight"}
Definition at line 122 of file OrthogonalSeedingTool.h.
The documentation for this class was generated from the following files:
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
std::vector< size_t > vec
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
value_type push_back(value_type pElem)
Add an element to the end of the collection.