ATLAS Offline Software
FullChain_tf.py
Go to the documentation of this file.
1 #! /usr/bin/env python
2 
3 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 
5 
8 
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.trfExe import athenaExecutor
18 from PyJobTransforms.trfArgs import addAthenaArguments, addDetectorArguments, addTriggerArguments
19 from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace
20 from RecJobTransforms.recTransformUtils import addRecoSubsteps, addAllRecoArgs
21 from SimuJobTransforms.simTrfArgs import addCosmicsTrfArgs, addForwardDetTrfArgs, addCommonSimTrfArgs, addBasicDigiArgs, addPileUpTrfArgs, addCommonSimDigTrfArgs, addTrackRecordArgs, addSim_tfArgs
22 from SimuJobTransforms.SimTransformUtils import addDigitizationSubstep
23 
24 ListOfDefaultPositionalKeys=['--AFPOn', '--ALFAOn', '--AMIConfig', '--AMITag', '--AddCaloDigi', '--CosmicFilterVolume', '--CosmicFilterVolume2', '--CosmicPtSlice', '--DBRelease', '--DataRunNumber', '--FwdRegionOn', '--LucidOn', '--ZDCOn', '--asetup', '--athena', '--athenaopts', '--autoConfiguration', '--beamType', '--bunchSpacing', '--checkEventCount', '--command', '--conditionsTag', '--digiRndmSvc', '--digiSeedOffset1', '--digiSeedOffset2', '--doAllNoise', '--enableLooperKiller', '--env', '--eventAcceptanceEfficiency', '--execOnly', '--firstEvent', '--geometryVersion', '--ignoreErrors', '--ignoreFiles', '--ignorePatterns', '--imf', '--inputAODFile', '--inputBSFile', '--inputBeamGasHitsFile', '--inputBeamHaloHitsFile', '--inputCavernHitsFile', '--inputESDFile', '--inputEVNTFile', '--inputEVNT_TRFile', '--inputHITSFile', '--inputHighPtMinbiasHitsFile', '--inputLowPtMinbiasHitsFile', '--inputNTUP_COMMONFile', '--inputRDOFile', '--jobNumber', '--maxEvents', '--numberOfBeamGas', '--numberOfBeamHalo', '--numberOfCavernBkg', '--numberOfHighPtMinBias', '--numberOfLowPtMinBias', '--orphanKiller', '--outputAODFile', '--outputAOD_SKIMFile', '--outputD2AODM_WMUNUFile', '--outputD2AODM_ZEEFile', '--outputD2AODM_ZMUMUFile', '--outputD2AOD_DIONIAFile', '--outputD2AOD_DIPHOFile', '--outputD2AOD_H4LFile', '--outputD2AOD_WENUFile', '--outputD2AOD_ZEEFile', '--outputD2ESDM_TRKJETFile', '--outputD2ESD_DIPHOFile', '--outputD2ESD_JPSIUPSMMFile', '--outputD2ESD_WENUFile', '--outputD2ESD_WMUNUFile', '--outputD2ESD_ZMMFile', '--outputDAODFile', '--outputDAODM_HIGHMJJFile', '--outputDAODM_HSG1File', '--outputDAODM_SGLEMFile', '--outputDAODM_SGLMUFile', '--outputDAODM_SGLPHFile', '--outputDAODM_SGLTAUFile', '--outputDAOD_2EMFile', '--outputDAOD_2L2QHSG2File', '--outputDAOD_2LHSG2File', '--outputDAOD_2MUFile', '--outputDAOD_2PHFile', '--outputDAOD_4LHSG2File', '--outputDAOD_EGLOOSEFile', '--outputDAOD_ELLOOSE18File', '--outputDAOD_ELLOOSEFile', '--outputDAOD_EMJETFile', '--outputDAOD_EMMETFile', '--outputDAOD_EMMUFile', '--outputDAOD_EMTAUFile', '--outputDAOD_H4LBREMRECFile', '--outputDAOD_HIGHMDIJETFile', '--outputDAOD_HSG2File', '--outputDAOD_JETMETFile', '--outputDAOD_JPSIMUMUFile', '--outputDAOD_MUFile', '--outputDAOD_MUJETFile', '--outputDAOD_MUMETFile', '--outputDAOD_MUTAUFile', '--outputDAOD_ONIAMUMUFile', '--outputDAOD_PHLOOSEFile', '--outputDAOD_RNDMFile', '--outputDAOD_SKIMELFile', '--outputDAOD_SUSYEGAMMAFile', '--outputDAOD_SUSYJETSFile', '--outputDAOD_SUSYMUONSFile', '--outputDAOD_TAUJETFile', '--outputDAOD_TESTFile', '--outputDAOD_UPSIMUMUFile', '--outputDAOD_ZEEGAMMAFile', '--outputDAOD_ZMUMUGAMMAFile', '--outputDESDM_EOVERPFile', '--outputDESDM_ALLCELLSFile', '--outputDESDM_BEAMSPOTFile', '--outputDESDM_EGAMMAFile', '--outputDESDM_METFile', '--outputDESDM_MUONFile', '--outputDESDM_RPVLLCCFile', '--outputDESDM_RPVLLFile', '--outputDESDM_TRACKFile', '--outputDESD_CALJETFile', '--outputDESD_CALOCOMMFile', '--outputDESD_COLLCANDFile', '--outputDESD_CTLFWJETFile', '--outputDESD_EGTAUCOMMFile', '--outputDESD_EMCLUSCOMMFile', '--outputDESD_FWJETFile', '--outputDESD_HIRAREFile', '--outputDESD_IDCOMMFile', '--outputDESD_IDPROJCOMMFile', '--outputDESD_MBIASFile', '--outputDESD_MUONCOMMFile', '--outputDESD_ONIAMUMUHIFile', '--outputDESD_PHOJETFile', '--outputDESD_PIXELCOMMFile', '--outputDESD_PRESCALEDFile', '--outputDESD_RANDOMCOMMFile', '--outputDESD_RPCCOMMFile', '--outputDESD_SCTCOMMFile', '--outputDESD_SGLELFile', '--outputDESD_SGLMUFile', '--outputDESD_SKIMELFile', '--outputDESD_TGCCOMMFile', '--outputDESD_TILECOMMFile', '--outputDNTUPFile', '--outputDRAW_IDPROJCOMMFile', '--outputDRAW_WENUFile', '--outputDRAW_WMUNUFile', '--outputDRAW_ZEEFile', '--outputDRAW_ZMUMUFile', '--outputESDFile', '--outputEVNT_TRFile', '--outputHISTFile', '--outputHIST_AODFile', '--outputHITSFile', '--outputNTUP_2L2QHSG2File', '--outputNTUP_2LHSG2File', '--outputNTUP_4LHSG2File', '--outputNTUP_BKGDFile', '--outputNTUP_BTAGD3PDFile', '--outputNTUP_BTAGEFFFile', '--outputNTUP_BTAGFULLFile', '--outputNTUP_BTAGGHOSTFile', '--outputNTUP_BTAGSLIMFile', '--outputNTUP_CLUSTERCORRECTIONFile', '--outputNTUP_COMMONFile', '--outputNTUP_EGAMMAFile', '--outputNTUP_ENHBIASFile', '--outputNTUP_FASTMONFile', '--outputNTUP_HECNOISEFile', '--outputNTUP_HIFile', '--outputNTUP_HIGHMULTFile', '--outputNTUP_HSG2File', '--outputNTUP_HSG5GAMHFile', '--outputNTUP_HSG5GAMZFile', '--outputNTUP_HSG5WHFile', '--outputNTUP_HSG5WHQFile', '--outputNTUP_HSG5WHUFile', '--outputNTUP_HSG5ZBBFile', '--outputNTUP_HSG5ZHLLFile', '--outputNTUP_HSG5ZHLLUFile', '--outputNTUP_HSG5ZHMETFile', '--outputNTUP_HSG5ZHMETUFile', '--outputNTUP_IDVTXFile', '--outputNTUP_IDVTXLUMIFile', '--outputNTUP_JETMETEMCLFile', '--outputNTUP_JETMETFULLFile', '--outputNTUP_JETMETFile', '--outputNTUP_JETMETWZFile', '--outputNTUP_L1CALOFile', '--outputNTUP_L1CALOPROBFile', '--outputNTUP_L1TGCFile', '--outputNTUP_LARNOISEFile', '--outputNTUP_MCPFile', '--outputNTUP_MINBIASFile', '--outputNTUP_MUFASTFile', '--outputNTUP_MUONCALIBFile', '--outputNTUP_MUONFile', '--outputNTUP_PHOTONFile', '--outputNTUP_PHYSICSFile', '--outputNTUP_PROMPTPHOTFile', '--outputNTUP_SCTFile', '--outputNTUP_SMBKGEFile', '--outputNTUP_SMBKGMUFile', '--outputNTUP_SMDILEPFile', '--outputNTUP_SMDYEEFile', '--outputNTUP_SMDYMUMUFile', '--outputNTUP_SMLIGHTFile', '--outputNTUP_SMQCDFile', '--outputNTUP_SMTRILEPFile', '--outputNTUP_SMWENUFile', '--outputNTUP_SMWENUJJFile', '--outputNTUP_SMWMUNUFile', '--outputNTUP_SMWMUNUJJFile', '--outputNTUP_SMWZFile', '--outputNTUP_SMWZSOFTFile', '--outputNTUP_SMZEEFile', '--outputNTUP_SMZMUMUFile', '--outputNTUP_SUSY01LEPFile', '--outputNTUP_SUSY23LEPFile', '--outputNTUP_SUSY34LEPFile', '--outputNTUP_SUSYBOOSTFile', '--outputNTUP_SUSYFile', '--outputNTUP_SUSYLEPTAUFile', '--outputNTUP_SUSYLLPFile', '--outputNTUP_SUSYRAZORFile', '--outputNTUP_SUSYSKIMFile', '--outputNTUP_SUSYTAGFile', '--outputNTUP_SUSYTRUTHFile', '--outputNTUP_TAUFULLFile', '--outputNTUP_TAUFile', '--outputNTUP_TAUMEDIUMFile', '--outputNTUP_TAUSMALLFile', '--outputNTUP_TOPBOOSTFile', '--outputNTUP_TOPEJETFile', '--outputNTUP_TOPELFile', '--outputNTUP_TOPFile', '--outputNTUP_TOPJETFile', '--outputNTUP_TOPMUFile', '--outputNTUP_TPHSG2File', '--outputNTUP_TRIGBJETFile', '--outputNTUP_TRIGFile', '--outputNTUP_TRIGMUFile', '--outputNTUP_TRKVALIDFile', '--outputNTUP_TRTFile', '--outputNTUP_TRUTHFile', '--outputNTUP_WPRIMEENFile', '--outputNTUP_WPRIMEMNFile', '--outputNTUP_WZFile', '--outputNTUP_ZPRIMEEEFile', '--outputNTUP_ZPRIMEMMFile', '--outputRDOFile', '--physicsList', '--pileupFinalBunch', '--pileupInitialBunch', '--postExec', '--postInclude', '--preExec', '--preInclude', '--randomSeed', '--reductionConf', '--reportName', '--reportType', '--runNumber', '--samplingFractionDbTag', '--showGraph', '--showPath', '--showSteps', '--simulator', '--skipEvents', '--skipFileValidation', '--skipInputFileValidation', '--skipOutputFileValidation', '--tcmalloc', '--testPileUpConfig', '--tmpRDO', '--trigFilterList', '--triggerConfig', '--useISF']
25 
26 @stdTrfExceptionHandler
27 @sigUsrStackTrace
28 def main():
29 
30  msg.info('This is %s', sys.argv[0])
31 
32  trf = getTransform()
33  trf.parseCmdLineArgs(sys.argv[1:])
34  trf.execute()
35  trf.generateReport()
36 
37  msg.info("%s stopped at %s, trf exit code %d", sys.argv[0], time.asctime(), trf.exitCode)
38  sys.exit(trf.exitCode)
39 
41  executorSet = set()
42 
43  addRecoSubsteps(executorSet)
44  addDigitizationSubstep(executorSet)
45 
46 
47  # Sim + Digi - factor these out into an importable function in time
48  executorSet.add(athenaExecutor(name = 'TRtoHITS', skeletonFile = 'SimuJobTransforms/skeleton.EVGENtoHIT_ISF.py',
49  substep = 'simTRIn', tryDropAndReload = False, perfMonFile = 'ntuple.pmon.gz',
50  inData=['EVNT_TR'],
51  outData=['HITS','NULL'] ))
52  executorSet.add(athenaExecutor(name = 'EVNTtoHITS', skeletonFile = 'SimuJobTransforms/skeleton.EVGENtoHIT_ISF.py',
53  substep = 'sim', tryDropAndReload = False, perfMonFile = 'ntuple.pmon.gz',
54  inData=['NULL','EVNT'],
55  outData=['EVNT_TR','HITS','NULL'] ))
56 
57  trf = transform(executor = executorSet, description = 'Full chain ATLAS transform with ISF simulation, digitisation'
58  ' and reconstruction. Inputs can be EVNT, EVNT_TR, HITS, RDO, BS, ESD or AOD, with outputs of RDO, ESD, AOD or DPDs.'
59  ' See https://twiki.cern.ch/twiki/bin/viewauth/Atlas/FullChainTf for more details.')
60 
61  # Common arguments
62  addAthenaArguments(trf.parser)
63  addDetectorArguments(trf.parser)
64  addTriggerArguments(trf.parser)
65 
66  # Reconstruction arguments and outputs (use the factorised 'do it all' function)
67  addAllRecoArgs(trf)
68 
69  # Simulation and digitisation options
70  addCommonSimTrfArgs(trf.parser)
71  addCommonSimDigTrfArgs(trf.parser)
72  addCosmicsTrfArgs(trf.parser)
73  addBasicDigiArgs(trf.parser)
74  addSim_tfArgs(trf.parser)
75  addForwardDetTrfArgs(trf.parser)
76  addPileUpTrfArgs(trf.parser)
77  addCommonSimDigTrfArgs(trf.parser)
78  addTrackRecordArgs(trf.parser)
79 
80  return trf
81 
82 if __name__ == '__main__':
83  main()
python.trfArgs.addDetectorArguments
def addDetectorArguments(parser)
Options related to the setup of the ATLAS detector (used in simulation and digitisation as well as re...
Definition: trfArgs.py:229
python.trfArgs.addTriggerArguments
def addTriggerArguments(parser, addTrigFilter=True)
Add trigger related arguments.
Definition: trfArgs.py:515
python.simTrfArgs.addCommonSimTrfArgs
def addCommonSimTrfArgs(parser)
Add common Simulation transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:181
python.simTrfArgs.addCommonSimDigTrfArgs
def addCommonSimDigTrfArgs(parser)
Add common Simulation/Digitization transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:196
python.simTrfArgs.addSim_tfArgs
def addSim_tfArgs(parser)
Add arguments used only by ISF-based simulation jobs.
Definition: simTrfArgs.py:146
python.recTransformUtils.addRecoSubsteps
def addRecoSubsteps(executorSet)
Add reconstruction substeps to a set object.
Definition: recTransformUtils.py:96
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
python.simTrfArgs.addForwardDetTrfArgs
def addForwardDetTrfArgs(parser)
Add Forward Detector transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:13
python.SimTransformUtils.addDigitizationSubstep
def addDigitizationSubstep(executorSet, in_reco_chain=False)
Definition: SimTransformUtils.py:133
FullChain_tf.main
def main()
Definition: FullChain_tf.py:28
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
FullChain_tf.getTransform
def getTransform()
Definition: FullChain_tf.py:40
python.simTrfArgs.addBasicDigiArgs
def addBasicDigiArgs(parser)
Add Basic digitization arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:35
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
PyJobTransforms.trfExe
Transform execution functions.
python.recTransformUtils.addAllRecoArgs
def addAllRecoArgs(trf)
The standard suite of reconstruction specific arguments.
Definition: recTransformUtils.py:127
PyJobTransforms.trfLogger
Logging configuration for ATLAS job transforms.
python.simTrfArgs.addPileUpTrfArgs
def addPileUpTrfArgs(parser)
Add Pile-up related transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:73
PyJobTransforms.transform
Main package for new style ATLAS job transforms.
python.simTrfArgs.addCosmicsTrfArgs
def addCosmicsTrfArgs(parser)
Add Cosmics related transform arguments to an argparse ArgumentParser.
Definition: simTrfArgs.py:119
python.simTrfArgs.addTrackRecordArgs
def addTrackRecordArgs(parser)
Add arguments used by simulation jobs which may read in or write out TrackRecord files.
Definition: simTrfArgs.py:132