diff --git a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/python/ActsTrkSeedingToolConfig.py b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/python/ActsTrkSeedingToolConfig.py index a6a2dcd16ec2967bda855df57250010609cec798..b7dfdbc022e794697970e468dd64bd5a5853d50d 100644 --- a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/python/ActsTrkSeedingToolConfig.py +++ b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/python/ActsTrkSeedingToolConfig.py @@ -8,7 +8,10 @@ from ActsInterop.ActsConfigFlags import SeedingStrategy def ActsTrkITkPixelSeedingToolCfg(flags, **kwargs) -> ComponentAccumulator: acc = ComponentAccumulator() - ## For ITkPixel, use default values for ActsTrk::SeedingTool + ## For ITkPixel + kwargs.setdefault("numSeedIncrement" , float("inf")) + kwargs.setdefault("deltaZMax" , float("inf")) + kwargs.setdefault("maxPtScattering", float("inf")) acc.setPrivateTools(CompFactory.ActsTrk.SeedingTool(name = "ActsSeedingTool_ITkPixel", **kwargs)) return acc @@ -34,6 +37,7 @@ def ActsTrkITkStripSeedingToolCfg(flags, kwargs.setdefault("deltaRMiddleMinSPRange" , 30 * UnitConstants.mm) kwargs.setdefault("deltaRMiddleMaxSPRange" , 150 * UnitConstants.mm) kwargs.setdefault("useDetailedDoubleMeasurementInfo" , True) + kwargs.setdefault("maxPtScattering", float("inf")) # For SeedFilterConfig kwargs.setdefault("useDeltaRorTopRadius" , False) kwargs.setdefault("seedConfirmationInFilter" , False) @@ -41,8 +45,8 @@ def ActsTrkITkStripSeedingToolCfg(flags, kwargs.setdefault("compatSeedLimit" , 4) kwargs.setdefault("numSeedIncrement" , 1.) kwargs.setdefault("seedWeightIncrement" , 10100.) - kwargs.setdefault("maxSeedsPerSpMConf" , 10e6) - kwargs.setdefault("maxQualitySeedsPerSpMConf" , 10e6) + kwargs.setdefault("maxSeedsPerSpMConf" , 100) + kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100) # For seeding algorithm kwargs.setdefault("zBinNeighborsBottom" , [(0,1),(0,1),(0,1),(0,2),(0,1),(0,0),(-1,0),(-2,0),(-1,0),(-1,0),(-1,0)]) @@ -66,7 +70,6 @@ def ActsTrkITkStripOrthogonalSeedingToolCfg(flags, kwargs.setdefault("deltaRMaxTopSP" , 300. * UnitConstants.mm) kwargs.setdefault("deltaRMinBottomSP" , 20. * UnitConstants.mm) kwargs.setdefault("deltaRMaxBottomSP" , 300. * UnitConstants.mm) - kwargs.setdefault("maxSeedsPerSpMConf" , 10e6) kwargs.setdefault("deltaZMax" , 900. * UnitConstants.mm) kwargs.setdefault("interactionPointCut" , False) kwargs.setdefault("skipPreviousTopSP", False) @@ -75,8 +78,8 @@ def ActsTrkITkStripOrthogonalSeedingToolCfg(flags, kwargs.setdefault("seedWeightIncrement" , 10100.) kwargs.setdefault("numSeedIncrement" , 1.) kwargs.setdefault("seedConfirmationInFilter" , False) - kwargs.setdefault("maxSeedsPerSpMConf" , 10e6) - kwargs.setdefault("maxQualitySeedsPerSpMConf" , 10e6) + kwargs.setdefault("maxSeedsPerSpMConf" , 100) + kwargs.setdefault("maxQualitySeedsPerSpMConf" , 100) kwargs.setdefault("useDeltaRorTopRadius" , False) kwargs.setdefault("rMinMiddle", 33. * UnitConstants.mm) kwargs.setdefault("rMaxMiddle", 1200. * UnitConstants.mm) diff --git a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.cxx b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.cxx index 4302f3b82cf8e6233499e3aed31c55ee67593a93..8fd2fc9f85d24a41c6887551efac17585b702069 100644 --- a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.cxx +++ b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.cxx @@ -367,6 +367,7 @@ namespace ActsTrk { filterCfg.centralSeedConfirmationRange = m_finderCfg.centralSeedConfirmationRange; filterCfg.forwardSeedConfirmationRange = m_finderCfg.forwardSeedConfirmationRange; filterCfg.impactWeightFactor = m_impactWeightFactor; + filterCfg.zOriginWeightFactor = m_zOriginWeightFactor; filterCfg.compatSeedWeight = m_compatSeedWeight; filterCfg.compatSeedLimit = m_compatSeedLimit; filterCfg.seedWeightIncrement = m_seedWeightIncrement; diff --git a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.h b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.h index 5d38824321d3ffa9844a6c4513647100053c6f60..e715cdb2da072ee60ebce7ce4e870debdb6d4129 100644 --- a/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.h +++ b/Tracking/Acts/ActsTrkTools/ActsTrkSeedingTool/src/SeedingTool.h @@ -142,7 +142,9 @@ namespace ActsTrk { {1, 2, 3, 4, 11, 10, 9, 8, 6, 5, 7} , "defines order of z bins for looping"}; Gaudi::Property< bool > m_useVariableMiddleSPRange {this, "useVariableMiddleSPRange", true, "Enable variable range to search for middle SPs"}; - Gaudi::Property< std::vector<std::vector<double>> > m_rRangeMiddleSP {this, "rRangeMiddleSP", {}, "radial range for middle SP"}; + Gaudi::Property< std::vector<std::vector<double>> > m_rRangeMiddleSP {this, "rRangeMiddleSP", + {{40.0, 90.0}, {40.0, 200.0}, {46.0, 200.0}, {46.0, 200.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 250.0}, {46.0, 200.0}, {46.0, 200.0}, {40.0, 200.0}, {40.0, 90.0}}, + "radial range for middle SP"}; Gaudi::Property< float > m_deltaRMiddleMinSPRange {this, "deltaRMiddleMinSPRange", 10., "delta R for middle SP range (min)"}; Gaudi::Property< float > m_deltaRMiddleMaxSPRange {this, "deltaRMiddleMaxSPRange", 10., @@ -202,9 +204,9 @@ namespace ActsTrk { Gaudi::Property<float> m_toleranceParam {this, "toleranceParam", 1.1 * Acts::UnitConstants::mm, "tolerance parameter used to check the compatibility of SPs coordinates in xyz"}; - Gaudi::Property<float> m_phiMin {this, "phiMin", - M_PI, ""}; - Gaudi::Property<float> m_phiMax {this, "phiMax", M_PI, ""}; - Gaudi::Property<float> m_rMin {this, "rMin", 33 * Acts::UnitConstants::mm, ""}; + Gaudi::Property<float> m_phiMin {this, "phiMin", 0, ""}; + Gaudi::Property<float> m_phiMax {this, "phiMax", 2 * M_PI, ""}; + Gaudi::Property<float> m_rMin {this, "rMin", 0 * Acts::UnitConstants::mm, ""}; Gaudi::Property<float> m_zAlign {this, "zAlign", 0 * Acts::UnitConstants::mm, ""}; Gaudi::Property<float> m_rAlign {this, "rAlign", 0 * Acts::UnitConstants::mm, ""}; Gaudi::Property<float> m_sigmaError {this, "sigmaError", 5, ""}; @@ -212,6 +214,7 @@ namespace ActsTrk { // Properties to set SeedFilterConfig Gaudi::Property< float > m_impactWeightFactor {this, "impactWeightFactor", 100., "the impact parameters (d0) is multiplied by this factor and subtracted from weight"}; + Gaudi::Property< float > m_zOriginWeightFactor {this, "zOriginWeightFactor", 1.}; Gaudi::Property< float > m_compatSeedWeight {this, "compatSeedWeight", 100., "seed weight increased by this value if a compatible seed has been found"}; Gaudi::Property< std::size_t > m_compatSeedLimit {this, "compatSeedLimit", 3, @@ -224,9 +227,9 @@ namespace ActsTrk { "sort seed vectors by curvature"}; Gaudi::Property< bool > m_seedConfirmationInFilter {this, "seedConfirmationInFilter", true, "run seed confirmation"}; - Gaudi::Property< int > m_maxSeedsPerSpMConf {this, "maxSeedsPerSpMConf", 5, + Gaudi::Property< std::size_t > m_maxSeedsPerSpMConf {this, "maxSeedsPerSpMConf", 5, "Maximum number of lower quality seeds in seed confirmation."}; - Gaudi::Property< int > m_maxQualitySeedsPerSpMConf {this, "maxQualitySeedsPerSpMConf", 5, + Gaudi::Property< std::size_t > m_maxQualitySeedsPerSpMConf {this, "maxQualitySeedsPerSpMConf", 5, "Maximum number of quality seeds for each middle-bottom SP-duplet in seed confirmation."}; Gaudi::Property< bool > m_useDeltaRorTopRadius {this, "useDeltaRorTopRadius", true, "use deltaR (top radius - middle radius) instead of top radius"};