diff --git a/Reconstruction/egamma/egammaValidation/CMakeLists.txt b/Reconstruction/egamma/egammaValidation/CMakeLists.txt index cb8720d005d0302c806bee02ab0000d22afdc39a..534847aa7ed5e7671320b73c7b8cba46fb316b5f 100644 --- a/Reconstruction/egamma/egammaValidation/CMakeLists.txt +++ b/Reconstruction/egamma/egammaValidation/CMakeLists.txt @@ -7,8 +7,11 @@ atlas_subdir( egammaValidation ) atlas_add_component ( egammmaValidation src/*.cxx src/components/*.cxx - LINK_LIBRARIES AsgTools AthenaBaseComps EgammaAnalysisInterfacesLib GaudiKernel IsolationSelectionLib MCTruthClassifierLib PATCoreAcceptLib xAODBase xAODEgamma xAODEventInfo xAODTracking xAODTruth ) + LINK_LIBRARIES AsgTools AthenaBaseComps EgammaAnalysisInterfacesLib GaudiKernel IsolationSelectionLib + MCTruthClassifierLib PATCoreAcceptLib xAODBase xAODEgamma xAODEventInfo + xAODTracking xAODTruth ) +atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) # Install JO files from the package: atlas_install_joboptions( share/*.py ) # ART shell executable scripts : diff --git a/Reconstruction/egamma/egammaValidation/python/egammaOnlyPreExec.py b/Reconstruction/egamma/egammaValidation/python/egammaOnlyPreExec.py new file mode 100644 index 0000000000000000000000000000000000000000..a30d147a65a5afa5f77bddfd9f7d2267ad3d40d5 --- /dev/null +++ b/Reconstruction/egamma/egammaValidation/python/egammaOnlyPreExec.py @@ -0,0 +1,29 @@ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + +from ParticleBuilderOptions.AODFlags import AODFlags +from RecExConfig.RecAlgsFlags import recAlgs +from RecExConfig.RecFlags import rec +from JetRec.JetRecFlags import jetFlags + + +def setRunEgammaOnlyRecoFlags(): + rec.doTrigger.set_Value_and_Lock(False) + rec.doTau.set_Value_and_Lock(False) + rec.doMuon.set_Value_and_Lock(False) + rec.doBTagging.set_Value_and_Lock(False) + recAlgs.doMuonSpShower.set_Value_and_Lock(False) + recAlgs.doEFlow.set_Value_and_Lock(False) + recAlgs.doEFlowJet.set_Value_and_Lock(False) + recAlgs.doMissingET.set_Value_and_Lock(False) + recAlgs.doMissingETSig.set_Value_and_Lock(False) + recAlgs.doTrigger.set_Value_and_Lock(False) + AODFlags.ThinGeantTruth.set_Value_and_Lock(False) + AODFlags.egammaTrackSlimmer.set_Value_and_Lock(False) + AODFlags.ThinInDetForwardTrackParticles.set_Value_and_Lock(False) + AODFlags.ThinNegativeEnergyNeutralPFOs.set_Value_and_Lock(False) + jetFlags.Enabled = False + + +def setRunEgammaOnlyMergeFlags(): + rec.doTrigger.set_Value_and_Lock(False) + recAlgs.doTrigger.set_Value_and_Lock(False) diff --git a/Reconstruction/egamma/egammaValidation/share/egamma_art_checker_joboptions.py b/Reconstruction/egamma/egammaValidation/share/egamma_art_checker_joboptions.py index cb3fed355cf6d408d885172e2530c2b8bd08e487..6570b2a068df86fb9eb1ec845e848d2613cde3d2 100755 --- a/Reconstruction/egamma/egammaValidation/share/egamma_art_checker_joboptions.py +++ b/Reconstruction/egamma/egammaValidation/share/egamma_art_checker_joboptions.py @@ -1,35 +1,35 @@ # -# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration. +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration. # -from AthenaCommon.AppMgr import theApp -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AlgSequence import AlgSequence -from GaudiSvc.GaudiSvcConf import THistSvc +from AtlasGeoModel import GeoModelInit +from AtlasGeoModel import SetGeometryVersion +from AthenaCommon.GlobalFlags import jobproperties +from AthenaCommon.DetFlags import DetFlags +from AthenaCommon.GlobalFlags import globalflags +from AthenaCommon.AppMgr import theApp +from AthenaCommon.AppMgr import ServiceMgr as svcMgr +from AthenaCommon.AlgSequence import AlgSequence +from GaudiSvc.GaudiSvcConf import THistSvc import AthenaPoolCnvSvc.ReadAthenaPool from MCTruthClassifier.MCTruthClassifierConf import MCTruthClassifier -MCClassifier = MCTruthClassifier( name = "MCTruthClassifier", - ParticleCaloExtensionTool = "" ) +MCClassifier = MCTruthClassifier(name="MCTruthClassifier", + ParticleCaloExtensionTool="") ToolSvc += MCClassifier # Ouput Message Level svcMgr.MessageSvc.OutputLevel = INFO -Geometry="ATLAS-R2-2016-01-00-01" -from AthenaCommon.GlobalFlags import globalflags +Geometry = "ATLAS-R2-2016-01-00-01" globalflags.DetGeo.set_Value_and_Lock('atlas') -from AthenaCommon.DetFlags import DetFlags DetFlags.detdescr.all_setOn() DetFlags.Forward_setOff() DetFlags.ID_setOff() -from AthenaCommon.GlobalFlags import jobproperties -jobproperties.Global.DetDescrVersion=Geometry +jobproperties.Global.DetDescrVersion = Geometry -from AtlasGeoModel import SetGeometryVersion -from AtlasGeoModel import GeoModelInit -include( "CaloDetMgrDetDescrCnv/CaloDetMgrDetDescrCnv_joboptions.py" ) -include( "LArDetDescr/LArDetDescr_joboptions.py" ) +include("CaloDetMgrDetDescrCnv/CaloDetMgrDetDescrCnv_joboptions.py") +include("LArDetDescr/LArDetDescr_joboptions.py") # ART File @@ -38,7 +38,7 @@ svcMgr.EventSelector.InputCollections = [testFile] job = CfgMgr.AthSequencer("AthAlgSeq") -job += CfgMgr.EgammaMonitoring('MonitoringAlg', sampleType = particleType) +job += CfgMgr.EgammaMonitoring('MonitoringAlg', sampleType=particleType) theApp.EvtMax = 60000 @@ -46,7 +46,8 @@ theApp.EvtMax = 60000 outputFile = 'Nightly-monitoring_'+particleType+'.hist.root' svcMgr += CfgMgr.THistSvc() -svcMgr.THistSvc.Output = ["MONITORING DATAFILE='"+outputFile+"' OPT='RECREATE'"] +svcMgr.THistSvc.Output = [ + "MONITORING DATAFILE='"+outputFile+"' OPT='RECREATE'"] -print ( "\n\nALL OK\n\n" ) +print("\n\nALL OK\n\n") diff --git a/Reconstruction/egamma/egammaValidation/test/test_electron.sh b/Reconstruction/egamma/egammaValidation/test/test_electron.sh index 3cbb7046e1ced4af548762a0cb754c10d9f41465..7d0918b9178aaef52e7248f9fa957d282dd19e20 100755 --- a/Reconstruction/egamma/egammaValidation/test/test_electron.sh +++ b/Reconstruction/egamma/egammaValidation/test/test_electron.sh @@ -29,7 +29,7 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_electron.pool.root --outputAOD_MRGFile=Nightly_AOD_electron.pool.root --preExec "from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" + AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_electron.pool.root --outputAOD_MRGFile=Nightly_AOD_electron.pool.root --preExec "from egammaValidation.egammaOnlyPreExec import setRunEgammaOnlyMergeFlags; setRunEgammaOnlyMergeFlags()" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" echo "art-result: $? AODMerge" @@ -67,7 +67,8 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - Reco_tf.py --inputRDOFile=$x --outputAODFile=Nightly_AOD_electron.pool.root --maxEvents=2000 --autoConfiguration="everything" --preExec="from ParticleBuilderOptions.AODFlags import AODFlags; AODFlags.ThinGeantTruth.set_Value_and_Lock(False);AODFlags.egammaTrackSlimmer.set_Value_and_Lock(False);AODFlags.ThinInDetForwardTrackParticles.set_Value_and_Lock(False); AODFlags.ThinNegativeEnergyNeutralPFOs.set_Value_and_Lock(False); rec.doTrigger=False; rec.doTau=False ; rec.doMuon=False; rec.doBTagging=False ; from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doMuonSpShower=False ; recAlgs.doEFlow=False ; recAlgs.doEFlowJet=False ; recAlgs.doMissingET=False ; recAlgs.doMissingETSig=False ; recAlgs.doTrigger=False ; from JetRec.JetRecFlags import jetFlags ; jetFlags.Enabled=False ; " --postInclude "ESDtoAOD:egammaValidation/egammaArtCaloCalPostInclude.py" "POOLMergeAthenaMPAOD0:egammaValidation/egammaArtCaloCalPostInclude.py" + Reco_tf.py --inputRDOFile=$x --outputAODFile=Nightly_AOD_electron.pool.root --maxEvents=2000 --autoConfiguration="everything" --preExec="from egammaValidation.egammaOnlyPreExec import setRunEgammaOnlyRecoFlags; setRunEgammaOnlyRecoFlags()" --postInclude "ESDtoAOD:egammaValidation/egammaArtCaloCalPostInclude.py" "POOLMergeAthenaMPAOD0:egammaValidation/egammaArtCaloCalPostInclude.py" + echo "art-result: $? reconstruction" diff --git a/Reconstruction/egamma/egammaValidation/test/test_electron_pileup.sh b/Reconstruction/egamma/egammaValidation/test/test_electron_pileup.sh index eefaece530862c357fa344f8d9caec95375d9656..c1fe227cba5a8779715029dd7f60c9d3ebe1edab 100755 --- a/Reconstruction/egamma/egammaValidation/test/test_electron_pileup.sh +++ b/Reconstruction/egamma/egammaValidation/test/test_electron_pileup.sh @@ -29,7 +29,7 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_electron.pool.root --outputAOD_MRGFile=Nightly_AOD_electron.pool.root --preExec "from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" + AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_electron.pool.root --outputAOD_MRGFile=Nightly_AOD_electron.pool.root --preExec "from egammaValidation.egammaOnlyPreExec import setRunEgammaOnlyMergeFlags; setRunEgammaOnlyMergeFlags()" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" echo "art-result: $? AODMerge" set +e @@ -65,7 +65,7 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - Reco_tf.py --inputRDOFile=$x --outputAODFile=Nightly_AOD_electron.pool.root --maxEvents=2000 --autoConfiguration="everything" --preExec="from ParticleBuilderOptions.AODFlags import AODFlags; AODFlags.ThinGeantTruth.set_Value_and_Lock(False);AODFlags.egammaTrackSlimmer.set_Value_and_Lock(False);AODFlags.ThinInDetForwardTrackParticles.set_Value_and_Lock(False);AODFlags.ThinNegativeEnergyNeutralPFOs.set_Value_and_Lock(False); rec.doTrigger=False; rec.doTau=False ; rec.doMuon=False; rec.doBTagging=False ; from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doMuonSpShower=False ; recAlgs.doEFlow=False ; recAlgs.doEFlowJet=False ; recAlgs.doMissingET=False ; recAlgs.doMissingETSig=False ; recAlgs.doTrigger=False ; from JetRec.JetRecFlags import jetFlags ; jetFlags.Enabled=False ; " --postInclude "ESDtoAOD:egammaValidation/egammaArtCaloCalPostInclude.py" "POOLMergeAthenaMPAOD0:egammaValidation/egammaArtCaloCalPostInclude.py" + Reco_tf.py --inputRDOFile=$x --outputAODFile=Nightly_AOD_electron.pool.root --maxEvents=2000 --autoConfiguration="everything" --preExec="from egammaValidation.egammaOnlyPreExec import setRunEgammaOnlyRecoFlags; setRunEgammaOnlyRecoFlags()" --postInclude "ESDtoAOD:egammaValidation/egammaArtCaloCalPostInclude.py" "POOLMergeAthenaMPAOD0:egammaValidation/egammaArtCaloCalPostInclude.py" echo "art-result: $? reconstruction" diff --git a/Reconstruction/egamma/egammaValidation/test/test_gamma.sh b/Reconstruction/egamma/egammaValidation/test/test_gamma.sh index b9a4f6dc4ebf07b2849edceb559aaf1c2826e2e2..22ff7aca1b011bc7292dc1c2fafd80a14717a36e 100755 --- a/Reconstruction/egamma/egammaValidation/test/test_gamma.sh +++ b/Reconstruction/egamma/egammaValidation/test/test_gamma.sh @@ -30,7 +30,7 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_gamma.pool.root --outputAOD_MRGFile=Nightly_AOD_gamma.pool.root --preExec "from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" + AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_gamma.pool.root --outputAOD_MRGFile=Nightly_AOD_gamma.pool.root --preExec "rec.doTrigger=False; from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" echo "art-result: $? AODMerge" diff --git a/Reconstruction/egamma/egammaValidation/test/test_gamma_pileup.sh b/Reconstruction/egamma/egammaValidation/test/test_gamma_pileup.sh index f02696fe63d3cc76dacbf4e23c65de02f0145226..8b7be4f921ad6cc76a95fa4025f5a879fc9f16aa 100755 --- a/Reconstruction/egamma/egammaValidation/test/test_gamma_pileup.sh +++ b/Reconstruction/egamma/egammaValidation/test/test_gamma_pileup.sh @@ -30,7 +30,7 @@ case $ArtProcess in echo "Unsetting ATHENA_NUM_PROC=${ATHENA_NUM_PROC}" unset ATHENA_NUM_PROC - AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_gamma.pool.root --outputAOD_MRGFile=Nightly_AOD_gamma.pool.root --preExec "from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" + AODMerge_tf.py --inputAODFile=art_core_*/Nightly_AOD_gamma.pool.root --outputAOD_MRGFile=Nightly_AOD_gamma.pool.root --preExec "rec.doTrigger=False; from RecExConfig.RecAlgsFlags import recAlgs; recAlgs.doTrigger=False" --postInclude "all:egammaValidation/egammaArtCaloCalPostInclude.py" echo "art-result: $? AODMerge"