Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-18 08:11:47

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 #include "Acts/Definitions/Units.hpp"
0012 
0013 #include <limits>
0014 
0015 namespace Acts {
0016 
0017 /// @brief Contains parameters for quality seed confirmation
0018 /// @note Requirements on the number of compatible space-points and impact parameters can be defined
0019 /// for different (r, z) regions of the detector (e.g. forward or central
0020 /// region) by SeedConfirmationRange. Seeds are classified as "high-quality"
0021 /// seeds and normal quality seeds. Normal quality seeds are only selected if
0022 /// no other "high-quality" seed has been found for that inner-middle doublet.
0023 /// For optimization reasons, the algorithm only calls the seed confirmation
0024 /// for a certain inner-middle doublet, in case a configurable minimum number
0025 /// of inner-middle-outer triplets have been found.
0026 struct SeedConfirmationRangeConfig {
0027   /// Minimum z position of middle component of the seed used to
0028   /// split the region of the detector for seed confirmation
0029   float zMinSeedConf =
0030       std::numeric_limits<float>::lowest();  // Acts::UnitConstants::mm
0031 
0032   /// Maximum z position of middle component of the seed used to
0033   /// split the region of the detector for seed confirmation
0034   float zMaxSeedConf =
0035       std::numeric_limits<float>::max();  // Acts::UnitConstants::mm
0036 
0037   /// Radius position of inner seed component that is used to
0038   /// split the region of the detector for seed confirmation
0039   float rMaxSeedConf =
0040       std::numeric_limits<float>::max();  // Acts::UnitConstants::mm
0041 
0042   /// Minimum number of compatible outer space-points required in quality seed
0043   /// confirmation if inner space-points radius is larger than rMaxSeedConf
0044   std::size_t nTopForLargeR = 0;
0045   /// Minimum number of compatible outer space-points required in quality seed
0046   /// confirmation if inner space-points radius is smaller than rMaxSeedConf
0047   std::size_t nTopForSmallR = 0;
0048 
0049   /// Minimum radius for inner seed component required in quality seed
0050   /// confirmation
0051   float seedConfMinBottomRadius = 60. * Acts::UnitConstants::mm;
0052   /// Maximum longitudinal impact parameter of seed required in quality seed
0053   /// confirmation
0054   float seedConfMaxZOrigin = 150. * Acts::UnitConstants::mm;
0055   /// Minimum impact parameter of seed required in quality seed confirmation
0056   float minImpactSeedConf = 1. * Acts::UnitConstants::mm;
0057 };
0058 
0059 }  // namespace Acts