ATLAS Offline Software
Loading...
Searching...
No Matches
VrtSecInclusiveConfig.py
Go to the documentation of this file.
1"""Define method to configure VrtSecInclusive algorithm
2
3Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4"""
5
6from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7from AthenaConfiguration.ComponentFactory import CompFactory
8
9def VrtSecInclusiveCfg(flags, name="VrtSecInclusive", **kwargs):
10
11 """Return a configured VrtSecInclusive algorithm instance"""
12 acc = ComponentAccumulator()
13
14 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
15 from TrkConfig.TrkVertexFitterUtilsConfig import TrackToVertexIPEstimatorCfg
16 from TrackToVertex.TrackToVertexConfig import TrackToVertexCfg
17 from TrkConfig.TrkVKalVrtFitterConfig import TrkVKalVrtFitterCfg
18
19 kwargs.setdefault("Extrapolator" , acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
20 kwargs.setdefault("VertexFitterTool" , acc.popToolsAndMerge(TrkVKalVrtFitterCfg(flags, IterationNumber = 30)))
21
22 if flags.Detector.GeometryPixel:
23 from PixelConditionsTools.PixelConditionsSummaryConfig import (
24 PixelConditionsSummaryCfg)
25 kwargs.setdefault("PixelConditionsSummaryTool", acc.popToolsAndMerge(
26 PixelConditionsSummaryCfg(flags,
27 UseByteStreamFEI4 = False,
28 UseByteStreamFEI3 = False)))
29 elif flags.Detector.GeometryITkPixel:
30 from PixelConditionsTools.ITkPixelConditionsSummaryConfig import (
31 ITkPixelConditionsSummaryCfg)
32 kwargs.setdefault("PixelConditionsSummaryTool", acc.popToolsAndMerge(
33 ITkPixelConditionsSummaryCfg(flags,
34 UseByteStreamFEI4 = False,
35 UseByteStreamFEI3 = False)))
36
37 TrackToVertexTool = acc.popToolsAndMerge(TrackToVertexCfg(flags))
38 acc.addPublicTool(TrackToVertexTool)
39 kwargs.setdefault("TrackToVertexTool" , TrackToVertexTool)
40
41 TrackToVertexIPEstimatorTool = acc.popToolsAndMerge(TrackToVertexIPEstimatorCfg(flags))
42 acc.addPublicTool(TrackToVertexIPEstimatorTool)
43 kwargs.setdefault("TrackToVertexIPEstimatorTool" , TrackToVertexIPEstimatorTool)
44
45 kwargs.setdefault("do_d0Cut" , False)
46 kwargs.setdefault("do_z0Cut" , False)
47 kwargs.setdefault("doTRTPixCut" , True)
48 kwargs.setdefault("CheckHitPatternStrategy" , 'ExtrapolationAssist') # Either 'Classical', 'Extrapolation' or 'ExtrapolationAssist'
49 kwargs.setdefault("doReassembleVertices" , True)
50 kwargs.setdefault("doMergeByShuffling" , True)
51 kwargs.setdefault("doMergeFinalVerticesDistance" , True)
52 kwargs.setdefault("doAssociateNonSelectedTracks" , True)
53 kwargs.setdefault("DoTruth" , flags.Input.isMC)
54 kwargs.setdefault("FillHist" , False)
55 kwargs.setdefault("TruthParticleFilter" , "Higgs")
56 kwargs.setdefault("CutSctHits" , 2)
57 kwargs.setdefault("TrkA0ErrCut" , 200000)
58 kwargs.setdefault("TrkZErrCut" , 200000)
59 kwargs.setdefault("a0TrkPVDstMinCut" , 2.0) # track d0 min
60 kwargs.setdefault("a0TrkPVDstMaxCut" , 300.0) # track d0 max: default is 1000.0
61 kwargs.setdefault("zTrkPVDstMinCut" , 0.0) # track z0 min: default is 0.0, just for clarification
62 kwargs.setdefault("zTrkPVDstMaxCut" , 1500.0) # track z0 max: default is 1000.0
63 kwargs.setdefault("twoTrkVtxFormingD0Cut" , 2.0)
64 kwargs.setdefault("SelVrtChi2Cut" , 5.)
65 kwargs.setdefault("CutSharedHits" , 2)
66 kwargs.setdefault("TrkChi2Cut" , 50)
67 kwargs.setdefault("TruthTrkLen" , 1)
68 kwargs.setdefault("SelTrkMaxCutoff" , 2000)
69 kwargs.setdefault("mergeByShufflingAllowance" , 10.)
70 kwargs.setdefault("associatePtCut" , 1000.)
71 kwargs.setdefault("associateMinDistanceToPV" , 2.)
72
73 acc.addEventAlgo(CompFactory.VKalVrtAthena.VrtSecInclusive(name, **kwargs))
74 return acc
75
VrtSecInclusiveCfg(flags, name="VrtSecInclusive", **kwargs)