ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::GbtsSeedingTool Class Referencefinal

#include <GbtsSeedingTool.h>

Inheritance diagram for ActsTrk::GbtsSeedingTool:
Collaboration diagram for ActsTrk::GbtsSeedingTool:

Public Member Functions

 GbtsSeedingTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~GbtsSeedingTool ()=default
virtual StatusCode initialize () override
StatusCode createSeeds (const EventContext &ctx, const std::vector< const xAOD::SpacePointContainer * > &spacePointCollections, const Eigen::Vector3f &beamSpotPos, float bFieldInZ, ActsTrk::SeedContainer &seedContainer) const override

Private Member Functions

void printGbtsConfig () const
 prints all current config settings used either with default settings or properties changed by the gaudi options tells what the defaults in the config are
StatusCode prepareConfiguration ()
 sets configs based on gaudi properties defined below
StatusCode readTauLookupTable (Acts::Experimental::GbtsTauLookupTable &tauLookupTable) const
 Reads the tau lookup table the cluster width cuts need: per line a cluster width, the bulk tau bounds and the near-edge ones.
const Acts::Logger & logger () const
 Private access to the logger.

Private Attributes

std::unique_ptr< const Acts::Logger > m_logger
 logging instance
Acts::Experimental::GraphBasedTrackSeeder::Config m_finderCfg
 steering for seeding algorithm
Acts::Experimental::GbtsGraphBuilder::Config m_graphCfg
 steering for doublet graph building
Acts::Experimental::GbtsTrackingFilter::Config m_filterCfg
 steering for track filter
std::optional< Acts::Experimental::GraphBasedTrackSeeder > m_finder
 the actual seed fining algorithm
std::optional< Acts::Experimental::GbtsGraphBuilder > m_graphBuilder
 the doublet graph builder
std::optional< Acts::Experimental::GbtsTrackingFilter > m_filter
 the seed filter
std::optional< Acts::Experimental::GbtsRoiDescriptor > m_internalRoi
 region of interest for pixel seeding
const std::vector< short > * m_stripHashToLayer = nullptr
 Wafer hash to dense GBTS layer index, one map per technology.
const std::vector< short > * m_pixelHashToLayer = nullptr
ToolHandle< IGbtsLayerTool > m_layerTool {this, "layerTool", "ActsTrk::GbtsLayerTool/ActsGbtsLayerTool"}
 Builds the GBTS layers out of the ITk readout geometry.
Gaudi::Property< std::string > m_connectorInputFile {this, "connectorInputFile","binTables_ITK_RUN4.txt", "input file for making connector object"}
Gaudi::Property< bool > m_pixelConnections {this, "usePixelConnections", true, "keep the pixel to pixel connections of the table"}
Gaudi::Property< bool > m_stripConnections {this, "useStripConnections", false, "keep the strip to strip connections of the table"}
Gaudi::Property< std::string > m_lutFile {this, "lutInputFile", "gbts_ml_pixel_barrel_loose.lut", "file to LUT"}
Gaudi::Property< bool > m_usePixelLayers {this, "usePixelLayers", true, "seed on the pixel layers"}
 Which technologies this instance seeds on.
Gaudi::Property< bool > m_useStripLayers {this, "useStripLayers", false, "seed on the strip layers"}
Gaudi::Property< bool > m_LRTmode {this, "LRTmode", false, "whether strip or pixel hits are used"}
Gaudi::Property< bool > m_useML {this, "useML", true, "use the cluster width of the spacepoint"}
Gaudi::Property< bool > m_matchBeforeCreate {this, "matchBeforeCreate", true, "need to check what this does"}
Gaudi::Property< bool > m_beamSpotCorrection {this, "beamSpotCorrection", true, "apply primary vertex corrections to spacepoints"}
Gaudi::Property< bool > m_validateTriplets {this, "ValidateTriplets", true, "extra validation on pT and d0 performed to connected barrel edges"}
Gaudi::Property< bool > m_useAdaptiveCuts {this, "UseAdaptiveCuts", true, "allows for larger accpetance of candidate edges that skip layers"}
Gaudi::Property< bool > m_addTriplets {this, "addTriplets", false, "add seeds with three spacepoints in a defined eta region"}
Gaudi::Property< bool > m_useEtaBinning {this, "useEtaBinning",true, "bool to use eta binning from geometry structure"}
Gaudi::Property< bool > m_doubletFilterRZ {this, "doubletFilterRZ",true, "bool applies new Z cuts on doublets"}
Gaudi::Property< float > m_etaBinWidthOverride {this, "etaBinOverride", 0.0f, "apply custom binning for connections"}
Gaudi::Property< float > m_nMaxPhiSlice {this, "nMaxPhiSlice",53, "used to calculate phi slices"}
Gaudi::Property< float > m_tauRatioCut {this, "tauRatioCut",0.007, "tau cut for doublets and triplets"}
Gaudi::Property< float > m_tauRatioPrecut {this, "precutTauRatioMax",0.009f, "used to reject edges early if matchBeforCreate is on"}
Gaudi::Property< float > m_tauRatioCorr {this, "tauRatioCorrection", 0.006, "correction added to tau accpetance if candidate edge skips a layer"}
Gaudi::Property< float > m_minPt {this, "minPt", 1000.0, "Lower cutoff for seeds"}
Gaudi::Property< float > m_maxEtaAddTriplets {this, "maxEtaAddTriplets", 1.5, "eta region in which three sapcepoint seeds are allowed"}
Gaudi::Property< float > m_minDeltaRadius {this, "minDeltaRadius",2.0, " min dr for doublet"}
Gaudi::Property< float > m_maxEdgesPerSP {this, "MaxEdgesPerSP", 30.0f, " max number of Gbts edges/doublets per space point"}
Gaudi::Property< float > m_cutDPhiMax {this, "cutDPhiMax", 0.012f, "not sure"}
Gaudi::Property< float > m_cutDCurvMax {this, "cutDCurvMax", 0.001f, "not sure"}
Gaudi::Property< float > m_maxOuterRadius {this, "maxOuterRadius", 550.0f, "not sure"}
Gaudi::Property< float > m_minZ0 {this, "minZ0", -99999, "not sure"}
Gaudi::Property< float > m_maxZ0 {this, "maxZ0", -99999, "not sure"}
Gaudi::Property< float > m_d0Max {this, "d0Max", 3.0, "maximum d0 value allowed when using validateTiplets"}
Gaudi::Property< float > m_sigmaMS {this, "sigmaMS", 0.016, "process noise from multiple scattering"}
Gaudi::Property< float > m_radLen {this, "radLen", 0.025, "defines how much material scattering the kalman filter should take into account"}
Gaudi::Property< float > m_sigmaX {this, "sigmaX", 0.08, "measurement resolution for residual on y direction"}
Gaudi::Property< float > m_sigmaY {this, "sigmaY", 0.25, "measurement resolution on r-z plane"}
Gaudi::Property< float > m_weightX {this, "weightX", 0.5, "penalty weight for track"}
Gaudi::Property< float > m_weightY {this, "weightY", 0.5, "penalty weight for track"}
Gaudi::Property< float > m_maxDChi2X {this, "maxDChi2X", 5.0, "gate threshold for chi2 test"}
Gaudi::Property< float > m_maxDChi2Y {this, "maxDChi2Y", 6.0, "gate threshold for chi2 test"}
Gaudi::Property< float > m_addHit {this, "addHit", 14.0, "reward added to tracks for each accepted hit before chi2"}
Gaudi::Property< float > m_maxCurvature {this, "maxCurvature", 1e-3f, "maximum curvature allowed for candiadte tracklet"}
Gaudi::Property< float > m_filterMaxZ0 {this, "filterMaxZ0", 170.0, "maximum z0 allowed for candidate tracklet"}
Gaudi::Property< float > m_edgeMaskMinEta {this, "edgeMaskMinEta", 1.5, "minimum eta allowed for masking edges in graph so they are not used again"}
Gaudi::Property< float > m_hitShareThreshold {this, "hitShareThreshold", 0.49, "threshold of hits that are shared between seeds before one seed is labelled a clone"}
Gaudi::Property< float > m_maxEndcapClusterwidth {this, "maxEndcapClusterwidth", 0.35, "discards any spacepoints which dr/dz cant be accurately modelled"}

Detailed Description

Definition at line 46 of file GbtsSeedingTool.h.

Constructor & Destructor Documentation

◆ GbtsSeedingTool()

ActsTrk::GbtsSeedingTool::GbtsSeedingTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 22 of file GbtsSeedingTool.cxx.

25 : base_class(type, name, parent)
26 {}

◆ ~GbtsSeedingTool()

virtual ActsTrk::GbtsSeedingTool::~GbtsSeedingTool ( )
virtualdefault

Member Function Documentation

◆ createSeeds()

ATH_FLATTEN StatusCode ActsTrk::GbtsSeedingTool::createSeeds ( const EventContext & ctx,
const std::vector< const xAOD::SpacePointContainer * > & spacePointCollections,
const Eigen::Vector3f & beamSpotPos,
float bFieldInZ,
ActsTrk::SeedContainer & seedContainer ) const
override

Definition at line 87 of file GbtsSeedingTool.cxx.

92 {
93 // to avoid compile issues with unused veriables
94 (void) ctx;
95
96 const Acts::Experimental::GraphBasedTrackSeeder::Options options{
97 .bFieldInZ = bFieldInZ};
98
99
100 std::vector<const xAOD::SpacePoint*> tmpSpacePoints;
101
102 // add spacepoint pointers to singel container, this makes indexing them easier
103 for (const xAOD::SpacePointContainer* spacePoints : spacePointCollections) {
104 for (const xAOD::SpacePoint* sp : *spacePoints) {
105 tmpSpacePoints.emplace_back(sp);
106 }
107 }
108
109
110 // create the node storage and fill it from the xAOD space points
111 Acts::Experimental::GbtsNodeStorage nodeStorage = m_finder->makeNodeStorage();
112
113 // node positions are relative to the beam spot in x and y if the correction is on
114 const float offsetX = m_beamSpotCorrection ? beamSpotPos[0] : 0.0f;
115 const float offsetY = m_beamSpotCorrection ? beamSpotPos[1] : 0.0f;
116
117 std::size_t nPixelNodes = 0;
118 std::size_t nStripNodes = 0;
119
120 // space points GBTS has no layer for, counted rather than reported per
121 // space point: the loop runs over the whole event
122 std::size_t nUnmappedHashes = 0;
123 std::size_t nUngroupedModules = 0;
124
125 // add spacepoints to node storage
126 for(std::size_t idx = 0; idx < tmpSpacePoints.size(); ++idx){
127 // obtain module hash for spacepoint
128 const xAOD::SpacePoint* sp = tmpSpacePoints[idx];
129 const std::vector<xAOD::DetectorIDHashType>& elementlist = sp->elementIdList();
130
131 // a strip space point is made of one cluster on each side of a stereo pair
132 const bool isPixel(elementlist.size() == 1);
133
134 if (isPixel ? !m_usePixelLayers : !m_useStripLayers) {
135 continue;
136 }
137
138 const std::vector<short>& hashToLayer =
140 const auto hash = static_cast<std::size_t>(elementlist[0]);
141 if (hash >= hashToLayer.size()) [[unlikely]] {
142 ++nUnmappedHashes;
143 continue;
144 }
145
146 const short layer = hashToLayer[hash];
147 if (layer == IGbtsLayerTool::kNoLayer) {
148 // a wafer GBTS does not group into any of its layers
149 ++nUngroupedModules;
150 continue;
151 }
152
153 float clusterWidth = 0.0f;
154 float localPositionY = 0.0f;
155 if (m_finderCfg.useClusterWidthCuts && isPixel) {
156 assert(dynamic_cast<const xAOD::PixelCluster*>(sp->measurements().front())!=nullptr);
157 const xAOD::PixelCluster* pCL = static_cast<const xAOD::PixelCluster*>(sp->measurements().front());
158 clusterWidth = pCL->widthInEta();
159 localPositionY = pCL->localPosition<2>().y();
160 }
161
162 // the stereo pair of a strip space point, for the strip calibration in GBTS
163 Acts::OuterStripSpacePointCalibrationDetails stripDetails{};
164 const Acts::OuterStripSpacePointCalibrationDetails* strip = nullptr;
165 if (!isPixel) {
166 // topStripCenter is global, the node frame shifts only x and y
167 Eigen::Map<Eigen::Vector3f>(stripDetails.outerCenter.data()) =
168 sp->topStripCenter() - Eigen::Vector3f(offsetX, offsetY, 0.0f);
169 Eigen::Map<Eigen::Vector3f>(stripDetails.innerToOuterSeparation.data()) =
170 sp->stripCenterDistance();
171 Eigen::Map<Eigen::Vector3f>(stripDetails.outerHalfVector.data()) =
172 sp->topHalfStripLength() * sp->topStripDirection();
173 Eigen::Map<Eigen::Vector3f>(stripDetails.innerHalfVector.data()) =
174 sp->bottomHalfStripLength() * sp->bottomStripDirection();
175 strip = &stripDetails;
176 }
177
178 const float x = static_cast<float>(sp->x()) - offsetX;
179 const float y = static_cast<float>(sp->y()) - offsetY;
180 const std::optional<std::uint32_t> bin = nodeStorage.insert(
181 static_cast<Acts::SpacePointIndex>(idx), x, y,
182 static_cast<float>(sp->z()), std::hypot(x, y), std::atan2(y, x),
183 static_cast<Acts::Experimental::GbtsLayerIndex>(layer), clusterWidth,
184 localPositionY, strip);
185
186 if (bin.has_value()) {
187 ++(isPixel ? nPixelNodes : nStripNodes);
188 }
189 }
190
191 ATH_MSG_DEBUG("Inserted " << nPixelNodes << " pixel and " << nStripNodes
192 << " strip nodes; the graph "
193 << (nodeStorage.hasStrips() ? "carries" : "does not carry")
194 << " stereo pairs");
195
196 if (nUnmappedHashes != 0) [[unlikely]] {
197 ATH_MSG_WARNING(nUnmappedHashes << " space points sit on a wafer hash "
198 "outside the GBTS layer map and were dropped");
199 }
200 if (nUngroupedModules != 0) {
201 ATH_MSG_DEBUG(nUngroupedModules << " space points sit on a wafer GBTS "
202 "does not group into a layer");
203 }
204
205 // order the nodes and build the derived per-node data
206 nodeStorage.finalize();
207
208 ATH_MSG_VERBOSE("Spacepoints successfully added to node storage");
209
210 Acts::SeedContainer seeds;
211 m_finder->createSeeds(nodeStorage, m_internalRoi.value(), *m_graphBuilder,
212 *m_filter, options, seeds);
213
214 // add seeds to the output container
215 seedContainer.reserve(seedContainer.size() + seeds.size(), 7.0f);
216 for (auto seed : seeds) {
217 seedContainer.push_back(
218 seed.asConst(),
219 [&](const Acts::SpacePointIndex spIndex) {
220 return tmpSpacePoints[spIndex];
221 });
222 }
223
224 ATH_MSG_VERBOSE("Number of seeds created is " << seedContainer.size());
225 return StatusCode::SUCCESS;
226 }
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_WARNING(x,...)
#define ATH_MSG_VERBOSE(x,...)
static Double_t sp
#define y
#define x
Gaudi::Property< bool > m_usePixelLayers
Which technologies this instance seeds on.
std::optional< Acts::Experimental::GbtsGraphBuilder > m_graphBuilder
the doublet graph builder
std::optional< Acts::Experimental::GbtsRoiDescriptor > m_internalRoi
region of interest for pixel seeding
Gaudi::Property< bool > m_useStripLayers
Acts::Experimental::GraphBasedTrackSeeder::Config m_finderCfg
steering for seeding algorithm
std::optional< Acts::Experimental::GbtsTrackingFilter > m_filter
the seed filter
std::optional< Acts::Experimental::GraphBasedTrackSeeder > m_finder
the actual seed fining algorithm
Gaudi::Property< bool > m_beamSpotCorrection
const std::vector< short > * m_stripHashToLayer
Wafer hash to dense GBTS layer index, one map per technology.
const std::vector< short > * m_pixelHashToLayer
static constexpr short kNoLayer
Value stored in the hash maps for a module GBTS does not use.
float widthInEta() const
Returns the width of the cluster in phi (x) and eta (y) directions, respectively.
ConstVectorMap< N > localPosition() const
Returns the local position of the measurement.
@ layer
Definition HitInfo.h:79
SpacePointContainer_v1 SpacePointContainer
Define the version of the space point container.
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
#define unlikely(x)
Seed push_back(SpacePointRange spacePoints, float quality, float vertexZ)
void reserve(std::size_t size, float averageSpacePoints=3) noexcept
std::size_t size() const noexcept

◆ initialize()

StatusCode ActsTrk::GbtsSeedingTool::initialize ( )
overridevirtual

Definition at line 28 of file GbtsSeedingTool.cxx.

28 {
29 ATH_CHECK(m_layerTool.retrieve());
30 ATH_MSG_DEBUG("Initializing " << name() << "...");
31
32 // Make the logger And Propagate to ACTS routines
33 m_logger = makeActsAthenaLogger(this, "Acts");
34
35 // etaMin,etaMax,zMin,zMax
36 m_internalRoi.emplace(-4.5, 4.5, m_minZ0.value(), m_maxZ0.value());
37
40
41 // The layer tool builds the GBTS layers, in dense layer index order, and
42 // knows which layer each module hash belongs to and what it is made of.
43 const std::vector<Acts::Experimental::GbtsLayerDescription>& layers =
44 m_layerTool->layerDescriptions();
45
46 m_pixelHashToLayer = &m_layerTool->pixelLayers();
47 m_stripHashToLayer = &m_layerTool->stripLayers();
48
50 ATH_MSG_ERROR("Neither pixel nor strip layers are enabled, there is "
51 "nothing to seed on.");
52 return StatusCode::FAILURE;
53 }
54
55 std::vector<Acts::Experimental::GbtsLayerConnection> connections;
56 float etaBinWidth = 0.0f;
57 ATH_CHECK(m_layerTool->readConnections(layers, connections, etaBinWidth, m_connectorInputFile.value(), m_usePixelLayers, m_useStripLayers));
58
59 // option that allows for adding custom eta binning (default is at 0.2)
60 if (m_etaBinWidthOverride.value() != 0.0f) {
61 etaBinWidth = m_etaBinWidthOverride.value();
62 }
63
64 // the cluster width cuts are the only user of the tau lookup table
65 if (m_finderCfg.useClusterWidthCuts) {
67 }
68
69 // create geoemtry object that holds allowed pairing of allowed eta regions in each layer
70 // holds all geometry information (m_layergeomtry and connection table)
71 auto gbtsGeo = std::make_shared<Acts::Experimental::GbtsGeometry>(
72 layers, connections, etaBinWidth, Acts::Experimental::GbtsZ0Range{}, logger());
73
74 m_finder = Acts::Experimental::GraphBasedTrackSeeder(
75 Acts::Experimental::GraphBasedTrackSeeder::DerivedConfig(m_finderCfg),
76 gbtsGeo, logger().cloneWithSuffix("gbtsFinder"));
77
78 m_graphBuilder.emplace(m_graphCfg, gbtsGeo,
79 logger().cloneWithSuffix("gbtsGraphBuilder"));
80
81 m_filter = Acts::Experimental::GbtsTrackingFilter(m_filterCfg, gbtsGeo);
82
83 return StatusCode::SUCCESS;
84 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x,...)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
Definition Logger.cxx:64
Gaudi::Property< float > m_maxZ0
Acts::Experimental::GbtsGraphBuilder::Config m_graphCfg
steering for doublet graph building
StatusCode readTauLookupTable(Acts::Experimental::GbtsTauLookupTable &tauLookupTable) const
Reads the tau lookup table the cluster width cuts need: per line a cluster width, the bulk tau bounds...
std::unique_ptr< const Acts::Logger > m_logger
logging instance
Gaudi::Property< float > m_etaBinWidthOverride
Gaudi::Property< float > m_minZ0
const Acts::Logger & logger() const
Private access to the logger.
Acts::Experimental::GbtsTrackingFilter::Config m_filterCfg
steering for track filter
void printGbtsConfig() const
prints all current config settings used either with default settings or properties changed by the gau...
Gaudi::Property< std::string > m_connectorInputFile
StatusCode prepareConfiguration()
sets configs based on gaudi properties defined below
ToolHandle< IGbtsLayerTool > m_layerTool
Builds the GBTS layers out of the ITk readout geometry.

◆ logger()

const Acts::Logger & ActsTrk::GbtsSeedingTool::logger ( ) const
inlineprivate

Private access to the logger.

Definition at line 79 of file GbtsSeedingTool.h.

79{ return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::GbtsSeedingTool::prepareConfiguration ( )
private

sets configs based on gaudi properties defined below

Definition at line 264 of file GbtsSeedingTool.cxx.

264 {
265 m_finderCfg.useClusterWidthCuts = m_useML;
266 m_graphCfg.matchBeforeCreate = m_matchBeforeCreate;
267 m_graphCfg.minPt = m_minPt;
268 m_finderCfg.nMaxPhiSlice = m_nMaxPhiSlice;
269 m_graphCfg.useEtaBinning = m_useEtaBinning;
270 m_graphCfg.doubletFilterRZ = m_doubletFilterRZ;
271 m_graphCfg.minDeltaRadius = m_minDeltaRadius;
272 m_graphCfg.maxEdgesPerSP = m_maxEdgesPerSP;
273 m_graphCfg.tauRatioCut = m_tauRatioCut;
274 m_graphCfg.tauRatioPrecut = m_tauRatioPrecut;
275 m_finderCfg.edgeMaskMinEta = m_edgeMaskMinEta;
276 m_finderCfg.hitShareThreshold = m_hitShareThreshold;
277 m_finderCfg.maxEndcapClusterWidth = m_maxEndcapClusterwidth;
278 m_graphCfg.d0Max = m_d0Max;
279
280 //use roi for pixel and given value for strip
281 m_graphCfg.maxZ0 = m_maxZ0.value();
282 m_graphCfg.minZ0 = m_minZ0.value();
283
284 m_graphCfg.validateTriplets = m_validateTriplets;
285 m_graphCfg.useAdaptiveCuts = m_useAdaptiveCuts;
286 m_graphCfg.tauRatioCorr = m_tauRatioCorr;
287 m_finderCfg.addTriplets = m_addTriplets;
288 m_finderCfg.maxAbsEtaAddTriplets = m_maxEtaAddTriplets;
289 m_graphCfg.cutDPhiMax = m_cutDPhiMax;
290 m_graphCfg.cutDCurvMax = m_cutDCurvMax;
291 m_graphCfg.maxOuterRadius = m_maxOuterRadius;
292
293 // The seeder no longer recognises an LRT mode, so spell out what it used
294 // to imply: a triplet with no confirmation.
295 if (m_LRTmode) {
296 m_finderCfg.minSeedLevel = 2;
297 }
298
299 m_filterCfg.sigmaMS = m_sigmaMS;
300 m_filterCfg.radLen = m_radLen;
301 m_filterCfg.sigmaX = m_sigmaX;
302 m_filterCfg.sigmaY = m_sigmaY;
303 m_filterCfg.weightX = m_weightX;
304 m_filterCfg.weightY = m_weightY;
305 m_filterCfg.maxDChi2X = m_maxDChi2X;
306 m_filterCfg.maxDChi2Y = m_maxDChi2Y;
307 m_filterCfg.addHit = m_addHit;
308 m_filterCfg.maxCurvature = m_maxCurvature;
310
311 return StatusCode::SUCCESS;
312 }
Gaudi::Property< bool > m_doubletFilterRZ
Gaudi::Property< float > m_maxEtaAddTriplets
Gaudi::Property< float > m_filterMaxZ0
Gaudi::Property< float > m_minPt
Gaudi::Property< bool > m_useAdaptiveCuts
Gaudi::Property< float > m_maxDChi2X
Gaudi::Property< float > m_weightX
Gaudi::Property< float > m_sigmaMS
Gaudi::Property< float > m_cutDPhiMax
Gaudi::Property< bool > m_validateTriplets
Gaudi::Property< float > m_sigmaY
Gaudi::Property< float > m_maxEdgesPerSP
Gaudi::Property< bool > m_LRTmode
Gaudi::Property< float > m_edgeMaskMinEta
Gaudi::Property< float > m_addHit
Gaudi::Property< float > m_nMaxPhiSlice
Gaudi::Property< float > m_maxCurvature
Gaudi::Property< float > m_maxOuterRadius
Gaudi::Property< float > m_maxDChi2Y
Gaudi::Property< float > m_cutDCurvMax
Gaudi::Property< bool > m_useML
Gaudi::Property< float > m_minDeltaRadius
Gaudi::Property< float > m_tauRatioPrecut
Gaudi::Property< bool > m_useEtaBinning
Gaudi::Property< bool > m_matchBeforeCreate
Gaudi::Property< float > m_maxEndcapClusterwidth
Gaudi::Property< float > m_tauRatioCorr
Gaudi::Property< float > m_hitShareThreshold
Gaudi::Property< float > m_sigmaX
Gaudi::Property< float > m_weightY
Gaudi::Property< float > m_tauRatioCut
Gaudi::Property< float > m_d0Max
Gaudi::Property< bool > m_addTriplets
Gaudi::Property< float > m_radLen

◆ printGbtsConfig()

void ActsTrk::GbtsSeedingTool::printGbtsConfig ( ) const
private

prints all current config settings used either with default settings or properties changed by the gaudi options tells what the defaults in the config are

Definition at line 315 of file GbtsSeedingTool.cxx.

315 {
316 ATH_MSG_DEBUG("===== GBTS finder config =====");
317 ATH_MSG_DEBUG( "beamSpotCorrection: " << m_beamSpotCorrection.value());
318 ATH_MSG_DEBUG( "connectorInputFile: " << m_connectorInputFile.value());
319 ATH_MSG_DEBUG( "lutInputFile: " << m_lutFile.value());
320 ATH_MSG_DEBUG( "LRTmode: " << m_LRTmode.value());
321 ATH_MSG_DEBUG( "useStripConnections: " << m_stripConnections.value());
322 ATH_MSG_DEBUG( "useClusterWidthCuts: " << m_finderCfg.useClusterWidthCuts);
323 ATH_MSG_DEBUG( "matchBeforeCreate: " << m_graphCfg.matchBeforeCreate);
324 ATH_MSG_DEBUG( "minSeedLevel: " << static_cast<unsigned>(m_finderCfg.minSeedLevel));
325 ATH_MSG_DEBUG( "tauRatioPrecut: " << m_graphCfg.tauRatioPrecut);
326 ATH_MSG_DEBUG( "tauRatioCut: " << m_graphCfg.tauRatioCut);
327 ATH_MSG_DEBUG( "tauRatioCorr: " << m_graphCfg.tauRatioCorr);
328 ATH_MSG_DEBUG( "etaBinWidthOverride: " << m_etaBinWidthOverride.value());
329 ATH_MSG_DEBUG( "nMaxPhiSlice: " << m_finderCfg.nMaxPhiSlice);
330 ATH_MSG_DEBUG( "minPt: " << m_graphCfg.minPt);
331 ATH_MSG_DEBUG( "useEtaBinning: " << m_graphCfg.useEtaBinning);
332 ATH_MSG_DEBUG( "doubletFilterRZ: " << m_graphCfg.doubletFilterRZ);
333 ATH_MSG_DEBUG( "maxEdgesPerSP: " << m_graphCfg.maxEdgesPerSP);
334 ATH_MSG_DEBUG( "minDeltaRadius: " << m_graphCfg.minDeltaRadius);
335 ATH_MSG_DEBUG( "edgeMaskMinEta: " << m_finderCfg.edgeMaskMinEta);
336 ATH_MSG_DEBUG( "hitShareThreshold: " << m_finderCfg.hitShareThreshold);
337 ATH_MSG_DEBUG( "maxEndcapClusterWidth: " << m_finderCfg.maxEndcapClusterWidth);
338 ATH_MSG_DEBUG( "d0Max: " << m_graphCfg.d0Max);
339 ATH_MSG_DEBUG("maxZ0: " << m_graphCfg.maxZ0);
340 ATH_MSG_DEBUG("minZ0: " << m_graphCfg.minZ0);
341 ATH_MSG_DEBUG( "validateTriplets: " << m_graphCfg.validateTriplets);
342 ATH_MSG_DEBUG( "useAdaptiveCuts: " << m_graphCfg.useAdaptiveCuts);
343 ATH_MSG_DEBUG( "addTriplets: " << m_finderCfg.addTriplets);
344 ATH_MSG_DEBUG( "maxEtaAddTriplets: " << m_finderCfg.maxAbsEtaAddTriplets);
345 ATH_MSG_DEBUG("cutDphiMax: " << m_graphCfg.cutDPhiMax);
346 ATH_MSG_DEBUG("cutDCurvMax: " << m_graphCfg.cutDCurvMax);
347 ATH_MSG_DEBUG("maxOuterRadius: " << m_graphCfg.maxOuterRadius);
348
349 ATH_MSG_DEBUG("===== GBTS filter config =====");
350 ATH_MSG_DEBUG( "sigmaMS: " << m_filterCfg.sigmaMS);
351 ATH_MSG_DEBUG( "radLen: " << m_filterCfg.radLen);
352 ATH_MSG_DEBUG( "sigmaX: " << m_filterCfg.sigmaX);
353 ATH_MSG_DEBUG( "sigmaY: " << m_filterCfg.sigmaY);
354 ATH_MSG_DEBUG( "weightX: " << m_filterCfg.weightX);
355 ATH_MSG_DEBUG( "weightY: " << m_filterCfg.weightY);
356 ATH_MSG_DEBUG( "maxDChi2X: " << m_filterCfg.maxDChi2X);
357 ATH_MSG_DEBUG( "maxDChi2Y: " << m_filterCfg.maxDChi2Y);
358 ATH_MSG_DEBUG( "addHit: " << m_filterCfg.addHit);
359 ATH_MSG_DEBUG( "maxCurvature: " << m_filterCfg.maxCurvature);
360 ATH_MSG_DEBUG( "filterMaxZ0: " << m_filterCfg.maxZ0);
361}
Gaudi::Property< bool > m_stripConnections
Gaudi::Property< std::string > m_lutFile

◆ readTauLookupTable()

StatusCode ActsTrk::GbtsSeedingTool::readTauLookupTable ( Acts::Experimental::GbtsTauLookupTable & tauLookupTable) const
private

Reads the tau lookup table the cluster width cuts need: per line a cluster width, the bulk tau bounds and the near-edge ones.

Definition at line 228 of file GbtsSeedingTool.cxx.

230 {
231 std::ifstream lutStream(m_lutFile.value());
232 if (!lutStream.is_open()) {
233 ATH_MSG_ERROR("Cannot open the GBTS tau lookup table " << m_lutFile.value());
234 return StatusCode::FAILURE;
235 }
236
237 tauLookupTable.clear();
238
239 // the width is dropped: a row is located by index, one row per
240 // tauLutBinWidth of cluster width, never searched
241 float clusterWidth = 0.0f;
242 Acts::Experimental::GbtsTauBounds bounds;
243 while (lutStream >> clusterWidth >> bounds.minTau >> bounds.maxTau >>
244 bounds.minTauNearEdge >> bounds.maxTauNearEdge) {
245 tauLookupTable.push_back(bounds);
246 }
247
248 if (!lutStream.eof()) {
249 // ended on a parse error, not on a clean end of file
250 ATH_MSG_ERROR("Malformed GBTS tau lookup table " << m_lutFile.value());
251 return StatusCode::FAILURE;
252 }
253 if (tauLookupTable.empty()) {
254 ATH_MSG_ERROR("The GBTS tau lookup table " << m_lutFile.value() << " is empty");
255 return StatusCode::FAILURE;
256 }
257
258 ATH_MSG_DEBUG("Read " << tauLookupTable.size() << " rows of the GBTS tau lookup table "
259 << m_lutFile.value());
260
261 return StatusCode::SUCCESS;
262 }

Member Data Documentation

◆ m_addHit

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_addHit {this, "addHit", 14.0, "reward added to tracks for each accepted hit before chi2"}
private

Definition at line 167 of file GbtsSeedingTool.h.

167{this, "addHit", 14.0, "reward added to tracks for each accepted hit before chi2"};

◆ m_addTriplets

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_addTriplets {this, "addTriplets", false, "add seeds with three spacepoints in a defined eta region"}
private

Definition at line 131 of file GbtsSeedingTool.h.

131{this, "addTriplets", false, "add seeds with three spacepoints in a defined eta region"};

◆ m_beamSpotCorrection

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_beamSpotCorrection {this, "beamSpotCorrection", true, "apply primary vertex corrections to spacepoints"}
private

Definition at line 128 of file GbtsSeedingTool.h.

128{this, "beamSpotCorrection", true, "apply primary vertex corrections to spacepoints"};

◆ m_connectorInputFile

Gaudi::Property<std::string> ActsTrk::GbtsSeedingTool::m_connectorInputFile {this, "connectorInputFile","binTables_ITK_RUN4.txt", "input file for making connector object"}
private

Definition at line 114 of file GbtsSeedingTool.h.

114{this, "connectorInputFile","binTables_ITK_RUN4.txt", "input file for making connector object"};

◆ m_cutDCurvMax

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_cutDCurvMax {this, "cutDCurvMax", 0.001f, "not sure"}
private

Definition at line 147 of file GbtsSeedingTool.h.

147{this, "cutDCurvMax", 0.001f, "not sure"};

◆ m_cutDPhiMax

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_cutDPhiMax {this, "cutDPhiMax", 0.012f, "not sure"}
private

Definition at line 146 of file GbtsSeedingTool.h.

146{this, "cutDPhiMax", 0.012f, "not sure"};

◆ m_d0Max

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_d0Max {this, "d0Max", 3.0, "maximum d0 value allowed when using validateTiplets"}
private

Definition at line 156 of file GbtsSeedingTool.h.

156{this, "d0Max", 3.0, "maximum d0 value allowed when using validateTiplets"};

◆ m_doubletFilterRZ

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_doubletFilterRZ {this, "doubletFilterRZ",true, "bool applies new Z cuts on doublets"}
private

Definition at line 133 of file GbtsSeedingTool.h.

133{this, "doubletFilterRZ",true, "bool applies new Z cuts on doublets"};

◆ m_edgeMaskMinEta

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_edgeMaskMinEta {this, "edgeMaskMinEta", 1.5, "minimum eta allowed for masking edges in graph so they are not used again"}
private

Definition at line 170 of file GbtsSeedingTool.h.

170{this, "edgeMaskMinEta", 1.5, "minimum eta allowed for masking edges in graph so they are not used again"};

◆ m_etaBinWidthOverride

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_etaBinWidthOverride {this, "etaBinOverride", 0.0f, "apply custom binning for connections"}
private

Definition at line 135 of file GbtsSeedingTool.h.

135{this, "etaBinOverride", 0.0f, "apply custom binning for connections"};

◆ m_filter

std::optional<Acts::Experimental::GbtsTrackingFilter> ActsTrk::GbtsSeedingTool::m_filter
private

the seed filter

Definition at line 100 of file GbtsSeedingTool.h.

◆ m_filterCfg

Acts::Experimental::GbtsTrackingFilter::Config ActsTrk::GbtsSeedingTool::m_filterCfg
private

steering for track filter

Definition at line 91 of file GbtsSeedingTool.h.

◆ m_filterMaxZ0

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_filterMaxZ0 {this, "filterMaxZ0", 170.0, "maximum z0 allowed for candidate tracklet"}
private

Definition at line 169 of file GbtsSeedingTool.h.

169{this, "filterMaxZ0", 170.0, "maximum z0 allowed for candidate tracklet"};

◆ m_finder

std::optional<Acts::Experimental::GraphBasedTrackSeeder> ActsTrk::GbtsSeedingTool::m_finder
private

the actual seed fining algorithm

Definition at line 94 of file GbtsSeedingTool.h.

◆ m_finderCfg

Acts::Experimental::GraphBasedTrackSeeder::Config ActsTrk::GbtsSeedingTool::m_finderCfg
private

steering for seeding algorithm

Definition at line 85 of file GbtsSeedingTool.h.

◆ m_graphBuilder

std::optional<Acts::Experimental::GbtsGraphBuilder> ActsTrk::GbtsSeedingTool::m_graphBuilder
private

the doublet graph builder

Definition at line 97 of file GbtsSeedingTool.h.

◆ m_graphCfg

Acts::Experimental::GbtsGraphBuilder::Config ActsTrk::GbtsSeedingTool::m_graphCfg
private

steering for doublet graph building

Definition at line 88 of file GbtsSeedingTool.h.

◆ m_hitShareThreshold

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_hitShareThreshold {this, "hitShareThreshold", 0.49, "threshold of hits that are shared between seeds before one seed is labelled a clone"}
private

Definition at line 171 of file GbtsSeedingTool.h.

171{this, "hitShareThreshold", 0.49, "threshold of hits that are shared between seeds before one seed is labelled a clone"};

◆ m_internalRoi

std::optional<Acts::Experimental::GbtsRoiDescriptor> ActsTrk::GbtsSeedingTool::m_internalRoi
private

region of interest for pixel seeding

Definition at line 103 of file GbtsSeedingTool.h.

◆ m_layerTool

ToolHandle<IGbtsLayerTool> ActsTrk::GbtsSeedingTool::m_layerTool {this, "layerTool", "ActsTrk::GbtsLayerTool/ActsGbtsLayerTool"}
private

Builds the GBTS layers out of the ITk readout geometry.

Definition at line 111 of file GbtsSeedingTool.h.

111{this, "layerTool", "ActsTrk::GbtsLayerTool/ActsGbtsLayerTool"};

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::GbtsSeedingTool::m_logger
private

logging instance

Definition at line 82 of file GbtsSeedingTool.h.

◆ m_LRTmode

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_LRTmode {this, "LRTmode", false, "whether strip or pixel hits are used"}
private

Definition at line 125 of file GbtsSeedingTool.h.

125{this, "LRTmode", false, "whether strip or pixel hits are used"};

◆ m_lutFile

Gaudi::Property<std::string> ActsTrk::GbtsSeedingTool::m_lutFile {this, "lutInputFile", "gbts_ml_pixel_barrel_loose.lut", "file to LUT"}
private

Definition at line 117 of file GbtsSeedingTool.h.

117{this, "lutInputFile", "gbts_ml_pixel_barrel_loose.lut", "file to LUT"};

◆ m_matchBeforeCreate

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_matchBeforeCreate {this, "matchBeforeCreate", true, "need to check what this does"}
private

Definition at line 127 of file GbtsSeedingTool.h.

127{this, "matchBeforeCreate", true, "need to check what this does"};

◆ m_maxCurvature

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxCurvature {this, "maxCurvature", 1e-3f, "maximum curvature allowed for candiadte tracklet"}
private

Definition at line 168 of file GbtsSeedingTool.h.

168{this, "maxCurvature", 1e-3f, "maximum curvature allowed for candiadte tracklet"};

◆ m_maxDChi2X

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxDChi2X {this, "maxDChi2X", 5.0, "gate threshold for chi2 test"}
private

Definition at line 165 of file GbtsSeedingTool.h.

165{this, "maxDChi2X", 5.0, "gate threshold for chi2 test"};

◆ m_maxDChi2Y

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxDChi2Y {this, "maxDChi2Y", 6.0, "gate threshold for chi2 test"}
private

Definition at line 166 of file GbtsSeedingTool.h.

166{this, "maxDChi2Y", 6.0, "gate threshold for chi2 test"};

◆ m_maxEdgesPerSP

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxEdgesPerSP {this, "MaxEdgesPerSP", 30.0f, " max number of Gbts edges/doublets per space point"}
private

Definition at line 145 of file GbtsSeedingTool.h.

145{this, "MaxEdgesPerSP", 30.0f, " max number of Gbts edges/doublets per space point"};

◆ m_maxEndcapClusterwidth

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxEndcapClusterwidth {this, "maxEndcapClusterwidth", 0.35, "discards any spacepoints which dr/dz cant be accurately modelled"}
private

Definition at line 174 of file GbtsSeedingTool.h.

174{this, "maxEndcapClusterwidth", 0.35, "discards any spacepoints which dr/dz cant be accurately modelled"};

◆ m_maxEtaAddTriplets

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxEtaAddTriplets {this, "maxEtaAddTriplets", 1.5, "eta region in which three sapcepoint seeds are allowed"}
private

Definition at line 143 of file GbtsSeedingTool.h.

143{this, "maxEtaAddTriplets", 1.5, "eta region in which three sapcepoint seeds are allowed"};

◆ m_maxOuterRadius

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxOuterRadius {this, "maxOuterRadius", 550.0f, "not sure"}
private

Definition at line 148 of file GbtsSeedingTool.h.

148{this, "maxOuterRadius", 550.0f, "not sure"};

◆ m_maxZ0

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_maxZ0 {this, "maxZ0", -99999, "not sure"}
private

Definition at line 153 of file GbtsSeedingTool.h.

153{this, "maxZ0", -99999, "not sure"};

◆ m_minDeltaRadius

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_minDeltaRadius {this, "minDeltaRadius",2.0, " min dr for doublet"}
private

Definition at line 144 of file GbtsSeedingTool.h.

144{this, "minDeltaRadius",2.0, " min dr for doublet"};

◆ m_minPt

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_minPt {this, "minPt", 1000.0, "Lower cutoff for seeds"}
private

Definition at line 142 of file GbtsSeedingTool.h.

142{this, "minPt", 1000.0, "Lower cutoff for seeds"};

◆ m_minZ0

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_minZ0 {this, "minZ0", -99999, "not sure"}
private

Definition at line 152 of file GbtsSeedingTool.h.

152{this, "minZ0", -99999, "not sure"};

◆ m_nMaxPhiSlice

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_nMaxPhiSlice {this, "nMaxPhiSlice",53, "used to calculate phi slices"}
private

Definition at line 136 of file GbtsSeedingTool.h.

136{this, "nMaxPhiSlice",53, "used to calculate phi slices"};

◆ m_pixelConnections

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_pixelConnections {this, "usePixelConnections", true, "keep the pixel to pixel connections of the table"}
private

Definition at line 115 of file GbtsSeedingTool.h.

115{this, "usePixelConnections", true, "keep the pixel to pixel connections of the table"};

◆ m_pixelHashToLayer

const std::vector<short>* ActsTrk::GbtsSeedingTool::m_pixelHashToLayer = nullptr
private

Definition at line 108 of file GbtsSeedingTool.h.

◆ m_radLen

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_radLen {this, "radLen", 0.025, "defines how much material scattering the kalman filter should take into account"}
private

Definition at line 160 of file GbtsSeedingTool.h.

160{this, "radLen", 0.025, "defines how much material scattering the kalman filter should take into account"};

◆ m_sigmaMS

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_sigmaMS {this, "sigmaMS", 0.016, "process noise from multiple scattering"}
private

Definition at line 159 of file GbtsSeedingTool.h.

159{this, "sigmaMS", 0.016, "process noise from multiple scattering"};

◆ m_sigmaX

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_sigmaX {this, "sigmaX", 0.08, "measurement resolution for residual on y direction"}
private

Definition at line 161 of file GbtsSeedingTool.h.

161{this, "sigmaX", 0.08, "measurement resolution for residual on y direction"};

◆ m_sigmaY

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_sigmaY {this, "sigmaY", 0.25, "measurement resolution on r-z plane"}
private

Definition at line 162 of file GbtsSeedingTool.h.

162{this, "sigmaY", 0.25, "measurement resolution on r-z plane"};

◆ m_stripConnections

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_stripConnections {this, "useStripConnections", false, "keep the strip to strip connections of the table"}
private

Definition at line 116 of file GbtsSeedingTool.h.

116{this, "useStripConnections", false, "keep the strip to strip connections of the table"};

◆ m_stripHashToLayer

const std::vector<short>* ActsTrk::GbtsSeedingTool::m_stripHashToLayer = nullptr
private

Wafer hash to dense GBTS layer index, one map per technology.

Used to put a space point on the layer its module belongs to.

Definition at line 107 of file GbtsSeedingTool.h.

◆ m_tauRatioCorr

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_tauRatioCorr {this, "tauRatioCorrection", 0.006, "correction added to tau accpetance if candidate edge skips a layer"}
private

Definition at line 141 of file GbtsSeedingTool.h.

141{this, "tauRatioCorrection", 0.006, "correction added to tau accpetance if candidate edge skips a layer"};

◆ m_tauRatioCut

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_tauRatioCut {this, "tauRatioCut",0.007, "tau cut for doublets and triplets"}
private

Definition at line 139 of file GbtsSeedingTool.h.

139{this, "tauRatioCut",0.007, "tau cut for doublets and triplets"};

◆ m_tauRatioPrecut

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_tauRatioPrecut {this, "precutTauRatioMax",0.009f, "used to reject edges early if matchBeforCreate is on"}
private

Definition at line 140 of file GbtsSeedingTool.h.

140{this, "precutTauRatioMax",0.009f, "used to reject edges early if matchBeforCreate is on"};

◆ m_useAdaptiveCuts

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_useAdaptiveCuts {this, "UseAdaptiveCuts", true, "allows for larger accpetance of candidate edges that skip layers"}
private

Definition at line 130 of file GbtsSeedingTool.h.

130{this, "UseAdaptiveCuts", true, "allows for larger accpetance of candidate edges that skip layers"};

◆ m_useEtaBinning

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_useEtaBinning {this, "useEtaBinning",true, "bool to use eta binning from geometry structure"}
private

Definition at line 132 of file GbtsSeedingTool.h.

132{this, "useEtaBinning",true, "bool to use eta binning from geometry structure"};

◆ m_useML

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_useML {this, "useML", true, "use the cluster width of the spacepoint"}
private

Definition at line 126 of file GbtsSeedingTool.h.

126{this, "useML", true, "use the cluster width of the spacepoint"};

◆ m_usePixelLayers

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_usePixelLayers {this, "usePixelLayers", true, "seed on the pixel layers"}
private

Which technologies this instance seeds on.

A space point is used only when its layer is enabled.

Definition at line 121 of file GbtsSeedingTool.h.

121{this, "usePixelLayers", true, "seed on the pixel layers"};

◆ m_useStripLayers

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_useStripLayers {this, "useStripLayers", false, "seed on the strip layers"}
private

Definition at line 122 of file GbtsSeedingTool.h.

122{this, "useStripLayers", false, "seed on the strip layers"};

◆ m_validateTriplets

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_validateTriplets {this, "ValidateTriplets", true, "extra validation on pT and d0 performed to connected barrel edges"}
private

Definition at line 129 of file GbtsSeedingTool.h.

129{this, "ValidateTriplets", true, "extra validation on pT and d0 performed to connected barrel edges"};

◆ m_weightX

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_weightX {this, "weightX", 0.5, "penalty weight for track"}
private

Definition at line 163 of file GbtsSeedingTool.h.

163{this, "weightX", 0.5, "penalty weight for track"};

◆ m_weightY

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_weightY {this, "weightY", 0.5, "penalty weight for track"}
private

Definition at line 164 of file GbtsSeedingTool.h.

164{this, "weightY", 0.5, "penalty weight for track"};

The documentation for this class was generated from the following files: