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 createSeeds2 (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 Acts::Experimental::GbtsConfig &cfg)
StatusCode prepareConfiguration ()
const Acts::Logger & logger () const
 Private access to the logger.

Private Attributes

std::unique_ptr< Acts::Experimental::GbtsConnector > m_connector = nullptr
Acts::Experimental::GbtsConfig m_cfg
std::unique_ptr< Acts::Experimental::GbtsGeometry > m_gbtsGeo = nullptr
std::vector< Acts::Experimental::TrigInDetSiLayer > m_layerGeometry {}
std::unique_ptr< Acts::Experimental::GraphBasedTrackSeeder > m_finder = nullptr
ToolHandle< ITrigL2LayerNumberToolm_layerNumberTool {this, "layerNumberTool", "TrigL2LayerNumberToolITk"}
const std::vector< short > * m_sct_h2l {nullptr}
const std::vector< short > * m_pix_h2l {nullptr}
std::vector< bool > m_are_pixels
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_etaBinOverride {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"}
std::unique_ptr< const Acts::Logger > m_logger {nullptr}
 logging instance

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 17 of file GbtsSeedingTool.cxx.

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

◆ ~GbtsSeedingTool()

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

Member Function Documentation

◆ createSeeds2()

ATH_FLATTEN StatusCode ActsTrk::GbtsSeedingTool::createSeeds2 ( 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 //define new custom spacepoint container
83 Acts::SpacePointContainer2 coreSpacePoints(
84 Acts::SpacePointColumns::CopyFromIndex |
85 Acts::SpacePointColumns::SourceLinks |
86 Acts::SpacePointColumns::X |
87 Acts::SpacePointColumns::Y |
88 Acts::SpacePointColumns::Z |
89 Acts::SpacePointColumns::R |
90 Acts::SpacePointColumns::Phi
91 );
92
93 //add new column for layer ID and clusterwidth
94 auto layerColumn = coreSpacePoints.createColumn<std::uint32_t>("layerId");
95 auto clusterWidthColumn = coreSpacePoints.createColumn<float>("clusterWidth");
96 auto localPositionColumn = coreSpacePoints.createColumn<float>("localPositionY");
97
98 std::vector<const xAOD::SpacePoint*> tmpSpacePoints;
99 std::size_t totalSpacePoints = 0;
100
101 //add spacepoint pointers to singel container, this makes indexing them easier
102 for (const xAOD::SpacePointContainer* spacePoints : spacePointCollections) {
103 for (const xAOD::SpacePoint* sp : *spacePoints) {
104 tmpSpacePoints.emplace_back(sp);
105 }
106 totalSpacePoints += spacePoints->size();
107 }
108
109 coreSpacePoints.reserve(totalSpacePoints);
110
111 //add spacepoints to new container
112 for(std::size_t idx = 0; idx < tmpSpacePoints.size(); ++idx){
113 //obtain module hash for spacepoint
114 const xAOD::SpacePoint* sp = tmpSpacePoints[idx];
115 const std::vector<xAOD::DetectorIDHashType>& elementlist = sp->elementIdList() ;
116
117 bool isPixel(elementlist.size() == 1);
118 if(isPixel == false) continue; //as currently strip hits are not used for seeding
119
120 short layer = (isPixel ? m_pix_h2l : m_sct_h2l)->operator[](static_cast<int>(elementlist[0]));
121 //obtain coordinates
122
123 auto newSp = coreSpacePoints.createSpacePoint();
124 newSp.copyFromIndex() = idx;
125
126 //apply beamspot corrections if needed
127 if (m_cfg.beamSpotCorrection) {
128 float new_x = static_cast<float>(sp->x() - beamSpotPos[0]);
129 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 float new_x = static_cast<float>(sp->x());
137 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_cfg.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 ATH_MSG_VERBOSE("Spacepoints successfully added to new container");
155
156 //compute seeds
157 int max_layers = m_are_pixels.size();
158 Acts::Experimental::RoiDescriptor internalRoi(0, -4.5, 4.5, 0, -std::numbers::pi, std::numbers::pi, 0, -150.0,150.0); //(eta,etaMinus,etaPlus,phi,phiMinus,Phiplus,z,zMinus,zPlus)
159 Acts::SeedContainer2 seeds = m_finder->createSeeds(internalRoi, coreSpacePoints, max_layers);
160
161 //add seeds to the output container
162 seedContainer.reserve(seedContainer.size() + seeds.size(), 7.0f);
163 for (Acts::MutableSeedProxy2 seed : seeds) {
164 seedContainer.push_back(
165 Acts::ConstSeedProxy2(seed),
166 [&](const Acts::SpacePointIndex2 spIndex) {
167 return tmpSpacePoints[spIndex];
168 });
169 }
170
171 ATH_MSG_VERBOSE("Number of seeds created is " << seedContainer.size());
172 return StatusCode::SUCCESS;
173 }
#define ATH_MSG_VERBOSE(x)
static Double_t sp
#define y
std::vector< bool > m_are_pixels
const std::vector< short > * m_sct_h2l
std::unique_ptr< Acts::Experimental::GraphBasedTrackSeeder > m_finder
const std::vector< short > * m_pix_h2l
Acts::Experimental::GbtsConfig m_cfg
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 23 of file GbtsSeedingTool.cxx.

23 {
24
25
26 ATH_CHECK(m_layerNumberTool.retrieve());
27 ATH_MSG_DEBUG("Initializing " << name() << "...");
28
29 // Make the logger And Propagate to ACTS routines
30 m_logger = makeActsAthenaLogger(this, "Acts");
31
34
35 // layer geometry creation
36 const std::vector<TrigInDetSiLayer>* pVL = m_layerNumberTool->layerGeometry();
37
38 m_layerGeometry.clear();
39 m_layerGeometry.reserve(pVL->size());
40
41 //convert from trigindetsilayer to acts::experimental::trigindetsilayer
42
43 for (const TrigInDetSiLayer& s : *pVL) {
44 m_layerGeometry.emplace_back(s.m_subdet, s.m_type, s.m_refCoord, s.m_minBound, s.m_maxBound);
45 }
46
47 //fill which has id for each module belongs to what layer
48 m_sct_h2l = m_layerNumberTool->sctLayers();
49 m_pix_h2l = m_layerNumberTool->pixelLayers();
50 m_are_pixels.resize(m_layerNumberTool->maxNumberOfUniqueLayers(), true);
51 for(const auto& l : *m_sct_h2l) m_are_pixels[l] = false;
52
53 //parse connection
54
55 m_connector = std::make_unique<Acts::Experimental::GbtsConnector>(m_cfg.connectorInputFile, m_cfg.lrtMode);
56
57 // option that allows for adding custom eta binning (default is at 0.2)
58 if (m_cfg.etaBinOverride != 0.0f) {
59
60 m_connector->etaBin = m_cfg.etaBinOverride;
61 }
62
63 //create geoemtry object that holds allowed pairing of allowed eta regions in each layer
64 m_gbtsGeo = std::make_unique<Acts::Experimental::GbtsGeometry>( m_layerGeometry, m_connector);
65
66 m_finder = std::make_unique<Acts::Experimental::GraphBasedTrackSeeder>(m_cfg, std::move(m_gbtsGeo), m_layerGeometry, logger().cloneWithSuffix("gbtsFinder"));
67
68 return StatusCode::SUCCESS;
69}
#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< Acts::Experimental::GbtsConnector > m_connector
std::unique_ptr< const Acts::Logger > m_logger
logging instance
const Acts::Logger & logger() const
Private access to the logger.
std::vector< Acts::Experimental::TrigInDetSiLayer > m_layerGeometry
void printGbtsConfig(const Acts::Experimental::GbtsConfig &cfg)
std::unique_ptr< Acts::Experimental::GbtsGeometry > m_gbtsGeo
ToolHandle< ITrigL2LayerNumberTool > m_layerNumberTool
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 140 of file GbtsSeedingTool.h.

140{ return *m_logger; }

◆ prepareConfiguration()

StatusCode ActsTrk::GbtsSeedingTool::prepareConfiguration ( )
private

Definition at line 180 of file GbtsSeedingTool.cxx.

181 {
182
183 m_cfg.lrtMode = m_LRTmode;
184 m_cfg.useMl = m_useML;
185 m_cfg.matchBeforeCreate = m_matchBeforeCreate;
186 m_cfg.useOldTunings = m_useOldTunings;
187 m_cfg.etaBinOverride = m_etaBinOverride;
188 m_cfg.beamSpotCorrection = m_BeamSpotCorrection;
189 m_cfg.sigmaMS = m_sigmaMS;
190 m_cfg.radLen = m_radLen;
191 m_cfg.sigmaX = m_sigma_x;
192 m_cfg.sigmaY = m_sigma_y;
193 m_cfg.weightX = m_weight_x;
194 m_cfg.weightY = m_weight_y;
195 m_cfg.maxDChi2X = m_maxDChi2_x;
196 m_cfg.maxDChi2Y = m_maxDChi2_y;
197 m_cfg.addHit = m_add_hit;
198 m_cfg.minPt = m_minPt;
199 m_cfg.phiSliceWidth = m_phiSliceWidth ;
200 m_cfg.nMaxPhiSlice = m_nMaxPhiSlice;
201 m_cfg.connectorInputFile = m_connectorInputFile;
202 m_cfg.lutInputFile = m_lutFile;
203 m_cfg.useEtaBinning = m_useEtaBinning;
204 m_cfg.doubletFilterRZ = m_doubletFilterRZ ;
205 m_cfg.minDeltaRadius = m_minDeltaRadius;
206 m_cfg.nMaxEdges = m_nMaxEdges;
207 m_cfg.tauRatioCut = m_tau_ratio_cut;
208 m_cfg.tauRatioPrecut = m_tau_ratio_precut;
209 m_cfg.ptCoeff = m_ptCoeff;
210 m_cfg.maxCurvature = m_max_curvature;
211 m_cfg.maxZ0 = m_max_z0;
212 m_cfg.edgeMaskMinEta = m_edge_mask_min_eta;
213 m_cfg.hitShareThreshold = m_hit_share_threshold;
214 m_cfg.maxEndcapClusterWidth = m_max_endcap_clusterwidth;
215
216 return StatusCode::SUCCESS;
217 }
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< bool > m_BeamSpotCorrection
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< 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< float > m_phiSliceWidth
Gaudi::Property< float > m_etaBinOverride
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 Acts::Experimental::GbtsConfig & cfg)
private

Definition at line 219 of file GbtsSeedingTool.cxx.

219 {
220 ATH_MSG_DEBUG("===== GbtsConfig =====");
221 ATH_MSG_DEBUG( "beamSpotCorrection: " << cfg.beamSpotCorrection << " (default: false)");
222 ATH_MSG_DEBUG( "connectorInputFile: " << cfg.connectorInputFile << " (default: empty string)");
223 ATH_MSG_DEBUG( "lutInputFile: " << cfg.lutInputFile << " (default: empty string)");
224 ATH_MSG_DEBUG( "lrtMode: " << cfg.lrtMode << " (default: false)");
225 ATH_MSG_DEBUG( "useMl: " << cfg.useMl << " (default: false)");
226 ATH_MSG_DEBUG( "matchBeforeCreate: " << cfg.matchBeforeCreate << " (default: false)");
227 ATH_MSG_DEBUG( "useOldTunings: " << cfg.useOldTunings << " (default: false)");
228 ATH_MSG_DEBUG( "tauRatioPrecut: " << cfg.tauRatioPrecut << " (default: 0.009f)");
229 ATH_MSG_DEBUG( "tauRatioCut: " << cfg.tauRatioCut << " (default: 0.007)");
230 ATH_MSG_DEBUG( "etaBinOverride: " << cfg.etaBinOverride << " (default: 0.0)");
231 ATH_MSG_DEBUG( "nMaxPhiSlice: " << cfg.nMaxPhiSlice << " (default: 53)");
232 ATH_MSG_DEBUG( "minPt: " << cfg.minPt << " (default: 1000. MeV)");
233 ATH_MSG_DEBUG( "phiSliceWidth: " << cfg.phiSliceWidth << " (default: null)");
234 ATH_MSG_DEBUG( "ptCoeff: " << cfg.ptCoeff << " (default: 0.29955)");
235 ATH_MSG_DEBUG( "useEtaBinning: " << cfg.useEtaBinning << " (default: true)");
236 ATH_MSG_DEBUG( "doubletFilterRZ: " << cfg.doubletFilterRZ << " (default: true)");
237 ATH_MSG_DEBUG( "nMaxEdges: " << cfg.nMaxEdges << " (default: 2000000)");
238 ATH_MSG_DEBUG( "minDeltaRadius: " << cfg.minDeltaRadius << " (default: 2.0)");
239 ATH_MSG_DEBUG( "sigmaMS: " << cfg.sigmaMS << " (default: 0.016)");
240 ATH_MSG_DEBUG( "radLen: " << cfg.radLen << " (default: 0.025)");
241 ATH_MSG_DEBUG( "sigmaX: " << cfg.sigmaX << " (default: 0.08)");
242 ATH_MSG_DEBUG( "sigmaY: " << cfg.sigmaY << " (default: 0.25)");
243 ATH_MSG_DEBUG( "weightX: " << cfg.weightX << " (default: 0.5)");
244 ATH_MSG_DEBUG( "weightY: " << cfg.weightY << " (default: 0.5)");
245 ATH_MSG_DEBUG( "maxDChi2X: " << cfg.maxDChi2X << " (default: 5.0)");
246 ATH_MSG_DEBUG( "maxDChi2Y: " << cfg.maxDChi2Y << " (default: 6.0)");
247 ATH_MSG_DEBUG( "addHit: " << cfg.addHit << " (default: 14.0)");
248 ATH_MSG_DEBUG( "maxCurvature: " << cfg.maxCurvature << " (default: 1e-3f)");
249 ATH_MSG_DEBUG( "maxZ0: " << cfg.maxZ0 << " (default: 170.0)");
250 ATH_MSG_DEBUG( "edgeMaskMinEta: " << cfg.edgeMaskMinEta << " (default: 1.5)");
251 ATH_MSG_DEBUG( "hitShareThreshold: " << cfg.hitShareThreshold << " (default: 0.49)");
252 ATH_MSG_DEBUG( "maxEndcapClusterWidth: " << cfg.maxEndcapClusterWidth << " (default: 0.35)");
253
254}

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 131 of file GbtsSeedingTool.h.

131{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 97 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 111 of file GbtsSeedingTool.h.

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

◆ m_cfg

Acts::Experimental::GbtsConfig ActsTrk::GbtsSeedingTool::m_cfg
private

Definition at line 81 of file GbtsSeedingTool.h.

◆ m_connector

std::unique_ptr<Acts::Experimental::GbtsConnector> ActsTrk::GbtsSeedingTool::m_connector = nullptr
private

Definition at line 79 of file GbtsSeedingTool.h.

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

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

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

◆ m_etaBinOverride

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

Definition at line 109 of file GbtsSeedingTool.h.

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

◆ m_finder

std::unique_ptr<Acts::Experimental::GraphBasedTrackSeeder> ActsTrk::GbtsSeedingTool::m_finder = nullptr
private

Definition at line 87 of file GbtsSeedingTool.h.

◆ m_gbtsGeo

std::unique_ptr<Acts::Experimental::GbtsGeometry> ActsTrk::GbtsSeedingTool::m_gbtsGeo = nullptr
private

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

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

◆ m_layerGeometry

std::vector<Acts::Experimental::TrigInDetSiLayer> ActsTrk::GbtsSeedingTool::m_layerGeometry {}
private

Definition at line 85 of file GbtsSeedingTool.h.

85{}; //layer objects used by GBTS

◆ m_layerNumberTool

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

Definition at line 91 of file GbtsSeedingTool.h.

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

◆ m_logger

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

logging instance

Definition at line 142 of file GbtsSeedingTool.h.

142{nullptr};

◆ m_LRTmode

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

Definition at line 103 of file GbtsSeedingTool.h.

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

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

132{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 138 of file GbtsSeedingTool.h.

138{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 133 of file GbtsSeedingTool.h.

133{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 129 of file GbtsSeedingTool.h.

129{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 130 of file GbtsSeedingTool.h.

130{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 118 of file GbtsSeedingTool.h.

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

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

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

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

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

◆ m_pix_h2l

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

Definition at line 96 of file GbtsSeedingTool.h.

96{nullptr};

◆ 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 120 of file GbtsSeedingTool.h.

120{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 124 of file GbtsSeedingTool.h.

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

◆ m_sct_h2l

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

Definition at line 95 of file GbtsSeedingTool.h.

95{nullptr};

◆ 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 125 of file GbtsSeedingTool.h.

125{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 126 of file GbtsSeedingTool.h.

126{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 123 of file GbtsSeedingTool.h.

123{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 107 of file GbtsSeedingTool.h.

107{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 108 of file GbtsSeedingTool.h.

108{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 116 of file GbtsSeedingTool.h.

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

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

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

127{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 128 of file GbtsSeedingTool.h.

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

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