diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py index 418bed585ce49a7532cb5cef6133b24d2a033079..59b00909426c71860d128a2fa8323f579cd00087 100755 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py @@ -150,8 +150,8 @@ else: # ----------- Configuring the conditions access # # ------------------------------------------------------------ - - include ("InDetRecExample/InDetRecConditionsAccess.py") + if not rec.doAODMerging(): + include ("InDetRecExample/InDetRecConditionsAccess.py") # ------------------------------------------------------------ # @@ -159,7 +159,8 @@ else: # # ------------------------------------------------------------ - include ("InDetRecExample/InDetRecLoadTools.py") + if not rec.doAODMerging(): + include ("InDetRecExample/InDetRecLoadTools.py") # ------------------------------------------------------------ # @@ -1341,7 +1342,7 @@ else: # # # xAOD creation/conversion - if (InDetFlags.doxAOD()): + if (InDetFlags.doxAOD() and not rec.doAODMerging()): include("InDetRecExample/InDetxAODCreator.py") # Do post-processing algorithms (may depend on xAOD objects) diff --git a/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py b/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py index dbb4a11a5db9fcbe75f35b84e81875cca279eda5..cf9278429ccae67d20d673a5c7101187ae482ada 100755 --- a/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py +++ b/LArCalorimeter/LArDetDescr/share/LArDetDescr_joboptions.py @@ -7,15 +7,17 @@ print "now initializing the LAr readout geometry : standard Atlas flavour" include( "CaloConditions/CaloConditions_jobOptions.py" ) from AthenaCommon.GlobalFlags import globalflags +from RecExConfig.RecFlags import rec -if globalflags.DataSource() == 'geant4' : - include( "LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py" ) - include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" ) -elif globalflags.DataSource() == 'data' : - include( "LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py" ) - include( "LArConditionsCommon/LArIdMap_comm_jobOptions.py" ) -else : - raise RunTimeError, " from LArDetDescr_joboptions.py: DataSource not supported" +if not rec.doAODMerging(): + if globalflags.DataSource() == 'geant4' : + include( "LArConditionsCommon/LArConditionsCommon_MC_jobOptions.py" ) + include( "LArConditionsCommon/LArIdMap_MC_jobOptions.py" ) + elif globalflags.DataSource() == 'data' : + include( "LArConditionsCommon/LArConditionsCommon_comm_jobOptions.py" ) + include( "LArConditionsCommon/LArIdMap_comm_jobOptions.py" ) + else : + raise RunTimeError, " from LArDetDescr_joboptions.py: DataSource not supported" # must be included once only : include.block ("LArDetDescr/LArDetDescr_joboptions.py") diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py index 1d282eaad0e938d5c2482f0133ff661970b2b02c..b64199d8fd827cb2cfa0f18df62db176cba8b4c2 100755 --- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py +++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/share/MuonCombinedRec_config.py @@ -19,5 +19,6 @@ muonCombinedRecFlags.setDefaults() include ("MuonCombinedRecExample/MuonCombinedRec_preprocessing.py") include ("MuonCombinedRecExample/MuonCombinedRec_identification.py") - -include ("MuonCombinedRecExample/MuonCombinedRec_postprocessing.py") + +if not rec.doAODMerging(): + include ("MuonCombinedRecExample/MuonCombinedRec_postprocessing.py") diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py index 3844a5ee537c924520f1f98c0a9e117be1cce142..f82e59fb19d55499c40b6daee616769727ef19cf 100755 --- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py +++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py @@ -90,6 +90,7 @@ excludeTracePattern.append("*/DQDefects/virtual*") excludeTracePattern.append("*/PanTauAnalysis/Class_FeatureHandler.py") excludeTracePattern.append("*/TrigEDMConfig/TriggerEDM.py") excludeTracePattern.append("*/TrigL2MissingET/TrigL2MissingETMonitoring.py") +excludeTracePattern.append("*AthFile/impl.py") ##################### # Flags (separated) # ##################### diff --git a/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py b/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py index 57aaf14b3abba48cd5088cd1c4c75a223480e8b5..6645f9aee68ac8694f0560dcbbfdfe7dbc41ffe4 100755 --- a/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py +++ b/Reconstruction/RecExample/RecExCond/share/AllDet_detDescr.py @@ -6,6 +6,7 @@ include ("RecExCond/RecExCommon_DetFlags.py") from AthenaCommon.Logging import logging from AthenaCommon.Resilience import treatException,protectedInclude +from RecExConfig.RecFlags import rec logAllDet_detDescr = logging.getLogger( 'AllDet_detDescr' ) @@ -23,19 +24,19 @@ if DetFlags.detdescr.any_on(): from AtlasGeoModel import GeoModelInit from AtlasGeoModel import SetupRecoGeometry - if DetFlags.detdescr.Tile_on(): + if DetFlags.detdescr.Tile_on() and not rec.doAODMerging(): protectedInclude( "TileConditions/TileConditions_jobOptions.py" ) - if DetFlags.detdescr.Calo_on(): + if DetFlags.detdescr.Calo_on() and not rec.doAODMerging(): protectedInclude( "CaloIdCnv/CaloIdCnv_joboptions.py" ) #FIXME tile and lar not independent protectedInclude( "TileIdCnv/TileIdCnv_jobOptions.py" ) - if DetFlags.detdescr.LAr_on(): + if DetFlags.detdescr.LAr_on() and not rec.doAODMerging(): try: include( "LArDetDescr/LArDetDescr_joboptions.py" ) except Exception: @@ -53,11 +54,11 @@ if DetFlags.detdescr.any_on(): # Beam Spot service (only if ID requested) from AthenaCommon.GlobalFlags import globalflags # use even if commisisoning and not globalflags.DetGeo=='commis' : - if DetFlags.detdescr.ID_on(): + if DetFlags.detdescr.ID_on() and not rec.doAODMerging(): protectedInclude("InDetBeamSpotService/BeamCondSvc.py" ) - if DetFlags.detdescr.Muon_on(): + if DetFlags.detdescr.Muon_on() and not rec.doAODMerging(): protectedInclude ("AmdcAth/AmdcAth_jobOptions.py") #if DetDescrVersion[0:3]=="DC2": @@ -73,7 +74,7 @@ if DetFlags.detdescr.any_on(): # MagneticField Service - if DetFlags.detdescr.BField_on(): + if DetFlags.detdescr.BField_on() and not rec.doAODMerging(): #protectedInclude( "BFieldAth/BFieldAth_jobOptions.py" ) import MagFieldServices.SetupField diff --git a/Reconstruction/RecExample/RecExConfig/python/RecFlags.py b/Reconstruction/RecExample/RecExConfig/python/RecFlags.py index e4a83c82d45987f6dd7b3f234397d013823666ab..0061315d54c81f623881de227e53faa952e25fba 100755 --- a/Reconstruction/RecExample/RecExConfig/python/RecFlags.py +++ b/Reconstruction/RecExample/RecExConfig/python/RecFlags.py @@ -523,6 +523,15 @@ class noESDTrigger(JobProperty): allowedTypes=['bool'] StoredValue=False # + +class doAODMerging(JobProperty): + """ specify that this is an aod merging job """ + statusOn=True + allowedTypes=['bool'] + StoredValue=False +# + + class OutputLevel(JobProperty): """ General msg output level VERBOSE DEBUG INFO look here mgallas @@ -1020,7 +1029,7 @@ doWriteAOD, doWritexAOD, doWriteESD, doWriteBS, doWriteRDO, doWriteTAG, doWriteT readESD, doDetStatus, AMITag, AutoConfiguration, RunNumber, triggerStream, projectName, \ doInDet,doLArg,doTile,doCalo,doMuon,doForwardDet,doLucid,doZdc,doAlfa,doAFP,doFwdRegion,doJetMissingETTag,doEgamma,doMuonCombined,doTau,doFTK,doTrigger,doBTagging, Production, doPhysValMonHists, \ doHeavyIon, doHIP, doLowPt, doMinimalRec, noESDTrigger,doFileMetaData,ScopingLevel, Commissioning, oldRecExCommissionConfig, mergingStreamName, LCGCMTVersion, \ -AtlasReleaseVersion, inputFileFromAthenaVersion, doApplyAODFix, doAODSelect, doRDOTrigger, doFastPhysMonitoring, RootFastPhysMonOutput,doWriteCalibHits, doTriggerFilter, triggerFilterList, doContainerRemapping, doPhysicsValidationAugmentation, doESDReconstruction, doExpressProcessing, doPersistencyOptimization, doCaloRinger] +AtlasReleaseVersion, inputFileFromAthenaVersion, doApplyAODFix, doAODSelect, doRDOTrigger, doFastPhysMonitoring, RootFastPhysMonOutput,doWriteCalibHits, doTriggerFilter, triggerFilterList, doContainerRemapping, doPhysicsValidationAugmentation, doESDReconstruction, doExpressProcessing, doPersistencyOptimization, doCaloRinger, doAODMerging] for j in _list_Rec: jobproperties.Rec.add_JobProperty(j) del _list_Rec diff --git a/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py index 106415ec12aac9cf7c0f9fa3629e91fd25f5d916..a389ed15e298455a69b322ab3bf4743498e06009 100644 --- a/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py +++ b/Reconstruction/RecJobTransforms/share/skeleton.MergePool_tf.py @@ -42,6 +42,8 @@ if hasattr(runArgs,"inputAODFile"): rec.readAOD.set_Value_and_Lock( True ) rec.doWriteAOD.set_Value_and_Lock( True ) athenaCommonFlags.PoolAODInput.set_Value_and_Lock( runArgs.inputAODFile ) + rec.doAODMerging.set_Value_and_Lock(True) + rec.doApplyAODFix.set_Value_and_Lock(False) if hasattr(runArgs,"inputESDFile"): rec.readESD.set_Value_and_Lock( True ) @@ -68,6 +70,7 @@ if hasattr(runArgs,"preInclude"): rec.doAOD.lock() rec.doESD.lock() + include( "RecExCommon/RecExCommon_topOptions.py" ) if rec.doWriteAOD: