5#ifndef ACTSTRK_GBTSSEEDINGTOOL_SEEDINGTOOL_H
6#define ACTSTRK_GBTSSEEDINGTOOL_SEEDINGTOOL_H 1
17#include "Acts/Geometry/TrackingGeometry.hpp"
18#include "Acts/Seeding/SeedFilter.hpp"
19#include "Acts/Seeding/SeedFinderGbts.hpp"
20#include "Acts/Definitions/Units.hpp"
21#include "Acts/Seeding/SeedFinderGbtsConfig.hpp"
22#include "Acts/Seeding/SeedFinderConfig.hpp"
23#include "Acts/Seeding/SeedFilterConfig.hpp"
24#include "Acts/Seeding/SeedFilter.hpp"
25#include "Acts/EventData/SeedContainer2.hpp"
26#include "Acts/EventData/SpacePointContainer2.hpp"
31#include "GaudiKernel/ToolHandle.h"
51 public extends<AthAlgTool, ActsTrk::ISeedingTool> {
56 const IInterface* parent);
64 const Acts::SpacePointContainer<ActsTrk::SpacePointCollector, Acts::detail::RefHolder>& spContainer,
65 const Acts::Vector3& beamSpotPos,
66 const Acts::Vector3& bField,
83 std::unique_ptr<Acts::Experimental::GbtsConnector>
m_connector =
nullptr;
87 std::unique_ptr<Acts::Experimental::GbtsGeometry>
m_gbtsGeo =
nullptr;
92 ToolHandle<ITrigL2LayerNumberTool>
m_layerNumberTool {
this,
"layerNumberTool",
"TrigL2LayerNumberToolITk"};
101 Gaudi::Property<std::string>
m_ConnectorInputFile {
this,
"ConnectorInputFile",
"binTables_ITK_RUN4.txt",
"input file for making connector object"};
103 Gaudi::Property<bool>
m_LRTmode {
this,
"LRTmode",
false,
"whether strip or pixel hits are used"};
104 Gaudi::Property<bool>
m_useML {
this,
"useML",
true,
"use the cluster width of the spacepoint"};
105 Gaudi::Property<bool>
m_matchBeforeCreate {
this,
"matchBeforeCreate",
false,
"need to check what this does"};
106 Gaudi::Property<bool>
m_useOldTunings {
this,
"useOldTunings",
false,
"use the tunings for 900MeV cut"};
107 Gaudi::Property<float>
m_tau_ratio_cut {
this,
"cut_tau_ratio_max",0.007,
"tau cut for doublets and triplets"};
108 Gaudi::Property<float>
m_etaBinOverride {
this,
"etaBinOverride", 0.0f,
"apply custom binning for connections"};
109 Gaudi::Property<float>
m_nMaxPhiSlice {
this,
"nMaxPhiSlice",53,
"used to calculate phi slices"};
110 Gaudi::Property<bool>
m_BeamSpotCorrection {
this,
"beamSpotCorrection",
true,
"apply primary vertex corrections to spacepoints"};
111 Gaudi::Property<float>
m_minPt {
this,
"minPt", 1000.0,
"Lower cutoff for seeds"};
112 Gaudi::Property<float>
m_phiSliceWidth {
this,
"phiSliceWidth",0,
"initialised in loadSpacePoints function"};
115 Gaudi::Property<bool>
m_useEtaBinning {
this,
"useEtaBinning",
true,
"bool to use eta binning from geometry structure"};
116 Gaudi::Property<bool>
m_doubletFilterRZ {
this,
"doubletFilterRZ",
true,
"bool applies new Z cuts on doublets"};
117 Gaudi::Property<float>
m_minDeltaRadius {
this,
"minDeltaRadius",2.0,
" min dr for doublet"};
118 Gaudi::Property<int>
m_nMaxEdges {
this,
"MaxEdges",3000000,
" max number of Gbts edges/doublets"};
119 Gaudi::Property<double>
m_ptCoeff {
this,
"ptCoeff", 0.29997 * 1.9972 / 2.0,
"~0.3*B/2 - assumes nominal field of 2*T"};
121 Gaudi::Property<float>
m_sigma_t {
this,
"sigma_t", 0.0003,
"process noise on transverse slope"};
122 Gaudi::Property<float>
m_sigma_w {
this,
"sigma_w", 0.00009,
"process noise on transverse curvature"};
123 Gaudi::Property<float>
m_sigmaMS {
this,
"sigmaMS", 0.016,
"process noise from multiple scattering"};
124 Gaudi::Property<float>
m_sigma_x {
this,
"sigma_x", 0.25,
"measurement resolution for residual on y direction"};
125 Gaudi::Property<float>
m_sigma_y {
this,
"sigma_y", 2.5,
"measurement resolution on r-z plane"};
126 Gaudi::Property<float>
m_weight_x {
this,
"weight_x", 0.5,
"penalty weight for track"};
127 Gaudi::Property<float>
m_weight_y {
this,
"weight_y", 0.5,
"penalty weight for track"};
128 Gaudi::Property<float>
m_maxDChi2_x {
this,
"maxDChi2_x", 60.0,
"gate threshold for chi2 test"};
129 Gaudi::Property<float>
m_maxDChi2_y {
this,
"maxDChi2_y", 60.0,
"gate threshold for chi2 test"};
130 Gaudi::Property<float>
m_add_hit {
this,
"add_hit", 14.0,
"reward added to tracks for each accepted hit before chi2"};
137 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...