ATLAS Offline Software
Loading...
Searching...
No Matches
FastChain_tf.py
Go to the documentation of this file.
1#! /usr/bin/env python
2
3# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4
5# FastChain_tf.py
6# One step transform to run SIM+DIGI as one job, then reco
7# to ESD/AOD output
8# Richard Hawkings, adapted from FullChain_tf.py by Graeme Stewart
9
10import sys
11import time
12
13# Setup core logging here
14from PyJobTransforms.trfLogger import msg
15msg.info('logging set in %s', sys.argv[0])
16
17from PyJobTransforms.transform import transform
18from PyJobTransforms.trfExe import athenaExecutor
19from PyJobTransforms.trfArgs import addAthenaArguments, addDetectorArguments, addTriggerArguments
20from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
21from RecJobTransforms.recTransformUtils import addRecoSubsteps, addAllRecoArgs
22from SimuJobTransforms.simTrfArgs import addCommonSimTrfArgs, addBasicDigiArgs, addCommonSimDigTrfArgs, addTrackRecordArgs, addSim_tfArgs, addSimIOTrfArgs, addPileUpTrfArgs
23from DerivationFrameworkConfiguration.DerivationTransformHelpers import addDerivationArguments, addDerivationSubstep, addPhysicsValidationArguments, addPhysicsValidationSubstep
24
25from PyJobTransforms.trfArgClasses import argFactory, argList, argRDOFile
26
27@stdTrfExceptionHandler
28@sigUsrStackTrace
29def main():
30
31 msg.info('This is %s', sys.argv[0])
32
33 trf = getTransform()
34 trf.parseCmdLineArgs(sys.argv[1:])
35 trf.execute()
36 trf.generateReport()
37
38 msg.info("%s stopped at %s, trf exit code %d", sys.argv[0], time.asctime(), trf.exitCode)
39 sys.exit(trf.exitCode)
40
42 executorSet = set()
43
44 addRecoSubsteps(executorSet)
45
46 executorSet.add(athenaExecutor(name = 'EVNTtoRDO',
47 skeletonCA = 'FullChainTransforms.FastChainSkeleton',
48 substep = 'simdigi', tryDropAndReload = False, perfMonFile = 'ntuple.pmon.gz',
49 inData=['NULL','EVNT', 'RDO_BKG', 'BS_SKIM'],
50 outData=['RDO', 'HITS', 'NULL'] ))
51
52 # Derivation
53 addDerivationSubstep(executorSet)
54 addPhysicsValidationSubstep(executorSet)
55
56 trf = transform(executor = executorSet, description = 'Fast chain ATLAS transform with ISF simulation, digitisation'
57 ' and reconstruction. Inputs can be EVNT, with outputs of RDO, ESD, AOD or DPDs.'
58 ' See https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/FastChainTf for more details.')
59
60 # Common arguments
61 addAthenaArguments(trf.parser)
62 addDetectorArguments(trf.parser)
63 addTriggerArguments(trf.parser)
64
65 # Reconstruction arguments and outputs (use the factorised 'do it all' function)
66 addAllRecoArgs(trf)
67
68 # Simulation and digitisation options
69 addCommonSimTrfArgs(trf.parser)
70 addCommonSimDigTrfArgs(trf.parser)
71 addBasicDigiArgs(trf.parser)
72 addSim_tfArgs(trf.parser)
73 addSimIOTrfArgs(trf.parser)
74 # addForwardDetTrfArgs(trf.parser)
75 addPileUpTrfArgs(trf.parser)
76 addTrackRecordArgs(trf.parser)
77 addFastChainTrfArgs(trf.parser)
78
79 # Overlay arguments
80 from OverlayConfiguration.OverlayTransformHelpers import addOverlayArguments
81 addOverlayArguments(trf.parser)
82
83 # Derivation agruments
84 addDerivationArguments(trf.parser)
85 addPhysicsValidationArguments(trf.parser)
86
87 return trf
88
90 "Add transformation arguments for fast chain"
91 parser.defineArgGroup('FastChain','Fast chain options')
92 parser.add_argument('--preSimExec',type=argFactory(argList),nargs='+',
93 help='preExec before simulation step',
94 group='FastChain')
95 parser.add_argument('--postSimExec',type=argFactory(argList),nargs='+',
96 help='postExec after simulation step',
97 group='FastChain')
98 parser.add_argument('--preDigiExec',type=argFactory(argList),nargs='+',
99 help='preExec before digitisation step',
100 group='FastChain')
101 parser.add_argument('--preSimInclude',type=argFactory(argList),nargs='+',
102 help='preInclude before simulation step',
103 group='FastChain')
104 parser.add_argument('--postSimInclude',type=argFactory(argList),nargs='+',
105 help='postInclude after simulation step',
106 group='FastChain')
107 parser.add_argument('--preDigiInclude',type=argFactory(argList),nargs='+',
108 help='preInclude before digitisation step',
109 group='FastChain')
110 parser.defineArgGroup('MCOverlay', 'MC Overlay Options')
111 parser.add_argument('--inputRDO_BKGFile', nargs='+',
112 type=argFactory(argRDOFile, io='input'),
113 help='Input background RDO for MC+MC overlay',
114 group='MCOverlay')
115
116
117if __name__ == '__main__':
118 main()
STL class.
addFastChainTrfArgs(parser)
Main package for new style ATLAS job transforms.
Transform argument class definitions.
Transform execution functions.
Logging configuration for ATLAS job transforms.