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
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::GbtsTrackingFilter::Config m_filterCfg
 steering for track filter
std::optional< Acts::Experimental::GraphBasedTrackSeeder > m_finder
 the actual seed fining algorithm
std::optional< Acts::Experimental::GbtsTrackingFilter > m_filter
 the seed filter
const std::vector< short > * m_sct_h2l = nullptr
 lists of layers that pixel and strip modules are apart of (index defines hash ID of module), used to sort Spacepoints based on the type of module its assigned to
const std::vector< short > * m_pix_h2l = nullptr
std::vector< bool > m_are_pixels
ToolHandle< ITrigL2LayerNumberToolm_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"}
 used to create the detector layers and which modules correspond to pixels and strips
Gaudi::Property< std::string > m_connectorInputFile {this, "connectorInputFile","binTables_ITK_RUN4.txt", "input file for making connector object"}
Gaudi::Property< std::string > m_lutFile {this, "lutInputFile", "gbts_ml_pixel_barrel_loose.lut", "file to LUT"}
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_useOldTunings {this, "useOldTunings", false, "use the tunings for 900MeV cut"}
Gaudi::Property< float > m_tau_ratio_cut {this, "cut_tau_ratio_max",0.007, "tau cut for doublets and triplets"}
Gaudi::Property< float > m_tau_ratio_precut {this, "precut_tau_ratio_max",0.009f, "not sure"}
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< bool > m_beamSpotCorrection {this, "beamSpotCorrection", true, "apply primary vertex corrections to spacepoints"}
Gaudi::Property< float > m_minPt {this, "minPt", 1000.0, "Lower cutoff for seeds"}
Gaudi::Property< float > m_phiSliceWidth {this, "phiSliceWidth",0, "initialised in loadSpacePoints function"}
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_minDeltaRadius {this, "minDeltaRadius",2.0, " min dr for doublet"}
Gaudi::Property< int > m_nMaxEdges {this, "MaxEdges",3000000, " max number of Gbts edges/doublets"}
Gaudi::Property< double > m_ptCoeff {this, "ptCoeff", 0.29997 * 1.9972 / 2.0, "~0.3*B/2 - assumes nominal field of 2*T"}
Gaudi::Property< float > m_sigmaMS {this, "sigmaMS", 0.016, "process noise from multiple scattering"}
Gaudi::Property< float > m_radLen {this, "radLen", 0.025, "not sure"}
Gaudi::Property< float > m_sigma_x {this, "sigma_x", 0.08, "measurement resolution for residual on y direction"}
Gaudi::Property< float > m_sigma_y {this, "sigma_y", 0.25, "measurement resolution on r-z plane"}
Gaudi::Property< float > m_weight_x {this, "weight_x", 0.5, "penalty weight for track"}
Gaudi::Property< float > m_weight_y {this, "weight_y", 0.5, "penalty weight for track"}
Gaudi::Property< float > m_maxDChi2_x {this, "maxDChi2_x", 5.0, "gate threshold for chi2 test"}
Gaudi::Property< float > m_maxDChi2_y {this, "maxDChi2_y", 6.0, "gate threshold for chi2 test"}
Gaudi::Property< float > m_add_hit {this, "add_hit", 14.0, "reward added to tracks for each accepted hit before chi2"}
Gaudi::Property< float > m_max_curvature {this, "max_curvature", 1e-3f, "not sure"}
Gaudi::Property< float > m_max_z0 {this, "max_z0", 170.0, "not sure"}
Gaudi::Property< float > m_edge_mask_min_eta {this, "edge_mask_min_eta", 1.5, "not sure"}
Gaudi::Property< float > m_hit_share_threshold {this, "hit_share_threshold", 0.49, "not sure"}
Gaudi::Property< float > m_max_endcap_clusterwidth {this, "max_endcap_clusterwidth", 0.35, "discards any spacepoints which dr/dz cant be accurately modelled"}

Detailed Description

Definition at line 44 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 16 of file GbtsSeedingTool.cxx.

19 : base_class(type, name, parent)
20 {}

◆ ~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 73 of file GbtsSeedingTool.cxx.

78 {
79 // to avoid compile issues with unused veriables
80 (void) ctx;
81 (void) bFieldInZ;
82
83 // define new custom spacepoint container
84 Acts::SpacePointContainer2 coreSpacePoints(
85 Acts::SpacePointColumns::CopyFromIndex |
86 Acts::SpacePointColumns::SourceLinks |
87 Acts::SpacePointColumns::X |
88 Acts::SpacePointColumns::Y |
89 Acts::SpacePointColumns::Z |
90 Acts::SpacePointColumns::R |
91 Acts::SpacePointColumns::Phi
92 );
93
94 // add new column for layer ID and clusterwidth
95 auto layerColumn = coreSpacePoints.createColumn<std::uint32_t>("layerId");
96 auto clusterWidthColumn = coreSpacePoints.createColumn<float>("clusterWidth");
97 auto localPositionColumn = coreSpacePoints.createColumn<float>("localPositionY");
98
99 std::vector<const xAOD::SpacePoint*> tmpSpacePoints;
100 std::size_t totalSpacePoints = 0;
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 totalSpacePoints += spacePoints->size();
108 }
109
110 coreSpacePoints.reserve(totalSpacePoints);
111
112 // add spacepoints to new container
113 for(std::size_t idx = 0; idx < tmpSpacePoints.size(); ++idx){
114 // obtain module hash for spacepoint
115 const xAOD::SpacePoint* sp = tmpSpacePoints[idx];
116 const std::vector<xAOD::DetectorIDHashType>& elementlist = sp->elementIdList();
117
118 const bool isPixel(elementlist.size() == 1);
119 if (isPixel == false) continue; // as currently strip hits are not used for seeding
120
121 const short layer = (isPixel ? m_pix_h2l : m_sct_h2l)->operator[](static_cast<int>(elementlist[0]));
122
123 auto newSp = coreSpacePoints.createSpacePoint();
124 newSp.copyFromIndex() = idx;
125
126 // apply beamspot corrections if needed
127 if (m_finderCfg.beamSpotCorrection) {
128 const float new_x = static_cast<float>(sp->x() - beamSpotPos[0]);
129 const float new_y = static_cast<float>(sp->y() - beamSpotPos[1]);
130 newSp.x() = new_x;
131 newSp.y() = new_y;
132 newSp.z() = static_cast<float>(sp->z());
133 newSp.r() = std::hypot(new_x, new_y);
134 newSp.phi() = std::atan2(new_y, new_x);
135 } else {
136 const float new_x = static_cast<float>(sp->x());
137 const float new_y = static_cast<float>(sp->y());
138 newSp.x() = static_cast<float>(sp->x());
139 newSp.y() = static_cast<float>(sp->y());
140 newSp.z() = static_cast<float>(sp->z());
141 newSp.r() = std::hypot(new_x, new_y);
142 newSp.phi() = std::atan2(sp->y(), sp->x());
143 }
144
145 newSp.extra(layerColumn) = layer;
146
147 if (m_finderCfg.useMl) {
148 assert(dynamic_cast<const xAOD::PixelCluster*>(sp->measurements().front())!=nullptr);
149 const xAOD::PixelCluster* pCL = static_cast<const xAOD::PixelCluster*>(sp->measurements().front());
150 newSp.extra(clusterWidthColumn) = pCL->widthInEta();
151 newSp.extra(localPositionColumn) = pCL->localPosition<2>().y();
152 }
153 }
154
155 ATH_MSG_VERBOSE("Spacepoints successfully added to new container");
156
157 int max_layers = m_are_pixels.size();
158 // eta,etaMinus,etaPlus,phi,phiMinus,Phiplus,z,zMinus,zPlus
159 Acts::Experimental::GbtsRoiDescriptor internalRoi(0, -4.5, 4.5, 0, -std::numbers::pi, std::numbers::pi, 0, -150.0,150.0);
160 Acts::SeedContainer2 seeds = m_finder->createSeeds(coreSpacePoints, internalRoi, max_layers, *m_filter);
161
162 // add seeds to the output container
163 seedContainer.reserve(seedContainer.size() + seeds.size(), 7.0f);
164 for (Acts::MutableSeedProxy2 seed : seeds) {
165 seedContainer.push_back(
166 Acts::ConstSeedProxy2(seed),
167 [&](const Acts::SpacePointIndex2 spIndex) {
168 return tmpSpacePoints[spIndex];
169 });
170 }
171
172 ATH_MSG_VERBOSE("Number of seeds created is " << seedContainer.size());
173 return StatusCode::SUCCESS;
174 }
#define ATH_MSG_VERBOSE(x)
static Double_t sp
#define y
std::vector< bool > m_are_pixels
const std::vector< short > * m_sct_h2l
lists of layers that pixel and strip modules are apart of (index defines hash ID of module),...
Acts::Experimental::GraphBasedTrackSeeder::Config m_finderCfg
steering for seeding algorithm
const std::vector< short > * m_pix_h2l
std::optional< Acts::Experimental::GbtsTrackingFilter > m_filter
the seed filter
std::optional< Acts::Experimental::GraphBasedTrackSeeder > m_finder
the actual seed fining algorithm
float widthInEta() const
Returns the width of the cluster in phi (x) and eta (y) directions, respectively.
const std::vector< DetectorIDHashType > & elementIdList() const
Returns the IdentifierHash of the spacepoint (corresponds to the detector element IdentifierHash)
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.
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 22 of file GbtsSeedingTool.cxx.

22 {
23 ATH_CHECK(m_layerNumberTool.retrieve());
24 ATH_MSG_DEBUG("Initializing " << name() << "...");
25
26 // Make the logger And Propagate to ACTS routines
27 m_logger = makeActsAthenaLogger(this, "Acts");
28
31
32 // layer geometry creation
33 const std::vector<TrigInDetSiLayer>* pVL = m_layerNumberTool->layerGeometry();
34
35 // layer objects used by GBTS
36 std::vector<Acts::Experimental::GbtsLayerDescription> layers;
37 layers.reserve(pVL->size());
38
39 // convert from trigindetsilayer to acts::experimental::trigindetsilayer
40 for (const TrigInDetSiLayer&s : *pVL) {
41 const Acts::Experimental::GbtsLayerType type = s.m_type == 0 ? Acts::Experimental::GbtsLayerType::Barrel : Acts::Experimental::GbtsLayerType::Endcap;
42 layers.emplace_back(s.m_subdet, type, s.m_refCoord, s.m_minBound, s.m_maxBound);
43 }
44
45 // fill which has id for each module belongs to what layer
46 m_sct_h2l = m_layerNumberTool->sctLayers();
47 m_pix_h2l = m_layerNumberTool->pixelLayers();
48 m_are_pixels.resize(m_layerNumberTool->maxNumberOfUniqueLayers(), true);
49 for(const auto& l : *m_sct_h2l) m_are_pixels[l] = false;
50
51 // parse connection
52 Acts::Experimental::GbtsLayerConnectionMap layerConnectionMap(m_finderCfg.connectorInputFile, m_finderCfg.lrtMode);
53
54 // option that allows for adding custom eta binning (default is at 0.2)
55 if (m_finderCfg.etaBinWidthOverride != 0.0f) {
56 layerConnectionMap.etaBinWidth = m_finderCfg.etaBinWidthOverride;
57 }
58
59 // create geoemtry object that holds allowed pairing of allowed eta regions in each layer
60 // holds all geometry information (m_layergeomtry and connection table)
61 auto gbtsGeo = std::make_shared<Acts::Experimental::GbtsGeometry>(layers, layerConnectionMap);
62
63 m_finder = Acts::Experimental::GraphBasedTrackSeeder(
64 Acts::Experimental::GraphBasedTrackSeeder::DerivedConfig(m_finderCfg),
65 gbtsGeo, logger().cloneWithSuffix("gbtsFinder"));
66
67 m_filter = Acts::Experimental::GbtsTrackingFilter(m_filterCfg, gbtsGeo);
68
69 return StatusCode::SUCCESS;
70 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
std::unique_ptr< const Acts::Logger > m_logger
logging instance
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...
StatusCode prepareConfiguration()
sets configs based on gaudi properties defined below
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
used to create the detector layers and which modules correspond to pixels and strips
layers(flags, cells_name, *args, **kw)
Here we define wrapper functions to set up all of the standard corrections.
l
Printing final latex table to .tex output file.

◆ logger()

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

Private access to the logger.

Definition at line 72 of file GbtsSeedingTool.h.

72{ return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::GbtsSeedingTool::prepareConfiguration ( )
private

sets configs based on gaudi properties defined below

Definition at line 179 of file GbtsSeedingTool.cxx.

179 {
180 m_finderCfg.lrtMode = m_LRTmode;
181 m_finderCfg.useMl = m_useML;
182 m_finderCfg.matchBeforeCreate = m_matchBeforeCreate;
183 m_finderCfg.useOldTunings = m_useOldTunings;
184 m_finderCfg.etaBinWidthOverride = m_etaBinWidthOverride;
185 m_finderCfg.beamSpotCorrection = m_beamSpotCorrection;
186 m_finderCfg.minPt = m_minPt;
187 m_finderCfg.nMaxPhiSlice = m_nMaxPhiSlice;
188 m_finderCfg.connectorInputFile = m_connectorInputFile;
189 m_finderCfg.lutInputFile = m_lutFile;
190 m_finderCfg.useEtaBinning = m_useEtaBinning;
191 m_finderCfg.doubletFilterRZ = m_doubletFilterRZ;
192 m_finderCfg.minDeltaRadius = m_minDeltaRadius;
193 m_finderCfg.nMaxEdges = m_nMaxEdges;
194 m_finderCfg.tauRatioCut = m_tau_ratio_cut;
195 m_finderCfg.tauRatioPrecut = m_tau_ratio_precut;
196 m_finderCfg.ptCoeff = m_ptCoeff;
197 m_finderCfg.edgeMaskMinEta = m_edge_mask_min_eta;
198 m_finderCfg.hitShareThreshold = m_hit_share_threshold;
199 m_finderCfg.maxEndcapClusterWidth = m_max_endcap_clusterwidth;
200
201 m_filterCfg.sigmaMS = m_sigmaMS;
202 m_filterCfg.radLen = m_radLen;
203 m_filterCfg.sigmaX = m_sigma_x;
204 m_filterCfg.sigmaY = m_sigma_y;
205 m_filterCfg.weightX = m_weight_x;
206 m_filterCfg.weightY = m_weight_y;
207 m_filterCfg.maxDChi2X = m_maxDChi2_x;
208 m_filterCfg.maxDChi2Y = m_maxDChi2_y;
209 m_filterCfg.addHit = m_add_hit;
210 m_filterCfg.maxCurvature = m_max_curvature;
211 m_filterCfg.maxZ0 = m_max_z0;
212
213 return StatusCode::SUCCESS;
214 }
Gaudi::Property< float > m_tau_ratio_cut
Gaudi::Property< bool > m_doubletFilterRZ
Gaudi::Property< float > m_sigma_x
Gaudi::Property< int > m_nMaxEdges
Gaudi::Property< float > m_add_hit
Gaudi::Property< float > m_maxDChi2_x
Gaudi::Property< float > m_max_z0
Gaudi::Property< float > m_minPt
Gaudi::Property< double > m_ptCoeff
Gaudi::Property< float > m_sigmaMS
Gaudi::Property< float > m_hit_share_threshold
Gaudi::Property< bool > m_LRTmode
Gaudi::Property< float > m_max_curvature
Gaudi::Property< float > m_nMaxPhiSlice
Gaudi::Property< float > m_etaBinWidthOverride
Gaudi::Property< bool > m_useOldTunings
Gaudi::Property< float > m_sigma_y
Gaudi::Property< float > m_max_endcap_clusterwidth
Gaudi::Property< std::string > m_connectorInputFile
Gaudi::Property< float > m_weight_x
Gaudi::Property< bool > m_useML
Gaudi::Property< float > m_minDeltaRadius
Gaudi::Property< float > m_weight_y
Gaudi::Property< float > m_tau_ratio_precut
Gaudi::Property< bool > m_useEtaBinning
Gaudi::Property< bool > m_matchBeforeCreate
Gaudi::Property< bool > m_beamSpotCorrection
Gaudi::Property< float > m_maxDChi2_y
Gaudi::Property< std::string > m_lutFile
Gaudi::Property< float > m_edge_mask_min_eta
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 217 of file GbtsSeedingTool.cxx.

217 {
218 ATH_MSG_DEBUG("===== GBTS finder config =====");
219 ATH_MSG_DEBUG( "beamSpotCorrection: " << m_finderCfg.beamSpotCorrection);
220 ATH_MSG_DEBUG( "connectorInputFile: " << m_finderCfg.connectorInputFile);
221 ATH_MSG_DEBUG( "lutInputFile: " << m_finderCfg.lutInputFile);
222 ATH_MSG_DEBUG( "lrtMode: " << m_finderCfg.lrtMode);
223 ATH_MSG_DEBUG( "useMl: " << m_finderCfg.useMl);
224 ATH_MSG_DEBUG( "matchBeforeCreate: " << m_finderCfg.matchBeforeCreate);
225 ATH_MSG_DEBUG( "useOldTunings: " << m_finderCfg.useOldTunings);
226 ATH_MSG_DEBUG( "tauRatioPrecut: " << m_finderCfg.tauRatioPrecut);
227 ATH_MSG_DEBUG( "tauRatioCut: " << m_finderCfg.tauRatioCut);
228 ATH_MSG_DEBUG( "etaBinWidthOverride: " << m_finderCfg.etaBinWidthOverride);
229 ATH_MSG_DEBUG( "nMaxPhiSlice: " << m_finderCfg.nMaxPhiSlice);
230 ATH_MSG_DEBUG( "minPt: " << m_finderCfg.minPt);
231 ATH_MSG_DEBUG( "ptCoeff: " << m_finderCfg.ptCoeff);
232 ATH_MSG_DEBUG( "useEtaBinning: " << m_finderCfg.useEtaBinning);
233 ATH_MSG_DEBUG( "doubletFilterRZ: " << m_finderCfg.doubletFilterRZ);
234 ATH_MSG_DEBUG( "nMaxEdges: " << m_finderCfg.nMaxEdges);
235 ATH_MSG_DEBUG( "minDeltaRadius: " << m_finderCfg.minDeltaRadius);
236 ATH_MSG_DEBUG( "edgeMaskMinEta: " << m_finderCfg.edgeMaskMinEta);
237 ATH_MSG_DEBUG( "hitShareThreshold: " << m_finderCfg.hitShareThreshold);
238 ATH_MSG_DEBUG( "maxEndcapClusterWidth: " << m_finderCfg.maxEndcapClusterWidth);
239
240 ATH_MSG_DEBUG("===== GBTS filter config =====");
241 ATH_MSG_DEBUG( "sigmaMS: " << m_filterCfg.sigmaMS);
242 ATH_MSG_DEBUG( "radLen: " << m_filterCfg.radLen);
243 ATH_MSG_DEBUG( "sigmaX: " << m_filterCfg.sigmaX);
244 ATH_MSG_DEBUG( "sigmaY: " << m_filterCfg.sigmaY);
245 ATH_MSG_DEBUG( "weightX: " << m_filterCfg.weightX);
246 ATH_MSG_DEBUG( "weightY: " << m_filterCfg.weightY);
247 ATH_MSG_DEBUG( "maxDChi2X: " << m_filterCfg.maxDChi2X);
248 ATH_MSG_DEBUG( "maxDChi2Y: " << m_filterCfg.maxDChi2Y);
249 ATH_MSG_DEBUG( "addHit: " << m_filterCfg.addHit);
250 ATH_MSG_DEBUG( "maxCurvature: " << m_filterCfg.maxCurvature);
251 ATH_MSG_DEBUG( "maxZ0: " << m_filterCfg.maxZ0);
252 }

Member Data Documentation

◆ m_add_hit

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

Definition at line 132 of file GbtsSeedingTool.h.

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

◆ m_are_pixels

std::vector<bool> ActsTrk::GbtsSeedingTool::m_are_pixels
private

Definition at line 93 of file GbtsSeedingTool.h.

◆ m_beamSpotCorrection

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

Definition at line 112 of file GbtsSeedingTool.h.

112{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 100 of file GbtsSeedingTool.h.

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

◆ m_doubletFilterRZ

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

Definition at line 118 of file GbtsSeedingTool.h.

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

◆ m_edge_mask_min_eta

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_edge_mask_min_eta {this, "edge_mask_min_eta", 1.5, "not sure"}
private

Definition at line 135 of file GbtsSeedingTool.h.

135{this, "edge_mask_min_eta", 1.5, "not sure"};

◆ m_etaBinWidthOverride

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

Definition at line 110 of file GbtsSeedingTool.h.

110{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 87 of file GbtsSeedingTool.h.

◆ m_filterCfg

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

steering for track filter

Definition at line 81 of file GbtsSeedingTool.h.

◆ m_finder

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

the actual seed fining algorithm

Definition at line 84 of file GbtsSeedingTool.h.

◆ m_finderCfg

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

steering for seeding algorithm

Definition at line 78 of file GbtsSeedingTool.h.

◆ m_hit_share_threshold

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_hit_share_threshold {this, "hit_share_threshold", 0.49, "not sure"}
private

Definition at line 136 of file GbtsSeedingTool.h.

136{this, "hit_share_threshold", 0.49, "not sure"};

◆ m_layerNumberTool

ToolHandle<ITrigL2LayerNumberTool> ActsTrk::GbtsSeedingTool::m_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"}
private

used to create the detector layers and which modules correspond to pixels and strips

Definition at line 96 of file GbtsSeedingTool.h.

96{this, "layerNumberTool", "TrigL2LayerNumberToolITk"};

◆ m_logger

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

logging instance

Definition at line 75 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 104 of file GbtsSeedingTool.h.

104{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 101 of file GbtsSeedingTool.h.

101{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 106 of file GbtsSeedingTool.h.

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

◆ m_max_curvature

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_max_curvature {this, "max_curvature", 1e-3f, "not sure"}
private

Definition at line 133 of file GbtsSeedingTool.h.

133{this, "max_curvature", 1e-3f, "not sure"};

◆ m_max_endcap_clusterwidth

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

Definition at line 139 of file GbtsSeedingTool.h.

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

◆ m_max_z0

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_max_z0 {this, "max_z0", 170.0, "not sure"}
private

Definition at line 134 of file GbtsSeedingTool.h.

134{this, "max_z0", 170.0, "not sure"};

◆ m_maxDChi2_x

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

Definition at line 130 of file GbtsSeedingTool.h.

130{this, "maxDChi2_x", 5.0, "gate threshold for chi2 test"}; //was 35.0

◆ m_maxDChi2_y

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

Definition at line 131 of file GbtsSeedingTool.h.

131{this, "maxDChi2_y", 6.0, "gate threshold for chi2 test"};//was 31.0

◆ m_minDeltaRadius

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

Definition at line 119 of file GbtsSeedingTool.h.

119{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 113 of file GbtsSeedingTool.h.

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

◆ m_nMaxEdges

Gaudi::Property<int> ActsTrk::GbtsSeedingTool::m_nMaxEdges {this, "MaxEdges",3000000, " max number of Gbts edges/doublets"}
private

Definition at line 120 of file GbtsSeedingTool.h.

120{this, "MaxEdges",3000000, " max number of Gbts edges/doublets"};

◆ m_nMaxPhiSlice

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

Definition at line 111 of file GbtsSeedingTool.h.

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

◆ m_phiSliceWidth

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_phiSliceWidth {this, "phiSliceWidth",0, "initialised in loadSpacePoints function"}
private

Definition at line 114 of file GbtsSeedingTool.h.

114{this, "phiSliceWidth",0, "initialised in loadSpacePoints function"};

◆ m_pix_h2l

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

Definition at line 92 of file GbtsSeedingTool.h.

◆ m_ptCoeff

Gaudi::Property<double> ActsTrk::GbtsSeedingTool::m_ptCoeff {this, "ptCoeff", 0.29997 * 1.9972 / 2.0, "~0.3*B/2 - assumes nominal field of 2*T"}
private

Definition at line 121 of file GbtsSeedingTool.h.

121{this, "ptCoeff", 0.29997 * 1.9972 / 2.0, "~0.3*B/2 - assumes nominal field of 2*T"};

◆ m_radLen

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_radLen {this, "radLen", 0.025, "not sure"}
private

Definition at line 125 of file GbtsSeedingTool.h.

125{this, "radLen", 0.025, "not sure"};

◆ m_sct_h2l

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

lists of layers that pixel and strip modules are apart of (index defines hash ID of module), used to sort Spacepoints based on the type of module its assigned to

Definition at line 91 of file GbtsSeedingTool.h.

◆ m_sigma_x

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

Definition at line 126 of file GbtsSeedingTool.h.

126{this, "sigma_x", 0.08, "measurement resolution for residual on y direction"}; //was 0.22

◆ m_sigma_y

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

Definition at line 127 of file GbtsSeedingTool.h.

127{this, "sigma_y", 0.25, "measurement resolution on r-z plane"};// was 1.7

◆ m_sigmaMS

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

Definition at line 124 of file GbtsSeedingTool.h.

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

◆ m_tau_ratio_cut

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

Definition at line 108 of file GbtsSeedingTool.h.

108{this, "cut_tau_ratio_max",0.007, "tau cut for doublets and triplets"};

◆ m_tau_ratio_precut

Gaudi::Property<float> ActsTrk::GbtsSeedingTool::m_tau_ratio_precut {this, "precut_tau_ratio_max",0.009f, "not sure"}
private

Definition at line 109 of file GbtsSeedingTool.h.

109{this, "precut_tau_ratio_max",0.009f, "not sure"};

◆ m_useEtaBinning

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

Definition at line 117 of file GbtsSeedingTool.h.

117{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 105 of file GbtsSeedingTool.h.

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

◆ m_useOldTunings

Gaudi::Property<bool> ActsTrk::GbtsSeedingTool::m_useOldTunings {this, "useOldTunings", false, "use the tunings for 900MeV cut"}
private

Definition at line 107 of file GbtsSeedingTool.h.

107{this, "useOldTunings", false, "use the tunings for 900MeV cut"};

◆ m_weight_x

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

Definition at line 128 of file GbtsSeedingTool.h.

128{this, "weight_x", 0.5, "penalty weight for track"};

◆ m_weight_y

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

Definition at line 129 of file GbtsSeedingTool.h.

129{this, "weight_y", 0.5, "penalty weight for track"};

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