ATLAS Offline Software
Loading...
Searching...
No Matches
TrkExAlgsConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory import CompFactory
4
5def PropResultRootWriterSvcCfg(flags, name="PropResultRootWriterSvc", **kwargs) :
6 result = ComponentAccumulator()
7 result.addService(CompFactory.Trk.PropResultRootWriterSvc(name, **kwargs))
8 return result
9
10def ExtrapolatorComparisonTestCfg(flags, name = "ExtrapolatorComparisonTest", **kwargs ) :
11 result=ComponentAccumulator()
12
13 if "Extrapolator" not in kwargs:
14 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
15 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
16 AtlasExtrapolatorCfg(flags)))
17
18 if "ExtrapolationTool" not in kwargs:
19 from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
20 kwargs.setdefault("ExtrapolationTool", result.popToolsAndMerge(
21 ActsExtrapolationToolCfg(flags))) # PrivateToolHandle
22
23 result.addEventAlgo(CompFactory.Trk.ExtrapolatorComparisonTest(name, **kwargs))
24 return result
25
26if __name__=="__main__":
27 from AthenaCommon.Logging import log
28 from AthenaCommon.Constants import VERBOSE
29 from AthenaConfiguration.AllConfigFlags import initConfigFlags
30 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
31 from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
32
33 #log.setLevel(VERBOSE)
34
35 flags = initConfigFlags()
36 # Need some actual input to get flags properly configured
37 flags.Input.Files = ['/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/mc20_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.recon.AOD.e3601_s3681_r13167/AOD.27312826._000061.pool.root.1']
38
39
40 flags.Detector.GeometryBpipe = True
41 flags.Detector.GeometryID = True
42 flags.Detector.GeometryPixel = True
43 flags.Detector.GeometrySCT = True
44 flags.Detector.GeometryCalo = False
45 flags.Detector.GeometryMuon = False
46 #flags.Detector.GeometryTRT = True
47 flags.TrackingGeometry.MaterialSource = "Input"
48
49 # This should run serially for the moment.
50 flags.Concurrency.NumThreads = 1
51 flags.Concurrency.NumConcurrentEvents = 1
52
53 log.debug('Lock config flags now.')
54 flags.lock()
55
56 flags.dump()
57
58 cfg=MainServicesCfg(flags)
59 cfg.merge(PoolReadCfg(flags))
60
61 histSvc = CompFactory.THistSvc(Output = ["ExtrapolationStudies DATAFILE='ExtrapolationStudies.root' OPT='RECREATE'"])
62 histSvc.OutputLevel=VERBOSE
63 cfg.addService( histSvc )
64
65 cfg.merge(PropResultRootWriterSvcCfg(flags,
66 name="ATLASPropResultRootWriterSvc",
67 TreeName="ATLAS"))
68
69 cfg.merge(PropResultRootWriterSvcCfg(flags,
70 name="ACTSPropResultRootWriterSvc",
71 TreeName="ACTS"))
72
74 flags,
75 EventsPerExecute = 1000,
76 StartPerigeeMinPt = 10000,
77 StartPerigeeMaxPt = 10000,
78 ReferenceSurfaceRadius = [80],
79 ReferenceSurfaceHalfZ = [500],
80 ATLASPropResultRootWriter = cfg.getService("ATLASPropResultRootWriterSvc"),
81 ACTSPropResultRootWriter = cfg.getService("ACTSPropResultRootWriterSvc")))
82
83 cfg.printConfig()
84
85 cfg.run(10)
86 f=open("ExtrapolatorComparisonTestConfig.pkl","w")
87 cfg.store(f)
88 f.close()
ExtrapolatorComparisonTestCfg(flags, name="ExtrapolatorComparisonTest", **kwargs)
PropResultRootWriterSvcCfg(flags, name="PropResultRootWriterSvc", **kwargs)