![]() |
|
|||
File indexing completed on 2025-07-11 07:49:55
0001 // This file is part of the ACTS project. 0002 // 0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project 0004 // 0005 // This Source Code Form is subject to the terms of the Mozilla Public 0006 // License, v. 2.0. If a copy of the MPL was not distributed with this 0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/. 0008 0009 #pragma once 0010 0011 // TODO: update to C++17 style 0012 0013 #include "Acts/Definitions/Algebra.hpp" 0014 #include "Acts/Definitions/Units.hpp" 0015 #include "Acts/Seeding/GbtsBase.hpp" //definition of Trigsispacepoint base and trigtriplets 0016 #include "Acts/Seeding/SeedConfirmationRangeConfig.hpp" 0017 0018 #include <memory> 0019 0020 // core algorithm so in acts namespace 0021 namespace Acts::Experimental { 0022 0023 template <typename SpacePoint> 0024 struct SeedFinderGbtsConfig { 0025 // // how many sigmas of scattering angle should be considered? 0026 float sigmaScattering = 5; 0027 0028 // Seed cut 0029 float minPt = 400. * Acts::UnitConstants::MeV; 0030 0031 // //detector ROI 0032 // // derived values, set on SeedFinder construction 0033 float highland = 0; 0034 float maxScatteringAngle2 = 0; 0035 /// for load space points 0036 0037 // Parameter which can loosen the tolerance of the track seed to form a 0038 // helix. This is useful for e.g. misaligned seeding. 0039 float helixCutTolerance = 1.; 0040 0041 float m_phiSliceWidth{}; // initialised in loadSpacePoints function 0042 float m_nMaxPhiSlice = 53; // used to calculate phi slices 0043 bool m_useClusterWidth = 0044 false; // bool for use of cluster width in loadSpacePoints function 0045 std::string ConnectorInputFile; // Path to the connector configuration file 0046 // that defines the layer connections 0047 std::vector<TrigInDetSiLayer> m_layerGeometry; 0048 0049 // for runGbts_TrackFinder 0050 bool m_useEtaBinning = 0051 true; // bool to use eta binning from geometry structure 0052 bool m_doubletFilterRZ = true; // bool applies new Z cuts on doublets 0053 float m_minDeltaRadius = 2.0; // min dr for doublet 0054 float m_tripletD0Max = 4.0; // D0 cut for triplets 0055 unsigned int m_maxTripletBufferLength = 0056 3; // maximum number of space points per triplet 0057 int MaxEdges = 2000000; // max number of Gbts edges/doublets 0058 float cut_dphi_max = 0.012; // phi cut for triplets 0059 float cut_dcurv_max = 0.001; // curv cut for triplets 0060 float cut_tau_ratio_max = 0.007; // tau cut for doublets and triplets 0061 float maxOuterRadius = 550.0; // used to calculate Z cut on doublets 0062 float m_PtMin = 1000.0; 0063 float m_tripletPtMinFrac = 0.3; 0064 float m_tripletPtMin = m_PtMin * m_tripletPtMinFrac; // Limit on triplet pt 0065 double ptCoeff = 0066 0.29997 * 1.9972 / 2.0; // ~0.3*B/2 - assumes nominal field of 2*T 0067 0068 // ROI: 0069 bool containsPhi() { 0070 return false; 0071 // need to implement this function 0072 } 0073 0074 //// 0075 // 2 member functions 0076 SeedFinderGbtsConfig calculateDerivedQuantities() const { 0077 // thorw statement if the isInternalUnits member is false, ie if dont call 0078 // this function 0079 SeedFinderGbtsConfig config = *this; 0080 // use a formula to calculate scattering 0081 0082 return config; 0083 } 0084 0085 SeedFinderGbtsConfig toInternalUnits() const { 0086 // throw statement if the isInternalUnits member is false, ie if dont call 0087 // this function 0088 SeedFinderGbtsConfig config = *this; 0089 // divides inputs by 1mm, all ones input 0090 // changes member inInInternalUnits to true 0091 return config; 0092 } 0093 0094 }; // end of config struct 0095 0096 } // namespace Acts::Experimental
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |