ATLAS Offline Software
IDAlign_tf.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 
3 # Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 
5 # File: InDetAlignJobTransforms/scripts/IDAlign_tf.py
6 # Author: David Brunner (david.brunner@cern.ch)
7 
8 import os
9 import sys
10 import time
11 
12 # Setup core logging here
13 from PyJobTransforms.trfLogger import msg
14 msg.info('logging set in %s' % sys.argv[0])
15 
16 from PyJobTransforms.transform import transform
17 from PyJobTransforms.trfArgs import addAthenaArguments
18 from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
19 from PyJobTransforms.trfExe import athenaExecutor
20 from InDetAlignJobTransforms.IDAlignTransformUtils import addIDAlignArguments
21 
22 @stdTrfExceptionHandler
23 @sigUsrStackTrace
24 def main():
25  trf = getTransform()
26  trf.parseCmdLineArgs(sys.argv[1:])
27 
28  # Just add a note here that this is the place to insert extra checks or manipulations
29  # after the arguments are known, but before the transform tries to trace the graph
30  # path or actually execute (e.g., one can add some steering based on defined arguments)
31 
32  trf.execute()
33  trf.generateReport()
34 
35  msg.info("%s stopped at %s, trf exit code %d", sys.argv[0], time.asctime(), trf.exitCode)
36  sys.exit(trf.exitCode)
37 
38 
40  executorSet = set()
41  executorSet.add(athenaExecutor(name = 'IDAlign',
42  skeletonCA = 'InDetAlignJobTransforms.IDAlign_Skeleton'
43  ))
44 
45  trf = transform(executor = executorSet, description = 'Running the ID alignment using refitted tracks reconstructed from RAW files. Either accumulation step (track refitting, calculating derivates) or solve step (matrix inversion + constant update) can be run.')
46 
47  addAthenaArguments(trf.parser)
48  addIDAlignArguments(trf.parser)
49 
50  return trf
51 
52 
53 if __name__ == '__main__':
54  main()
IDAlignTransformUtils.addIDAlignArguments
def addIDAlignArguments(parser)
Definition: IDAlignTransformUtils.py:12
python.trfArgs.addAthenaArguments
def addAthenaArguments(parser, maxEventsDefaultSubstep='first', addValgrind=True, addPerfMon=True, addVTune=True)
Options related to running athena in general TODO: Some way to mask certain options (perExec,...
Definition: trfArgs.py:59
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
IDAlign_tf.main
def main()
Definition: IDAlign_tf.py:24
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:232
IDAlign_tf.getTransform
def getTransform()
Definition: IDAlign_tf.py:39
PyJobTransforms.trfExe
Transform execution functions.
PyJobTransforms.trfLogger
Logging configuration for ATLAS job transforms.
PyJobTransforms.transform
Main package for new style ATLAS job transforms.