6#ifndef ACTSTRK_GBTSSEEDINGTOOL_SEEDINGTOOL_H
7#define ACTSTRK_GBTSSEEDINGTOOL_SEEDINGTOOL_H 1
18#include "Acts/Geometry/TrackingGeometry.hpp"
19#include "Acts/Seeding/SeedFilter.hpp"
20#include "Acts/Seeding/SeedFinderGbts.hpp"
21#include "Acts/Definitions/Units.hpp"
22#include "Acts/Seeding/SeedFinderGbtsConfig.hpp"
23#include "Acts/Seeding/SeedFinderConfig.hpp"
24#include "Acts/Seeding/SeedFilterConfig.hpp"
25#include "Acts/Seeding/SeedFilter.hpp"
26#include "Acts/EventData/SeedContainer2.hpp"
27#include "Acts/EventData/SpacePointContainer2.hpp"
32#include "GaudiKernel/ToolHandle.h"
52 public extends<AthAlgTool, ActsTrk::ISeedingTool> {
57 const IInterface* parent);
65 const Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>& spContainer,
66 const Acts::Vector3& beamSpotPos,
67 const Acts::Vector3& bField,
84 std::unique_ptr<Acts::Experimental::GbtsConnector>
m_connector =
nullptr;
88 std::unique_ptr<Acts::Experimental::GbtsGeometry>
m_gbtsGeo =
nullptr;
92 std::unique_ptr<Acts::Experimental::SeedFinderGbts>
m_finder =
nullptr;
96 ToolHandle<ITrigL2LayerNumberTool>
m_layerNumberTool {
this,
"layerNumberTool",
"TrigL2LayerNumberToolITk"};
105 Gaudi::Property<std::string>
m_connectorInputFile {
this,
"connectorInputFile",
"binTables_ITK_RUN4.txt",
"input file for making connector object"};
106 Gaudi::Property<std::string>
m_lutFile{
this,
"lutInputFile",
"gbts_ml_pixel_barrel_loose.lut",
"file to LUT"};
108 Gaudi::Property<bool>
m_LRTmode {
this,
"LRTmode",
false,
"whether strip or pixel hits are used"};
109 Gaudi::Property<bool>
m_useML {
this,
"useML",
true,
"use the cluster width of the spacepoint"};
110 Gaudi::Property<bool>
m_matchBeforeCreate {
this,
"matchBeforeCreate",
true,
"need to check what this does"};
111 Gaudi::Property<bool>
m_useOldTunings {
this,
"useOldTunings",
false,
"use the tunings for 900MeV cut"};
112 Gaudi::Property<float>
m_tau_ratio_cut {
this,
"cut_tau_ratio_max",0.007,
"tau cut for doublets and triplets"};
114 Gaudi::Property<float>
m_etaBinOverride {
this,
"etaBinOverride", 0.0f,
"apply custom binning for connections"};
115 Gaudi::Property<float>
m_nMaxPhiSlice {
this,
"nMaxPhiSlice",53,
"used to calculate phi slices"};
116 Gaudi::Property<bool>
m_BeamSpotCorrection {
this,
"beamSpotCorrection",
true,
"apply primary vertex corrections to spacepoints"};
117 Gaudi::Property<float>
m_minPt {
this,
"minPt", 1000.0,
"Lower cutoff for seeds"};
118 Gaudi::Property<float>
m_phiSliceWidth {
this,
"phiSliceWidth",0,
"initialised in loadSpacePoints function"};
121 Gaudi::Property<bool>
m_useEtaBinning {
this,
"useEtaBinning",
true,
"bool to use eta binning from geometry structure"};
122 Gaudi::Property<bool>
m_doubletFilterRZ {
this,
"doubletFilterRZ",
true,
"bool applies new Z cuts on doublets"};
123 Gaudi::Property<float>
m_minDeltaRadius {
this,
"minDeltaRadius",2.0,
" min dr for doublet"};
124 Gaudi::Property<int>
m_nMaxEdges {
this,
"MaxEdges",3000000,
" max number of Gbts edges/doublets"};
125 Gaudi::Property<double>
m_ptCoeff {
this,
"ptCoeff", 0.29997 * 1.9972 / 2.0,
"~0.3*B/2 - assumes nominal field of 2*T"};
128 Gaudi::Property<float>
m_sigmaMS {
this,
"sigmaMS", 0.016,
"process noise from multiple scattering"};
129 Gaudi::Property<float>
m_radLen {
this,
"radLen", 0.025,
"not sure"};
130 Gaudi::Property<float>
m_sigma_x {
this,
"sigma_x", 0.08,
"measurement resolution for residual on y direction"};
131 Gaudi::Property<float>
m_sigma_y {
this,
"sigma_y", 0.25,
"measurement resolution on r-z plane"};
132 Gaudi::Property<float>
m_weight_x {
this,
"weight_x", 0.5,
"penalty weight for track"};
133 Gaudi::Property<float>
m_weight_y {
this,
"weight_y", 0.5,
"penalty weight for track"};
134 Gaudi::Property<float>
m_maxDChi2_x {
this,
"maxDChi2_x", 5.0,
"gate threshold for chi2 test"};
135 Gaudi::Property<float>
m_maxDChi2_y {
this,
"maxDChi2_y", 6.0,
"gate threshold for chi2 test"};
136 Gaudi::Property<float>
m_add_hit {
this,
"add_hit", 14.0,
"reward added to tracks for each accepted hit before chi2"};
138 Gaudi::Property<float>
m_max_z0 {
this,
"max_z0", 170.0,
"not sure"};
143 Gaudi::Property<float>
m_max_endcap_clusterwidth {
this,
"max_endcap_clusterwidth", 0.35,
"discards any spacepoints which dr/dz cant be accurately modelled"};
147 std::unique_ptr<const Acts::Logger>
m_logger {
nullptr};
This is an Identifier helper class for the Pixel subdetector.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...