ATLAS Offline Software
Loading...
Searching...
No Matches
Sim_tf.py
Go to the documentation of this file.
1#! /usr/bin/env python
2
3# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
4
5"""
6Run ISF simulation on generated events and produce a HITS file.
7"""
8
9import os.path
10import sys
11import time
12
13import logging
14
15# Setup core logging here
16from PyJobTransforms.trfLogger import msg
17msg.info('logging set in %s' % sys.argv[0])
18
19from PyJobTransforms.transform import transform
20from PyJobTransforms.trfExe import athenaExecutor
21from PyJobTransforms.trfArgs import addAthenaArguments, addDetectorArguments
22from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
23from SimuJobTransforms.simTrfArgs import addForwardDetTrfArgs, addCosmicsTrfArgs, addCommonSimTrfArgs, addCommonSimDigTrfArgs, addTrackRecordArgs, addSim_tfArgs
24
25
26import PyJobTransforms.trfArgClasses as trfArgClasses
27
28# Prodsys hack...
29ListOfDefaultPositionalKeys=['--AFPOn', '--ALFAOn', '--CosmicFilterVolume', '--CosmicFilterVolume2', '--CosmicPtSlice', '--DBRelease', '--DataRunNumber', '--FwdRegionOn', '--LucidOn', '--ZDCOn', '--amiConfig', '--amiMetadataTag', '--asetup', '--athena', '--athenaopts', '--beamType', '--checkEventCount', '--command', '--conditionsTag', '--enableLooperKiller', '--env', '--eventAcceptanceEfficiency', '--execOnly', '--firstEvent', '--geometryVersion', '--ignoreErrors', '--ignoreFiles', '--ignorePatterns', '--imf', '--inputEVNTFile', '--inputEVNT_TRFile', '--jobNumber', '--maxEvents', '--outputEVNT_TRFile', '--outputHITSFile', '--physicsList', '--postExec', '--postInclude', '--preExec', '--preInclude', '--randomSeed', '--reportName', '--reportType', '--runNumber', '--showGraph', '--showPath', '--showSteps', '--simulator', '--skipEvents', '--skipFileValidation', '--skipInputFileValidation', '--skipOutputFileValidation', '--tcmalloc', '--useISF']
30
31@stdTrfExceptionHandler
32@sigUsrStackTrace
33def main():
34
35 msg.info('This is %s' % sys.argv[0])
36
37 trf = getTransform()
38 trf.parseCmdLineArgs(sys.argv[1:])
39 trf.execute()
40 if 'outputFileValidation' in trf._argdict and trf._argdict['outputFileValidation'].value is False and not ('eventService' in trf._argdict and trf._argdict['eventService'].value):
41 msg.info('Skipping report generation')
42 else:
43 trf.generateReport()
44
45 msg.info("%s stopped at %s, trf exit code %d" % (sys.argv[0], time.asctime(), trf.exitCode))
46 sys.exit(trf.exitCode)
47
49 executorSet = set()
50 from SimuJobTransforms.SimTransformUtils import addSimulationSubstep, addSimulationArguments
51 addSimulationSubstep(executorSet)
52 trf = transform(executor = executorSet, description = 'ATLAS Simulation transform. Inputs must be EVNT else a single particle Generator job options must be specified. Outputs must be HITS or TrackRecords.')
53 addAthenaArguments(trf.parser)
54 addDetectorArguments(trf.parser)
55 addSimulationArguments(trf.parser)
56 return trf
57
58
59
60
66
67
68if __name__ == '__main__':
69 main()
STL class.
Main package for new style ATLAS job transforms.
Transform argument class definitions.
Transform execution functions.
Logging configuration for ATLAS job transforms.
main()
Definition Sim_tf.py:33
getTransform()
Definition Sim_tf.py:48