Cleanup of track container filing code in ProtoTrackCreationAndFitAlg + test improvs
This is a follow up of: !68479 (closed) While working on the issue related to the last ACTS bump I have seen opportunity to simplificationof track container use and also simplifications to the test scirpt (i.e. I need to hack it like in this changeset to enable debugger).
Basically, in the flags system was designed so that in most cases we should not need additional python parsers.
Merge request reports
Activity
added ACTS Tracking main review-pending-level-1 labels
CI Result SUCCESS (hash bd5dcb9f)Athena externals cmake make tests Full details available on this CI monitor view. Check the JIRA CI status board for known problems
Athena: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-EL9 3909]added review-approved label and removed review-pending-level-1 label
mentioned in commit 7591ffb2
That was quick. I was hoping that @goblirsc will have a chance to comment
72 61 FinalProtoTrackChainTracksKey="TrkProtoTrackChainTestTracks" 73 62 FinalProtoTrackChainxAODTracksKey="xAODProtoTrackChainTestTracks" 74 63 75 ap = SetupArgParser() 76 args = ap.parse_args() 77 64 from AthenaConfiguration.AllConfigFlags import initConfigFlags 78 65 flags = initConfigFlags() 79 66 67 # this job specific flags 68 flags.addFlag("outputNTupleFile", "refits.root") 69 80 70 # Disable calo for this test 81 71 flags.Detector.EnableCalo = False 82 72 83 flags.Input.Files = args.inputRDOFile 73 flags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/ATLAS-P2-RUN4-03-00-00/mc21_14TeV.900498.PG_single_muonpm_Pt100_etaFlatnp0_43.recon.RDO.e8481_s4149_r14697/RDO.33675668._000016.pool.root.1"] This particular option should be handled already here. https://gitlab.cern.ch/atlas/athena/-/blob/main/Control/AthenaConfiguration/python/AthConfigFlags.py#L581 I.e. flags can be directly controlled from command line. Btw I hopped that you would haveea chance to comment before it was merged. But it went real fast. Send from phone, sorry for brevity.
Got to it now. This is bit philosophical ... i.e. we have flags system integrated with command line parsing already, so simple tests do not need to reimplement command line handling at all. I.e. all flags can be setup and if some property is not already a flag it can be added with one-line
addFlag("", )
.This changeset contains also this file:
Tracking/Acts/ActsConfig/test/ActsEFTrackFit.sh
with some examples.Is there documentation on the flags / command line interface available somewhere? This honestly sounds extremely useful also for other standalone snippets, I didn't know this exists. And are there shorthands available, since some of the syntax such as
Input.Files="['location']"
is far too cumbersome for command line operation and would result in another layer of wrapper scripts?Here: https://atlassoftwaredocs.web.cern.ch/guides/ca_configuration/flags/#using-flags (a very concise) As always, the best documentation is the code: https://gitlab.cern.ch/atlas/athena/-/blob/main/Control/AthenaConfiguration/python/AthConfigFlags.py#L571
Neat! Thanks so much, this looks very useful. Happy to move to this scheme - @sabidi fine for you as well?