From 8e5e36d738aa174aa48409c2e8f0f48183899125 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 21 Apr 2021 21:43:35 +0200 Subject: [PATCH 01/36] Remove jets and event shapes from AOD content --- .../Jet/JetRec/share/JetRec_jobOptions.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py b/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py index b53e8a758c3..60de03b79b4 100644 --- a/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py +++ b/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py @@ -82,11 +82,9 @@ if jetFlags.detailLevel()==JetContentDetail.Validation: # For release 19, the container version must be explicit. for jetrec in jtm.jetrecs: - jetFlags.jetAODList += [ "xAOD::JetContainer#" + jetrec.name() ] - auxprefix = "" if jetrec.Trigger: - auxprefix = "Trig" - jetFlags.jetAODList += [ "xAOD::Jet" + auxprefix + "AuxContainer#" + jetrec.name() + "Aux." ] + jetFlags.jetAODList += [ "xAOD::JetContainer#" + jetrec.name() ] + jetFlags.jetAODList += [ "xAOD::JetTrigAuxContainer#" + jetrec.name() + "Aux." ] if jetFlags.useTracks() and jetFlags.useTopo(): jetFlags.jetAODList += [ "xAOD::CaloClusterContainer#EMOriginTopoClusters" , @@ -113,11 +111,4 @@ if jetFlags.debug > 1: from JetRec.JetAlgorithm import addJetRecoToAlgSequence addJetRecoToAlgSequence() -#-------------------------------------------------------------- -# save event shapes set with the JetAlgorithm -#-------------------------------------------------------------- -for esTool in jtm.allEDTools: - jetFlags.jetAODList += [ "xAOD::EventShape#%s" % esTool.OutputContainer, - "xAOD::EventShapeAuxInfo#%sAux." % esTool.OutputContainer ] - jetlog.info( myname + "End." ) -- GitLab From f0e0a80225ba2328e8ef35a84fc0bce2b08ea701 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 23 Apr 2021 14:24:15 +0200 Subject: [PATCH 02/36] Remove obsolete PFO collections from AOD --- .../eflowRec/share/eflowRecAODList.py | 20 ++++++---------- .../eflowRec/share/eflowRecESDList.py | 23 +++++++------------ 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/Reconstruction/eflowRec/share/eflowRecAODList.py b/Reconstruction/eflowRec/share/eflowRecAODList.py index 5077336456d..db9ef75497d 100644 --- a/Reconstruction/eflowRec/share/eflowRecAODList.py +++ b/Reconstruction/eflowRec/share/eflowRecAODList.py @@ -11,22 +11,16 @@ if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": eflowRecAODList += [ "xAOD::PFOAuxContainer#EOverPChargedParticleFlowObjectsAux."] eflowRecAODList += [ "xAOD::PFOAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] else: - eflowRecAODList += [ "xAOD::PFOContainer#JetETMissChargedParticleFlowObjects"] - eflowRecAODList += [ "xAOD::PFOContainer#JetETMissNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] - eflowRecAODList += [ "xAOD::PFOAuxContainer#JetETMissChargedParticleFlowObjectsAux."] - eflowRecAODList += [ "xAOD::PFOAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+excludeList] + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList] + + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."] if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: eflowRecAODList += [ "xAOD::CaloClusterContainer#PFCaloCluster"] eflowRecAODList += [ "xAOD::CaloClusterAuxContainer#PFCaloClusterAux."] -#Add new flow elements -eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedFlowElements"] -eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedFlowElementsAux."] - -eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissNeutralFlowElements"] -eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralFlowElementsAux."+FlowElementNeutralExcludeList] - -eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralFlowElements"] -eflowRecAODList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralFlowElementsAux."] \ No newline at end of file diff --git a/Reconstruction/eflowRec/share/eflowRecESDList.py b/Reconstruction/eflowRec/share/eflowRecESDList.py index 0533c9c570f..b17a70998ab 100644 --- a/Reconstruction/eflowRec/share/eflowRecESDList.py +++ b/Reconstruction/eflowRec/share/eflowRecESDList.py @@ -11,22 +11,15 @@ if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": eflowRecESDList += [ "xAOD::PFOAuxContainer#EOverPChargedParticleFlowObjectsAux."] eflowRecESDList += [ "xAOD::PFOAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] else: - eflowRecESDList += [ "xAOD::PFOContainer#JetETMissChargedParticleFlowObjects"] - eflowRecESDList += [ "xAOD::PFOContainer#JetETMissNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] - eflowRecESDList += [ "xAOD::PFOAuxContainer#JetETMissChargedParticleFlowObjectsAux."] - eflowRecESDList += [ "xAOD::PFOAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+excludeList] + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList] + + eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."] if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: eflowRecESDList += [ "xAOD::CaloClusterContainer#PFCaloCluster"] - eflowRecESDList += [ "xAOD::CaloClusterAuxContainer#PFCaloClusterAux."] - -#Add new flow elements -eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissChargedFlowElements"] -eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedFlowElementsAux."] - -eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissNeutralFlowElements"] -eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralFlowElementsAux."+FlowElementNeutralExcludeList] - -eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralFlowElements"] -eflowRecESDList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralFlowElementsAux."] \ No newline at end of file + eflowRecESDList += [ "xAOD::CaloClusterAuxContainer#PFCaloClusterAux."] \ No newline at end of file -- GitLab From 5373605ae35c79ec336f864f7525009a802fae58 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Mon, 14 Jun 2021 15:51:17 +0200 Subject: [PATCH 03/36] Remove MET from standard AOD content --- .../METReconstructionOutputAODList_jobOptions.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py index 7474135f61e..d3b5a6c019b 100644 --- a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py +++ b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py @@ -1,26 +1,15 @@ MissingETAODList = [] -outputlist = [] from METReconstruction.METRecoFlags import metFlags -if len(metFlags.METOutputList())==0: - outputlist = ['Truth','EMTopo','LocHadTopo','Calo','Track', - 'TruthRegions','EMTopoRegions','LocHadTopoRegions'] -else: - outputlist = metFlags.METOutputList() -for config in outputlist: +for config in metFlags.METOutputList(): MissingETAODList.append( 'xAOD::MissingETContainer#MET_'+config ) MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_'+config+'Aux.' ) if config == 'Truth': MissingETAODList.append( 'xAOD::MissingETComponentMap#METMap_'+config ) MissingETAODList.append( 'xAOD::MissingETAuxComponentMap#METMap_'+config+'Aux.' ) -if len(metFlags.METAssocOutputList())==0: - assocoutput = ['AntiKt4LCTopo','AntiKt4EMTopo','AntiKt4EMPFlow'] - # assocoutput += ['Truth_AntiKt4LCTopo','Truth_AntiKt4EMTopo','Truth_AntiKt4EMPFlow'] -else: - assocoutput = metFlags.METAssocOutputList() -for config in assocoutput: +for config in metFlags.METAssocOutputList(): MissingETAODList.append( 'xAOD::MissingETAssociationMap#METAssoc_'+config ) MissingETAODList.append( 'xAOD::MissingETAuxAssociationMap#METAssoc_'+config+'Aux.' ) MissingETAODList.append( 'xAOD::MissingETContainer#MET_Core_'+config ) -- GitLab From 487b77c8d198dfe9a27fe28f862d0a032619cc28 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Tue, 15 Jun 2021 17:29:19 +0200 Subject: [PATCH 04/36] Replace standard PFO collections with FlowElements --- .../python/ThinNegativeEnergyNeutralPFOs.py | 10 +-- .../src/ThinNegativeEnergyNeutralPFOsAlg.cxx | 61 +++++----------- .../src/ThinNegativeEnergyNeutralPFOsAlg.h | 11 ++- .../share/PHYSVAL.py | 2 +- .../PFlowCalibHitDecorator_algorithms.py | 5 -- .../PFlowCalibHitDecorator_jobOptions.py | 6 +- .../src/PFlowCalibPFODecoratorAlgorithm.cxx | 34 +-------- .../src/PFlowCalibPFODecoratorAlgorithm.h | 19 +---- .../PFChargedFlowElementCreatorAlgorithm.h | 2 +- .../eflowRec/PFEGamFlowElementAssoc.h | 4 +- .../PFLCNeutralFlowElementCreatorAlgorithm.h | 4 +- .../eflowRec/PFMuonFlowElementAssoc.h | 12 ++-- .../PFNeutralFlowElementCreatorAlgorithm.h | 2 +- .../eflowRec/eflowRec/PFTauFlowElementAssoc.h | 8 +-- Reconstruction/eflowRec/python/PFCfg.py | 4 +- .../eflowRec/python/eflowRecFlags.py | 13 ---- .../eflowRec/share/PFlowMTConfig.py | 70 +++++++------------ .../eflowRec/share/eflowRecAODList.py | 8 +-- .../eflowRec/share/eflowRecESDList.py | 8 +-- .../eflowRec/share/run_ESDPFlowRecoR22.py | 1 - .../share/run_ESDPFlowRecoR22_EOverP.py | 1 - .../share/run_ESDStandardReco_FlowElements.py | 2 - .../eflowRec/share/tauFELinkConfig.py | 4 +- .../eflowRec/share/validateFlowElements.py | 4 +- .../eflowRec/src/PFEGamFlowElementAssoc.cxx | 8 +-- .../eflowRec/src/PFTauFlowElementAssoc.cxx | 4 +- 26 files changed, 94 insertions(+), 213 deletions(-) diff --git a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py index e516070d80e..ceca943521f 100644 --- a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py +++ b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py @@ -18,10 +18,10 @@ class ThinNegativeEnergyNeutralPFOs(Configured): StreamName = 'StreamAOD' ) from RecExConfig.ObjKeyStore import cfgKeyStore - if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissNeutralFlowElements',): - theNegativeEnergyNeutralPFOsThinner.NeutralPFOsFEKey = "JetETMissNeutralFlowElements" - if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissLCNeutralFlowElements',): - theNegativeEnergyNeutralPFOsThinner.LCNeutralPFOsFEKey = "JetETMissLCNeutralFlowElements" + if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissNeutralParticleFlowObjects',): + theNegativeEnergyNeutralPFOsThinner.NeutralPFOsFEKey = "JetETMissNeutralParticleFlowObjects" + if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissLCNeutralParticleFlowObjects',): + theNegativeEnergyNeutralPFOsThinner.LCNeutralPFOsFEKey = "JetETMissLCNeutralParticleFlowObjects" print (theNegativeEnergyNeutralPFOsThinner) CHSnPFOsThinAlg = None @@ -29,7 +29,7 @@ class ThinNegativeEnergyNeutralPFOs(Configured): from JetRec.JetRecFlags import jetFlags if (jetFlags.useTracks or - cfgKeyStore.isInInput ('xAOD::PFOContainer', + cfgKeyStore.isInInput ('xAOD::FlowElementContainer', 'CHSNeutralParticleFlowObjects')): CHSnPFOsThinAlg = ThinNegativeEnergyNeutralPFOsAlg( "ThinNegativeEnergyCHSNeutralPFOsAlg", diff --git a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx index d40edcf602e..0473febbd56 100644 --- a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx +++ b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx @@ -66,8 +66,7 @@ StatusCode ThinNegativeEnergyNeutralPFOsAlg::initialize() return StatusCode::FAILURE; } ATH_CHECK( m_neutralPFOsKey.initialize (m_streamName, m_doThinning && !m_neutralPFOsKey.key().empty()) ); - ATH_CHECK( m_neutralPFOsFEKey.initialize (m_streamName, m_doThinning && !m_neutralPFOsFEKey.key().empty()) ); - ATH_CHECK( m_LCNeutralPFOsFEKey.initialize (m_streamName, m_doThinning && !m_LCNeutralPFOsFEKey.key().empty()) ); + ATH_CHECK( m_LCNeutralPFOsKey.initialize (m_streamName, m_doThinning && !m_LCNeutralPFOsKey.key().empty()) ); // Initialize the counters to zero m_nEventsProcessed = 0; @@ -97,53 +96,29 @@ StatusCode ThinNegativeEnergyNeutralPFOsAlg::execute() ++m_nEventsProcessed; // Is truth thinning required? - if (!m_doThinning) { + if (!m_doThinning || m_neutralPFOsKey.key().empty()) { return StatusCode::SUCCESS; } const EventContext& ctx = Gaudi::Hive::currentContext(); - - if(!m_neutralPFOsKey.key().empty()){ - - // Retrieve the container - SG::ThinningHandle neutralPFOs (m_neutralPFOsKey, ctx); - - // Set up masks - std::vector mask; - int nNeutralPFOs = neutralPFOs->size(); - m_nNeutralPFOsProcessed += nNeutralPFOs; - mask.assign(nNeutralPFOs,false); - - // Loop over NeutralPFOs and update mask - for (int i=0; iptEM()>0.0) {mask[i] = true;} - else {++m_nNeutralPFOsThinned;} - } - - // Apply masks to thinning service - neutralPFOs.keep (mask); + + SG::ThinningHandle neutralFEs (m_neutralPFOsKey, ctx); + std::vector mask; + int nNeutralFEs = neutralFEs->size(); + m_nNeutralPFOsProcessed += nNeutralPFOs; + mask.assign(nNeutralFEs, false); + + for(int i=0; ipt() > 0.0) mask[i] = true; + else m_nNeutralPFOsThinned++; } + neutralFEs.keep(mask); - if(!m_neutralPFOsFEKey.key().empty()){ - SG::ThinningHandle neutralFEs (m_neutralPFOsFEKey, ctx); - std::vector mask; - int nNeutralFEs = neutralFEs->size(); - mask.assign(nNeutralFEs, false); - - for(int i=0; ipt() > 0.0) mask[i] = true; - } - neutralFEs.keep(mask); - - if(!m_LCNeutralPFOsFEKey.key().empty()){ - SG::ThinningHandle LCNeutralFEs (m_LCNeutralPFOsFEKey, ctx); - LCNeutralFEs.keep(mask); - } + if(!m_LCNeutralPFOsKey.key().empty()){ + SG::ThinningHandle LCNeutralFEs (m_LCNeutralPFOsKey, ctx); + // LC PFOs are thinned based on the energy of the (EM-scale) originals + LCNeutralFEs.keep(mask); } return StatusCode::SUCCESS; } diff --git a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.h b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.h index 3e2636c5ac0..4d761f3596e 100644 --- a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.h +++ b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.h @@ -22,7 +22,6 @@ #include "AthenaBaseComps/AthAlgorithm.h" #include "StoreGate/ThinningHandleKey.h" -#include "xAODPFlow/PFOContainer.h" #include "xAODPFlow/FlowElementContainer.h" class ThinNegativeEnergyNeutralPFOsAlg @@ -54,12 +53,10 @@ private: { this, "ThinNegativeEnergyNeutralPFOs", true, "Should the thinning of negative energy neutral PFOs be run?" }; /// Names of the containers to thin - SG::ThinningHandleKey m_neutralPFOsKey - { this, "NeutralPFOsKey", "JetETMissNeutralParticleFlowObjects", "StoreGate key for the PFOContainer to be thinned (if any)" }; - SG::ThinningHandleKey m_neutralPFOsFEKey - { this, "NeutralPFOsFEKey", "", "StoreGate key for the FlowElementContainer to be thinned (if any)" }; - SG::ThinningHandleKey m_LCNeutralPFOsFEKey - { this, "LCNeutralPFOsFEKey", "", "StoreGate key for the LC FlowElementContainer to be thinned (if any)" }; + SG::ThinningHandleKey m_neutralPFOsKey + { this, "NeutralPFOsKey", "", "StoreGate key for the FlowElementContainer to be thinned" }; + SG::ThinningHandleKey m_LCNeutralPFOsKey + { this, "LCNeutralPFOsKey", "", "StoreGate key for the LC FlowElementContainer to be thinned (if any)" }; /// Counters unsigned long m_nEventsProcessed; diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py index 4cf7aaf025d..65e26b5a6bc 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py @@ -220,7 +220,7 @@ PHYSVALSlimmingHelper.AllVariables = ["Electrons", "ForwardElectrons", "MuonTruthSegments", "MET_Truth","MET_TruthRegions", "TruthElectrons","TruthMuons","TruthPhotons","TruthTaus","TruthNeutrinos","TruthBSM","TruthTop","TruthBoson", - "CaloCalTopoClusters", "JetETMissChargedParticleFlowObjects", "JetETMissNeutralParticleFlowObjects", "JetETMissNeutralFlowElements", "JetETMissChargedFlowElements" + "CaloCalTopoClusters", "JetETMissChargedParticleFlowObjects", "JetETMissNeutralParticleFlowObjects" ] excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV" diff --git a/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_algorithms.py b/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_algorithms.py index c83edc37c45..e69c0e73859 100644 --- a/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_algorithms.py +++ b/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_algorithms.py @@ -14,10 +14,5 @@ from PFlowUtils.PFlowUtilsConf import PFlowCalibPFODecoratorAlgorithm PFlowCalibPFODecoratorAlgorithm = PFlowCalibPFODecoratorAlgorithm() PFlowCalibPFOTruthAttributerTool = CalibClusterTruthAttributerTool("PFlowCalibPFOTruthAttributerTool") PFlowCalibPFODecoratorAlgorithm.TruthAttributerTool = PFlowCalibPFOTruthAttributerTool -#allow flow element decoration if the eflowRec JO permits it - -from eflowRec.eflowRecFlags import jobproperties as jobprops -if(jobprops.eflowRecFlags.useFlowElements==True): - PFlowCalibPFODecoratorAlgorithm.useFlowElements=True topSequence+=PFlowCalibPFODecoratorAlgorithm diff --git a/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_jobOptions.py b/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_jobOptions.py index 233d1aea9b4..6ecaf89f35c 100644 --- a/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_jobOptions.py +++ b/Reconstruction/PFlow/PFlowUtils/share/PFlowCalibHitDecorator_jobOptions.py @@ -8,9 +8,6 @@ rec.doEgamma.set_Value_and_Lock(False) rec.doMuon.set_Value_and_Lock(False) rec.doTau.set_Value_and_Lock(False) -from eflowRec.eflowRecFlags import jobproperties as jobprops -jobprops.eflowRecFlags.useFlowElements.set_Value_and_Lock(False) - #Do not write out TAG file rec.doWriteTAG.set_Value_and_Lock(False) #Disable truth reco @@ -30,6 +27,5 @@ athenaCommonFlags.EvtMax=100 UserAlgs = ["PFlowUtils/PFlowCalibHitDecorator_algorithms.py"] include ("RecExCommon/RecExCommon_topOptions.py") #Add decoration to output item list -StreamAOD.ItemList+=['xAOD::PFOAuxContainer#JetETMissNeutralParticleFlowObjectsAux.+calpfo_NLeadingTruthParticleBarcodeEnergyPairs'] -StreamAOD.ItemList+=['xAOD::FlowElementAuxContainer#JetETMissNeutralFlowElementssAux.+calfe_NLeadingTruthParticleBarcodeEnergyPairs'] +StreamAOD.ItemList+=['xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux.+calfe_NLeadingTruthParticleBarcodeEnergyPairs'] StreamAOD.ItemList+=['xAOD::CaloClusterAuxContainer#CaloCalTopoClustersAux.SECOND_R.SECOND_LAMBDA.CENTER_MAG.CENTER_LAMBDA.ISOLATION.ENG_BAD_CELLS.N_BAD_CELLS.BADLARQ_FRAC.ENG_POS.AVG_LAR_Q.AVG_TILE_Q.EM_PROBABILITY.BadChannelList.calclus_NLeadingTruthParticleBarcodeEnergyPairs'] diff --git a/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.cxx b/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.cxx index a8d01b9bb52..4bc868643c5 100644 --- a/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.cxx +++ b/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.cxx @@ -13,35 +13,12 @@ StatusCode PFlowCalibPFODecoratorAlgorithm::initialize(){ ATH_CHECK(m_mapTruthBarcodeToTruthParticleReadHandleKey.initialize()); ATH_CHECK(m_pfoWriteDecorHandleKeyNLeadingTruthParticles.initialize()); - ATH_CHECK(m_feWriteDecorHandleKeyNLeadingTruthParticles.initialize()); ATH_CHECK(m_truthAttributerTool.retrieve()); return StatusCode::SUCCESS; } -StatusCode PFlowCalibPFODecoratorAlgorithm::LinkCalibHitPFO( - SG::WriteDecorHandle > >& pfoWriteDecorHandle, - SG::ReadHandle > >& CalibHitReadHandle, - SG::ReadHandle >& TruthParticleHandle - ) const -{ - //Algorithm to produce links between PFO and CalibHits - StatusCode sc; - for (auto thisPFO : *pfoWriteDecorHandle){ - const xAOD::CaloCluster* thisCaloCluster = thisPFO->cluster(0); - - std::vector > newBarCodeTruthPairs; - sc = m_truthAttributerTool->calculateTruthEnergies(*thisCaloCluster, m_numTruthParticles, *CalibHitReadHandle, *TruthParticleHandle, newBarCodeTruthPairs); - if (sc == StatusCode::FAILURE) return sc; - - for (const auto& thisPair : newBarCodeTruthPairs) ATH_MSG_DEBUG("Cluster Final loop: Particle with barcode " << thisPair.first << " has truth energy of " << thisPair.second << " for cluster with e, eta " << thisCaloCluster->e() << " and " << thisCaloCluster->eta()); - - pfoWriteDecorHandle(*thisPFO) = newBarCodeTruthPairs; - } - return StatusCode::SUCCESS; -} -// Same algorithm for FE as for PFO StatusCode PFlowCalibPFODecoratorAlgorithm::LinkCalibHitPFO( SG::WriteDecorHandle > >& pfoWriteDecorHandle, SG::ReadHandle > >& CalibHitReadHandle, @@ -79,21 +56,12 @@ StatusCode PFlowCalibPFODecoratorAlgorithm::execute(const EventContext& ctx) con return StatusCode::FAILURE; } // pfo linker alg - SG::WriteDecorHandle > > pfoWriteDecorHandleNLeadingTruthParticles(m_pfoWriteDecorHandleKeyNLeadingTruthParticles, ctx); + SG::WriteDecorHandle > > pfoWriteDecorHandleNLeadingTruthParticles(m_pfoWriteDecorHandleKeyNLeadingTruthParticles, ctx); ATH_CHECK(this->LinkCalibHitPFO( pfoWriteDecorHandleNLeadingTruthParticles, mapIdentifierToCalibHitsReadHandle, mapTruthBarcodeToTruthParticleReadHandle)); // end of check block - - if(m_useFlowElements){ - SG::WriteDecorHandle > > feWriteDecorHandleNLeadingTruthParticles(m_feWriteDecorHandleKeyNLeadingTruthParticles,ctx); - - ATH_CHECK(this->LinkCalibHitPFO( - feWriteDecorHandleNLeadingTruthParticles, - mapIdentifierToCalibHitsReadHandle, - mapTruthBarcodeToTruthParticleReadHandle)); // end of check block - } return StatusCode::SUCCESS; } diff --git a/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.h b/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.h index 72c2ebcec4c..6e6aea21f1b 100644 --- a/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.h +++ b/Reconstruction/PFlow/PFlowUtils/src/PFlowCalibPFODecoratorAlgorithm.h @@ -14,7 +14,6 @@ #include "xAODTruth/TruthParticle.h" //EDM Container Classes -#include "xAODPFlow/PFOContainer.h" #include "xAODPFlow/FlowElementContainer.h" //C++ classes @@ -24,11 +23,11 @@ //Core classes for some private function classdefs #include "StoreGate/WriteDecorHandle.h" -/** This algorithm decorates xAOD::PFO with calibration hit truth information +/** This algorithm decorates xAOD::FlowElement with calibration hit truth information It relies on upstream creation of several maps in CaloCalibClusterTruthMapMakerAlgorithm, stored in Storegate, to provide fast access to required information. The actual calculations are taken care of my an ICaloCalibClusterTruthAttributerTool. -The user may toggle how many truth particles to consider per xAOD::CaloCluster (represented by a xAOD::PFO, with zero electrical charge, in the particle flow representation of the event), ordered in leading calibration hit truth pt, via a Gaudi Property "NumTruthParticles". */ +The user may toggle how many truth particles to consider per xAOD::CaloCluster (represented by a xAOD::FlowElement, with zero electrical charge, in the particle flow representation of the event), ordered in leading calibration hit truth pt, via a Gaudi Property "NumTruthParticles". */ class PFlowCalibPFODecoratorAlgorithm : public AthReentrantAlgorithm { @@ -53,10 +52,7 @@ private: SG::ReadHandleKey > m_mapTruthBarcodeToTruthParticleReadHandleKey{this,"TruthBarcodeToTruthParticleMapName","TruthBarcodeTruthParticleMap","ReadHandleKey for the map between truth particle barcode and the pdg Id"}; /** Write handle key to decorate PFO with threeN leading truth particle barcode and energy */ - SG::WriteDecorHandleKey m_pfoWriteDecorHandleKeyNLeadingTruthParticles{this,"PFOWriteDecorHandleKey_NLeadingTruthParticles","JetETMissNeutralParticleFlowObjects.calpfo_NLeadingTruthParticleBarcodeEnergyPairs"}; - - /** Write handle key to decorate Flow Element with three N leading truth particle barcode and energy (similar implementation as for PFO) */ - SG::WriteDecorHandleKey m_feWriteDecorHandleKeyNLeadingTruthParticles{this,"FlowElementWriteDecorHandleKey_NLeadingTruthParticles","JetETMissNeutralFlowElements.calfe_NLeadingTruthParticleBarcodeEnergyPairs"}; + SG::WriteDecorHandleKey m_pfoWriteDecorHandleKeyNLeadingTruthParticles{this,"PFOWriteDecorHandleKey_NLeadingTruthParticles","JetETMissNeutralParticleFlowObjects.calpfo_NLeadingTruthParticleBarcodeEnergyPairs"}; /** ToolHandle to a tool to create the calibration hit truth information that we need for the decoration */ ToolHandle m_truthAttributerTool{this,"TruthAttributerTool",""," ToolHandle to a tool to create the calibration hit truth information that we need for the decoration"}; @@ -64,20 +60,11 @@ private: /** Allow user to set the number of truth particles per clusterCaloCluster or PFO, in descending pt order, for which to store calibration hit enery */ Gaudi::Property m_numTruthParticles{this,"NumTruthParticles",3,"Set number of truth particles per CaloCluster/PFO for which we store calibration hit energy"}; - - Gaudi::Property m_useFlowElements{this,"useFlowElements",false,"Set decoration of flow element container as well as PFO"}; - // functions to do the links between either PFO or FlowElements StatusCode LinkCalibHitPFO( SG::WriteDecorHandle > >& pfoWriteDecorHandle, SG::ReadHandle > >& CalibHitHandle, SG::ReadHandle >& TruthParticleHandle) const; - - StatusCode LinkCalibHitPFO( - SG::WriteDecorHandle > >& pfoWriteDecorHandle, - SG::ReadHandle > >& CalibHitHandle, - SG::ReadHandle >& TruthParticleHandle - ) const; }; #endif diff --git a/Reconstruction/eflowRec/eflowRec/PFChargedFlowElementCreatorAlgorithm.h b/Reconstruction/eflowRec/eflowRec/PFChargedFlowElementCreatorAlgorithm.h index 55e1adf9cbd..d9c344ab253 100644 --- a/Reconstruction/eflowRec/eflowRec/PFChargedFlowElementCreatorAlgorithm.h +++ b/Reconstruction/eflowRec/eflowRec/PFChargedFlowElementCreatorAlgorithm.h @@ -31,7 +31,7 @@ class PFChargedFlowElementCreatorAlgorithm : public AthReentrantAlgorithm { SG::ReadHandleKey m_eflowCaloObjectContainerReadHandleKey{this,"eflowCaloObjectContainerName","eflowCaloObjects","ReadHandleKey for eflowCaloObjectContainer"}; /** WriteHandleKey for charged PFO */ - SG::WriteHandleKey m_chargedFlowElementContainerWriteHandleKey{this,"FlowElementOutputName","JetETMissChargedFlowElements","WriteHandleKey for charged FlowElements"}; + SG::WriteHandleKey m_chargedFlowElementContainerWriteHandleKey{this,"FlowElementOutputName","JetETMissChargedParticleFlowObjects","WriteHandleKey for charged FlowElements"}; }; diff --git a/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h b/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h index 6c95a5121f2..7ebc413d1e5 100644 --- a/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h +++ b/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h @@ -51,9 +51,9 @@ private: SG::ReadHandleKeym_photonReadHandleKey{this,"PhotonContainer","Photons","ReadHandleKey for PhotonContainer"}; //Readhandles for FlowElements. - SG::ReadHandleKey m_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralFlowElements","ReadHandleKey for neutral FlowElements"}; + SG::ReadHandleKey m_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElements"}; - SG::ReadHandleKey m_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedFlowElements","ReadHandleKey for charged FlowElements"}; + SG::ReadHandleKey m_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedParticleFlowObjects","ReadHandleKey for charged FlowElements"}; /** The write key for adding Neutral Flow Element element link decorations to electrons */ diff --git a/Reconstruction/eflowRec/eflowRec/PFLCNeutralFlowElementCreatorAlgorithm.h b/Reconstruction/eflowRec/eflowRec/PFLCNeutralFlowElementCreatorAlgorithm.h index 7e483328c24..5ec78f85737 100644 --- a/Reconstruction/eflowRec/eflowRec/PFLCNeutralFlowElementCreatorAlgorithm.h +++ b/Reconstruction/eflowRec/eflowRec/PFLCNeutralFlowElementCreatorAlgorithm.h @@ -23,10 +23,10 @@ public: private: /** ReadHandleKey for eflowCaloObjectContainer */ - SG::ReadHandleKey m_neutralFEContainerReadHandleKey{this,"FEInputContainerName","JetETMissNeutralFlowElements","ReadHandleKey for neutral FlowElementContainer"}; + SG::ReadHandleKey m_neutralFEContainerReadHandleKey{this,"FEInputContainerName","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElementContainer"}; /** WriteHandleKey for neutral FE */ - SG::WriteHandleKey m_neutralFELCContainerWriteHandleKey{this,"FELCOutputName","JetETMissLCNeutralFlowElements","WriteHandleKey for LC neutral FlowElementContainer"}; + SG::WriteHandleKey m_neutralFELCContainerWriteHandleKey{this,"FELCOutputName","JetETMissLCNeutralParticleFlowObjects","WriteHandleKey for LC neutral FlowElementContainer"}; }; #endif diff --git a/Reconstruction/eflowRec/eflowRec/PFMuonFlowElementAssoc.h b/Reconstruction/eflowRec/eflowRec/PFMuonFlowElementAssoc.h index 0ff99f896cc..8c8798a88f3 100644 --- a/Reconstruction/eflowRec/eflowRec/PFMuonFlowElementAssoc.h +++ b/Reconstruction/eflowRec/eflowRec/PFMuonFlowElementAssoc.h @@ -43,31 +43,31 @@ private: // ReadHandleKeys SG::ReadHandleKeym_muonReadHandleKey{this,"MuonContainer","Muons","ReadHandleKey for Muons"}; - SG::ReadHandleKeym_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralFlowElements","ReadHandleKey for neutral FlowElements"}; + SG::ReadHandleKeym_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElements"}; - SG::ReadHandleKeym_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedFlowElements","ReadHandleKey for charged FlowElements"}; + SG::ReadHandleKeym_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedParticleFlowObjects","ReadHandleKey for charged FlowElements"}; /** Write key for adding charged Flow Element link decorations to muons **/ SG::WriteDecorHandleKey m_muonChargedFEWriteHandleKey{this,"MuonContainer_chargedFELinks","Muons.chargedFELinks","WriteHandleKey for muon link to charged FlowElements"}; /** Write key for adding Muon link decorations to charged Flow Elements **/ - SG::WriteDecorHandleKey m_ChargedFEmuonWriteHandleKey{this,"JetETMissChargedFlowElements_FE_MuonLinks","JetETMissChargedFlowElements.FE_MuonLinks","WriteHandleKey for Charged Flow Elements coupled to muons"}; + SG::WriteDecorHandleKey m_ChargedFEmuonWriteHandleKey{this,"JetETMissChargedFlowElements_FE_MuonLinks","JetETMissChargedParticleFlowObjects.FE_MuonLinks","WriteHandleKey for Charged Flow Elements coupled to muons"}; /** Write key for adding neutral Flow Element link decorations to muons **/ SG::WriteDecorHandleKey m_muonNeutralFEWriteHandleKey{this,"MuonContainer_neutralFELinks","Muons.neutralFELinks","WriteHandleKey for muon links to neutral FlowElement"}; /** Write key for adding Muon link decorations to neutral Flow Elements **/ - SG::WriteDecorHandleKey m_NeutralFEmuonWriteHandleKey{this,"JetETMissNeutralFlowElementContainer_FE_MuonLinks","JetETMissNeutralFlowElements.FE_MuonLinks","WriteHandleKey for neutral flow Elements to Muons"}; + SG::WriteDecorHandleKey m_NeutralFEmuonWriteHandleKey{this,"JetETMissNeutralFlowElementContainer_FE_MuonLinks","JetETMissNeutralParticleFlowObjects.FE_MuonLinks","WriteHandleKey for neutral flow Elements to Muons"}; /** Write key for adding fraction of nFlowElement cluster energy used in cell matching decoration of FlowElementContainer - EXPERIMENTAL **/ - SG::WriteDecorHandleKey m_NeutralFE_efrac_match_muonWriteHandleKey{this,"FlowElementContainer_FE_efrac_matched_muon","JetETMissNeutralFlowElements.FE_efrac_matched_muon","WriteHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"}; + SG::WriteDecorHandleKey m_NeutralFE_efrac_match_muonWriteHandleKey{this,"FlowElementContainer_FE_efrac_matched_muon","JetETMissNeutralParticleFlowObjects.FE_efrac_matched_muon","WriteHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"}; /** Write key for adding fraction of Muon cluster energy used in cell matching decoration of MuonContainer -EXPERIMENTAL **/ SG::WriteDecorHandleKey m_muonNeutralFE_muon_efrac_WriteDecorHandleKey{this,"MuonContainer_muon_efrac_matched_FE","Muons.muon_efrac_matched_FE","WriteHandleKey for the fraction of muon cluster energy used to match to neutral Flow Elements"}; /** Write key to count number of muons matched to a given neutral FE - EXPERIMENTAL **/ - SG::WriteDecorHandleKey m_NeutralFEmuon_nMatches_WriteDecorHandleKey{this,"FlowElementContainer_nMatchedMuons","JetETMissNeutralFlowElements.FE_nMatchedMuons","WriteHandleKey for the number of muons matched to a given neutral flow element"}; + SG::WriteDecorHandleKey m_NeutralFEmuon_nMatches_WriteDecorHandleKey{this,"FlowElementContainer_nMatchedMuons","JetETMissNeutralParticleFlowObjects.FE_nMatchedMuons","WriteHandleKey for the number of muons matched to a given neutral flow element"}; /** Write key to measure dR between calo clusters and the muon -EXPERIMENTAL **/ SG::WriteDecorHandleKeym_muon_ClusterInfo_deltaR_WriteDecorHandleKey{this,"MuonContainer_ClusterInfo_deltaR","Muons.ClusterInfo_deltaR","WriteHandleKey for the delta R between the muon and it's associated calocluster"}; diff --git a/Reconstruction/eflowRec/eflowRec/PFNeutralFlowElementCreatorAlgorithm.h b/Reconstruction/eflowRec/eflowRec/PFNeutralFlowElementCreatorAlgorithm.h index 43c5fd2c83c..88ca4b5bf31 100644 --- a/Reconstruction/eflowRec/eflowRec/PFNeutralFlowElementCreatorAlgorithm.h +++ b/Reconstruction/eflowRec/eflowRec/PFNeutralFlowElementCreatorAlgorithm.h @@ -55,7 +55,7 @@ private: m_neutralFEContainerWriteHandleKey{ this, "FEOutputName", - "JetETMissNeutralFlowElements", + "JetETMissNeutralParticleFlowObjects", "WriteHandleKey for neutral FlowElements" }; }; diff --git a/Reconstruction/eflowRec/eflowRec/PFTauFlowElementAssoc.h b/Reconstruction/eflowRec/eflowRec/PFTauFlowElementAssoc.h index 28cf78794a0..58782953e1d 100644 --- a/Reconstruction/eflowRec/eflowRec/PFTauFlowElementAssoc.h +++ b/Reconstruction/eflowRec/eflowRec/PFTauFlowElementAssoc.h @@ -50,17 +50,17 @@ private: // ReadHandle for the tau jets SG::ReadHandleKey m_tauJetReadHandleKey{this,"TauJetContainer","TauJets","ReadHandleKey for TauJet Container"}; // ReadHandles for FlowElements - SG::ReadHandleKey m_neutralFEReadHandleKey{this,"JetETMissNeutralFlowElementContainer","JetETMissNeutralFlowElements","ReadHandleKey for neutral FlowElements"}; - SG::ReadHandleKey m_chargedFEReadHandleKey{this,"JetETMissChargedFlowElementContainer","JetETMissChargedFlowElements","ReadHandleKey for charged FlowElements"}; + SG::ReadHandleKey m_neutralFEReadHandleKey{this,"JetETMissNeutralFlowElementContainer","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElements"}; + SG::ReadHandleKey m_chargedFEReadHandleKey{this,"JetETMissChargedFlowElementContainer","JetETMissChargedParticleFlowObjects","ReadHandleKey for charged FlowElements"}; /** The write key for adding Neutral Flow Element links to the taus */ SG::WriteDecorHandleKey m_tauNeutralFEWriteDecorKey{this,"TauNeutralFEDecorKey","TauJets.neutralFELinks","WriteDecorHandleKey for adding neutral FE links to taus"}; /** The write key for adding Charged Flow Element links to the taus */ SG::WriteDecorHandleKey m_tauChargedFEWriteDecorKey{this,"TauChargedFEDecorKey","TauJets.chargedFELinks","WriteDecorHandleKey for adding charged FE links to taus"}; /** The write key for adding tau element links to the Neutral Flow Elements */ - SG::WriteDecorHandleKey m_neutralFETauWriteDecorKey{this,"NeutralFETauDecorKey","JetETMissNeutralFlowElements.FE_TauLinks","WriteDecorHandleKey for adding tau links to neutral FEs"}; + SG::WriteDecorHandleKey m_neutralFETauWriteDecorKey{this,"NeutralFETauDecorKey","JetETMissNeutralParticleFlowObjects.FE_TauLinks","WriteDecorHandleKey for adding tau links to neutral FEs"}; /** The write key for adding tau element links to the Charged Flow Elements */ - SG::WriteDecorHandleKey m_chargedFETauWriteDecorKey{this,"ChargedFETauDecorKey","JetETMissChargedFlowElements.FE_TauLinks","WriteDecorHandleKey for adding tau links to charged FEs"}; + SG::WriteDecorHandleKey m_chargedFETauWriteDecorKey{this,"ChargedFETauDecorKey","JetETMissChargedParticleFlowObjects.FE_TauLinks","WriteDecorHandleKey for adding tau links to charged FEs"}; }; diff --git a/Reconstruction/eflowRec/python/PFCfg.py b/Reconstruction/eflowRec/python/PFCfg.py index 3454dfe8830..b3019cf1bd8 100644 --- a/Reconstruction/eflowRec/python/PFCfg.py +++ b/Reconstruction/eflowRec/python/PFCfg.py @@ -159,7 +159,7 @@ def getChargedFlowElementCreatorAlgorithm(inputFlags,chargedFlowElementOutputNam if chargedFlowElementOutputName: FlowElementChargedCreatorAlgorithm.FlowElementOutputName=chargedFlowElementOutputName if(inputFlags.PF.EOverPMode): - FlowElementChargedCreatorAlgorithm.FlowElementOutputName="EOverPChargedFlowElements" + FlowElementChargedCreatorAlgorithm.FlowElementOutputName="EOverPChargedParticleFlowObjects" return FlowElementChargedCreatorAlgorithm @@ -169,7 +169,7 @@ def getNeutralFlowElementCreatorAlgorithm(inputFlags,neutralFlowElementOutputNam if neutralFlowElementOutputName: FlowElementNeutralCreatorAlgorithm.FlowElementOutputName=neutralFlowElementOutputName if(inputFlags.PF.EOverPMode): - FlowElementNeutralCreatorAlgorithm.FlowElementOutputName="EOverPNeutralFlowElements" + FlowElementNeutralCreatorAlgorithm.FlowElementOutputName="EOverPNeutralParticleFlowObjects" if(inputFlags.PF.useCalibHitTruthClusterMoments and inputFlags.PF.addClusterMoments): FlowElementNeutralCreatorAlgorithm.useCalibHitTruth=True diff --git a/Reconstruction/eflowRec/python/eflowRecFlags.py b/Reconstruction/eflowRec/python/eflowRecFlags.py index 1a47b1c7f16..4f50f168fad 100644 --- a/Reconstruction/eflowRec/python/eflowRecFlags.py +++ b/Reconstruction/eflowRec/python/eflowRecFlags.py @@ -55,13 +55,6 @@ class useCalibHitTruth(JobProperty): allowedTypes = ['bool'] StoredValue = False -class usePFEGammaPFOAssoc(JobProperty): - """ Flag to toggle use of linking between Egamma objects and PFOs - """ - statusOn = True - allowedTypes = ['bool'] - StoredValue = False - class usePFlowFlowElementTauAssoc(JobProperty): """ Flag to toggle use of linking between tau objects and flow elements """ @@ -83,12 +76,6 @@ class provideShowerSubtractedClusters(JobProperty): allowedTypes = ['bool'] StoredValue = False -class useFlowElements(JobProperty): - """ Flag to toggle whether to create the new FlowElement EDM objects in addition to the PFO EDM objects. """ - statusOn = True - allowedTypes = ['bool'] - StoredValue = True - class doFlowElementValidation(JobProperty): """Flag to turn on Validation plots for Flow Elements (only works if useFlowElements also set ON)""" statusOn=True diff --git a/Reconstruction/eflowRec/share/PFlowMTConfig.py b/Reconstruction/eflowRec/share/PFlowMTConfig.py index dfc8f5d511b..0665ccd61b7 100644 --- a/Reconstruction/eflowRec/share/PFlowMTConfig.py +++ b/Reconstruction/eflowRec/share/PFlowMTConfig.py @@ -231,8 +231,8 @@ PFAlgorithm.BaseToolList += [PFLCCalibTool] topSequence += PFAlgorithm -from eflowRec.eflowRecConf import PFOChargedCreatorAlgorithm -PFOChargedCreatorAlgorithm = PFOChargedCreatorAlgorithm("PFOChargedCreatorAlgorithm") +from eflowRec.eflowRecConf import PFOChargedFlowElementCreatorAlgorithm +PFOChargedCreatorAlgorithm = PFChargedFlowElementCreatorAlgorithm("PFOChargedCreatorAlgorithm") if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": PFOChargedCreatorAlgorithm.PFOOutputName="EOverPChargedParticleFlowObjects" @@ -240,8 +240,8 @@ if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": topSequence += PFOChargedCreatorAlgorithm -from eflowRec.eflowRecConf import PFONeutralCreatorAlgorithm -PFONeutralCreatorAlgorithm = PFONeutralCreatorAlgorithm("PFONeutralCreatorAlgorithm") +from eflowRec.eflowRecConf import PFONeutralFlowElementCreatorAlgorithm +PFONeutralCreatorAlgorithm = PFONeutralFlowElementCreatorAlgorithm("PFONeutralCreatorAlgorithm") if jobproperties.eflowRecFlags.useCalibHitTruth: PFONeutralCreatorAlgorithm.UseCalibHitTruth=True @@ -249,49 +249,29 @@ if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": PFONeutralCreatorAlgorithm.PFOOutputName="EOverPNeutralParticleFlowObjects" PFONeutralCreatorAlgorithm.EOverPMode=True -if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: - PFONeutralCreatorAlgorithm.AddShowerSubtractedClusters = True +# TODO: revisit if a new version of this is needed +#if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: +# PFONeutralCreatorAlgorithm.AddShowerSubtractedClusters = True topSequence += PFONeutralCreatorAlgorithm -from eflowRec.eflowRecFlags import jobproperties # set reco flags for eFlowRec algorithms -jobproperties.eflowRecFlags.usePFEGammaPFOAssoc.set_Value_and_Lock(True) - - -if jobproperties.eflowRecFlags.usePFEGammaPFOAssoc: - - from eflowRec.eflowRecConf import PFEGammaPFOAssoc - PFEGammaPFOAssoc=PFEGammaPFOAssoc("PFEGammaPFOAssoc") - topSequence += PFEGammaPFOAssoc - - -#Add new FlowElement creators -if jobproperties.eflowRecFlags.useFlowElements: - from eflowRec.eflowRecConf import PFChargedFlowElementCreatorAlgorithm - PFChargedFlowElementCreatorAlgorithm = PFChargedFlowElementCreatorAlgorithm("PFChargedFlowElementCreatorAlgorithm") - topSequence += PFChargedFlowElementCreatorAlgorithm - - from eflowRec.eflowRecConf import PFNeutralFlowElementCreatorAlgorithm - PFNeutralFlowElementCreatorAlgorithm = PFNeutralFlowElementCreatorAlgorithm("PFNeutralFlowElementCreatorAlgorithm") - topSequence += PFNeutralFlowElementCreatorAlgorithm - - from eflowRec.eflowRecConf import PFLCNeutralFlowElementCreatorAlgorithm - PFLCNeutralFlowElementCreatorAlgorithm = PFLCNeutralFlowElementCreatorAlgorithm("PFLCNeutralFlowElementCreatorAlgorithm") - topSequence += PFLCNeutralFlowElementCreatorAlgorithm - - if jobproperties.eflowRecFlags.usePFFlowElementAssoc: - - # Electron/Photon linkers to flow elements - from eflowRec.eflowRecConf import PFEGamFlowElementAssoc - PFEGamFlowElementAssocAlg=PFEGamFlowElementAssoc("PFEGamFlowElementAssoc") - topSequence +=PFEGamFlowElementAssocAlg - - # Muon linker to flow elements - from eflowRec.eflowRecConf import PFMuonFlowElementAssoc - PFMuonFlowElementAssocAlg=PFMuonFlowElementAssoc("PFMuonFlowElementAssocAlgorithm") - #Gaudi switch to add the experimental linker between muon clusters and neutral flow elements (FE) - PFMuonFlowElementAssocAlg.m_LinkNeutralFEClusters=True - PFMuonFlowElementAssocAlg.m_UseMuonTopoClusters=False # requires m_LinkNeutralFEClusters=True and if set to True= Retrieves TopoClusters from Aux. If not, cell-match muon calocluster to NFE topocluster. - topSequence += PFMuonFlowElementAssocAlg +from eflowRec.eflowRecConf import PFLCNeutralFlowElementCreatorAlgorithm +PFLCNeutralFlowElementCreatorAlgorithm = PFLCNeutralFlowElementCreatorAlgorithm("PFLCNeutralFlowElementCreatorAlgorithm") +topSequence += PFLCNeutralFlowElementCreatorAlgorithm + +if jobproperties.eflowRecFlags.usePFFlowElementAssoc: + + # Electron/Photon linkers to flow elements + from eflowRec.eflowRecConf import PFEGamFlowElementAssoc + PFEGamFlowElementAssocAlg=PFEGamFlowElementAssoc("PFEGamFlowElementAssoc") + topSequence +=PFEGamFlowElementAssocAlg + + # Muon linker to flow elements + from eflowRec.eflowRecConf import PFMuonFlowElementAssoc + PFMuonFlowElementAssocAlg=PFMuonFlowElementAssoc("PFMuonFlowElementAssocAlgorithm") + #Gaudi switch to add the experimental linker between muon clusters and neutral flow elements (FE) + PFMuonFlowElementAssocAlg.m_LinkNeutralFEClusters=True + PFMuonFlowElementAssocAlg.m_UseMuonTopoClusters=False # requires m_LinkNeutralFEClusters=True and if set to True= Retrieves TopoClusters from Aux. If not, cell-match muon calocluster to NFE topocluster. + topSequence += PFMuonFlowElementAssocAlg diff --git a/Reconstruction/eflowRec/share/eflowRecAODList.py b/Reconstruction/eflowRec/share/eflowRecAODList.py index db9ef75497d..9c9f26afe6f 100644 --- a/Reconstruction/eflowRec/share/eflowRecAODList.py +++ b/Reconstruction/eflowRec/share/eflowRecAODList.py @@ -5,11 +5,11 @@ eflowRecAODList = [] include("eflowRec/eflowRec_ESDandAOD_ExcludeList.py") if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - eflowRecAODList += [ "xAOD::PFOContainer#EOverPChargedParticleFlowObjects"] - eflowRecAODList += [ "xAOD::PFOContainer#EOverPNeutralParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementContainer#EOverPChargedParticleFlowObjects"] + eflowRecAODList += [ "xAOD::FlowElementContainer#EOverPNeutralParticleFlowObjects"] - eflowRecAODList += [ "xAOD::PFOAuxContainer#EOverPChargedParticleFlowObjectsAux."] - eflowRecAODList += [ "xAOD::PFOAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#EOverPChargedParticleFlowObjectsAux."] + eflowRecAODList += [ "xAOD::FlowElementAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] else: eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] diff --git a/Reconstruction/eflowRec/share/eflowRecESDList.py b/Reconstruction/eflowRec/share/eflowRecESDList.py index b17a70998ab..601768d8a09 100644 --- a/Reconstruction/eflowRec/share/eflowRecESDList.py +++ b/Reconstruction/eflowRec/share/eflowRecESDList.py @@ -5,11 +5,11 @@ eflowRecESDList = [] include("eflowRec/eflowRec_ESDandAOD_ExcludeList.py") if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - eflowRecESDList += [ "xAOD::PFOContainer#EOverPChargedParticleFlowObjects"] - eflowRecESDList += [ "xAOD::PFOContainer#EOverPNeutralParticleFlowObjects"] + eflowRecESDList += [ "xAOD::FlowElementContainer#EOverPChargedParticleFlowObjects"] + eflowRecESDList += [ "xAOD::FlowElementContainer#EOverPNeutralParticleFlowObjects"] - eflowRecESDList += [ "xAOD::PFOAuxContainer#EOverPChargedParticleFlowObjectsAux."] - eflowRecESDList += [ "xAOD::PFOAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] + eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPChargedParticleFlowObjectsAux."] + eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] else: eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] diff --git a/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22.py b/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22.py index 0031f5c44eb..067ca343bcc 100644 --- a/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22.py +++ b/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22.py @@ -30,7 +30,6 @@ rec.doMuon.set_Value_and_Lock(False) #Disable linking of PFO/FE to and from other objects - this won't work because e.g electrons already have links to PFO/FE and #we cannot overwrite those. from eflowRec.eflowRecFlags import jobproperties -jobproperties.eflowRecFlags.usePFEGammaPFOAssoc.set_Value_and_Lock(False) jobproperties.eflowRecFlags.usePFFlowElementAssoc.set_Value_and_Lock(False) #Disable thinning, which would mess up links for e.g taus diff --git a/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22_EOverP.py b/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22_EOverP.py index 05fd8cbb4f4..44ca372ad08 100644 --- a/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22_EOverP.py +++ b/Reconstruction/eflowRec/share/run_ESDPFlowRecoR22_EOverP.py @@ -26,7 +26,6 @@ rec.doTau.set_Value_and_Lock(False) #Disable linking of PFO/FE to and from other objects - this won't work because e.g electrons already have links to PFO/FE and #we cannot overwrite those. from eflowRec.eflowRecFlags import jobproperties -jobproperties.eflowRecFlags.usePFEGammaPFOAssoc.set_Value_and_Lock(False) jobproperties.eflowRecFlags.usePFFlowElementAssoc.set_Value_and_Lock(False) #Enable e/p mode diff --git a/Reconstruction/eflowRec/share/run_ESDStandardReco_FlowElements.py b/Reconstruction/eflowRec/share/run_ESDStandardReco_FlowElements.py index 405ffe1369d..9b246e71285 100644 --- a/Reconstruction/eflowRec/share/run_ESDStandardReco_FlowElements.py +++ b/Reconstruction/eflowRec/share/run_ESDStandardReco_FlowElements.py @@ -9,8 +9,6 @@ recAlgs.doEFlow.set_Value_and_Lock(True) from eflowRec.eflowRecFlags import jobproperties jobproperties.eflowRecFlags.useCalibHitTruth.set_Value_and_Lock(True) -#include FlowElements in run -jobproperties.eflowRecFlags.useFlowElements.set_Value_and_Lock(True) #include FlowElement validation plots jobproperties.eflowRecFlags.doFlowElementValidation.set_Value_and_Lock(True) from RecExConfig.RecFlags import rec diff --git a/Reconstruction/eflowRec/share/tauFELinkConfig.py b/Reconstruction/eflowRec/share/tauFELinkConfig.py index ee8dbb29a04..e7585de9f94 100644 --- a/Reconstruction/eflowRec/share/tauFELinkConfig.py +++ b/Reconstruction/eflowRec/share/tauFELinkConfig.py @@ -2,10 +2,10 @@ from eflowRec.eflowRecFlags import jobproperties -if jobproperties.eflowRecFlags.usePFFlowElementAssoc and jobproperties.eflowRecFlags.usePFlowFlowElementTauAssoc and jobproperties.eflowRecFlags.useFlowElements : +if jobproperties.eflowRecFlags.usePFFlowElementAssoc and jobproperties.eflowRecFlags.usePFlowFlowElementTauAssoc: include("eflowRec/link_tauFE.py") -if jobproperties.eflowRecFlags.doFlowElementValidation and jobproperties.eflowRecFlags.useFlowElements: +if jobproperties.eflowRecFlags.doFlowElementValidation: # since FE are not added at Tier0 yet, need to add it to the eflowRec routine from AthenaMonitoring.AthenaMonitoringConf import AthenaMonManager monMan = AthenaMonManager( "PhysValMonManager" ) diff --git a/Reconstruction/eflowRec/share/validateFlowElements.py b/Reconstruction/eflowRec/share/validateFlowElements.py index 89c52c0cf6d..4d8bf008a5b 100644 --- a/Reconstruction/eflowRec/share/validateFlowElements.py +++ b/Reconstruction/eflowRec/share/validateFlowElements.py @@ -20,7 +20,7 @@ def ReadMyxAOD(evt): "vector>" )("FE_MuonLinks") # accessor matches type in the aux branch - chargedFEcont=evt.retrieve("xAOD::FlowElementContainer","JetETMissChargedFlowElements") + chargedFEcont=evt.retrieve("xAOD::FlowElementContainer","JetETMissChargedParticleFlowObjects") nchargedFE=chargedFEcont.size() try: for cfe in chargedFEcont: @@ -36,7 +36,7 @@ def ReadMyxAOD(evt): print("No auxdata retrieved") try: - neutralFEcont=evt.retrieve("xAOD::FlowElementContainer","JetETMissNeutralFlowElements") + neutralFEcont=evt.retrieve("xAOD::FlowElementContainer","JetETMissNeutralParticleFlowObjects") print("\n") nneutralFE=neutralFEcont.size() for nfe in neutralFEcont: diff --git a/Reconstruction/eflowRec/src/PFEGamFlowElementAssoc.cxx b/Reconstruction/eflowRec/src/PFEGamFlowElementAssoc.cxx index 6f1a0ec5580..88e206f2f78 100644 --- a/Reconstruction/eflowRec/src/PFEGamFlowElementAssoc.cxx +++ b/Reconstruction/eflowRec/src/PFEGamFlowElementAssoc.cxx @@ -31,14 +31,14 @@ const std::string& name, declareProperty ("ElectronNeutralFEDecorKey", m_electronNeutralFEWriteDecorKey = "Electrons.neutralFELinks"); declareProperty ("ElectronChargedFEDecorKey", m_electronChargedFEWriteDecorKey = "Electrons.chargedFELinks"); -declareProperty ("NeutralFEElectronDecorKey", m_neutralFEElectronWriteDecorKey = "JetETMissNeutralFlowElements.FE_ElectronLinks"); +declareProperty ("NeutralFEElectronDecorKey", m_neutralFEElectronWriteDecorKey = "JetETMissNeutralParticleFlowObjects.FE_ElectronLinks"); -declareProperty ("ChargedFEElectronDecorKey", m_chargedFEElectronWriteDecorKey = "JetETMissChargedFlowElements.FE_ElectronLinks"); +declareProperty ("ChargedFEElectronDecorKey", m_chargedFEElectronWriteDecorKey = "JetETMissChargedParticleFlowObjects.FE_ElectronLinks"); declareProperty ("PhotonNeutralFEDecorKey", m_photonNeutralFEWriteDecorKey = "Photons.neutralFELinks"); declareProperty ("PhotonChargedFEDecorKey", m_photonChargedFEWriteDecorKey = "Photons.chargedFELinks"); -declareProperty ("NeutralFEPhotonDecorKey", m_neutralFEPhotonWriteDecorKey = "JetETMissNeutralFlowElements.FE_PhotonLinks"); -declareProperty ("ChargedFEPhotonDecorKey", m_chargedFEPhotonWriteDecorKey = "JetETMissChargedFlowElements.FE_PhotonLinks"); +declareProperty ("NeutralFEPhotonDecorKey", m_neutralFEPhotonWriteDecorKey = "JetETMissNeutralParticleFlowObjects.FE_PhotonLinks"); +declareProperty ("ChargedFEPhotonDecorKey", m_chargedFEPhotonWriteDecorKey = "JetETMissChargedParticleFlowObjects.FE_PhotonLinks"); } // Class destructor diff --git a/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx b/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx index 82cb8287018..08de90f445a 100644 --- a/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx +++ b/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx @@ -40,9 +40,9 @@ StatusCode PFTauFlowElementAssoc::initialize() { This algorithm: 1) Accesses the relevant FlowElement and TauJet containers 2) Loops over the neutral FEs and matches them to the corresponding TauJet clusters, creating the ElementLinks - and adding them to the JetETMissNeutralFlowElements container as a decoration + and adding them to the JetETMissNeutralParticleFlowObjects container as a decoration 3) Loops over the charged FEs and matches them to the corresponding TauJet tracks, creating the ElementLinks - and adding them to the JetETMissChargedFlowElements container as a decoration + and adding them to the JetETMissChargedParticleFlowObjects container as a decoration 4) Adds the decoration to the TauJet container containing a vector of ElementLinks to corresponding FEs **/ -- GitLab From 58bb653aec516cf08bd1b80f2d838832371e04f7 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Tue, 15 Jun 2021 18:11:32 +0200 Subject: [PATCH 05/36] Update PFO type in augmentation tool --- .../src/PFlowAugmentationTool.cxx | 23 ++++++++++--------- .../src/PFlowAugmentationTool.h | 20 ++++++++-------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.cxx index ebd67b765cf..9c3316d3f1d 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.cxx +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.cxx @@ -86,13 +86,13 @@ namespace DerivationFramework { } } - SG::WriteDecorHandle dec_PVmatched(m_PVmatchedKey); - SG::WriteDecorHandle dec_corrP4_pt(m_corrP4_ptKey); - SG::WriteDecorHandle dec_z0(m_z0Key); - SG::WriteDecorHandle dec_vz(m_vzKey); - SG::WriteDecorHandle dec_d0(m_d0Key); - SG::WriteDecorHandle dec_theta(m_thetaKey); - SG::WriteDecorHandle dec_envWeight(m_envWeightKey); + SG::WriteDecorHandle dec_PVmatched(m_PVmatchedKey); + SG::WriteDecorHandle dec_corrP4_pt(m_corrP4_ptKey); + SG::WriteDecorHandle dec_z0(m_z0Key); + SG::WriteDecorHandle dec_vz(m_vzKey); + SG::WriteDecorHandle dec_d0(m_d0Key); + SG::WriteDecorHandle dec_theta(m_thetaKey); + SG::WriteDecorHandle dec_envWeight(m_envWeightKey); auto pfoContainer = SG::makeHandle (m_pfoContainer_key); if (!pfoContainer.isValid()){ @@ -102,12 +102,12 @@ namespace DerivationFramework { } auto cpfos = pfoContainer.cptr(); - for ( const xAOD::PFO* cpfo : *cpfos ) { + for ( const xAOD::FlowElement* cpfo : *cpfos ) { if ( cpfo == 0 ) { ATH_MSG_WARNING("Have NULL pointer to charged PFO"); continue; } - const xAOD::TrackParticle* ptrk = cpfo->track(0); + const xAOD::TrackParticle* ptrk = dynamic_cast(cpfo->chargedObject(0)); if ( ptrk == 0 ) { ATH_MSG_WARNING("Skipping charged PFO with null track pointer."); continue; @@ -133,8 +133,9 @@ namespace DerivationFramework { //find the weights from the tool int isInDenseEnvironment = false; float weight = 1.0; - if(cpfo->attribute(xAOD::PFODetails::PFOAttributes::eflowRec_isInDenseEnvironment,isInDenseEnvironment)){ - ATH_CHECK( m_weightPFOTool->fillWeight( *cpfo, weight ) ); + const static SG::AuxElement::ConstAccessor accIsInDE("IsInDenseEnvironment"); + if(accIsInDE.isAvailable(*cpfo)){ + ATH_CHECK( m_weightPFOTool->fillWeight( *cpfo, weight ) ); } // decorate the computed variables diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.h b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.h index 5d65ad1528a..96deece8d7c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.h +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/src/PFlowAugmentationTool.h @@ -21,7 +21,7 @@ #include "xAODTracking/Vertex.h" #include "xAODTracking/VertexContainer.h" -#include +#include #include namespace DerivationFramework { @@ -42,15 +42,15 @@ namespace DerivationFramework { bool m_useChargedWeights; //If true, them we make use of the charged PFO weighting scheme SG::ReadHandleKey m_vertexContainer_key{this, "VertexContainer", "PrimaryVertices", "Input vertex container"}; - SG::ReadHandleKey m_pfoContainer_key{this, "JetETMissChargedParticleFlowObjects", "JetETMissChargedParticleFlowObjects", "Input charged PFO"}; - - SG::WriteDecorHandleKey m_PVmatchedKey {this, "PVmatchedKey", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_PVMatched", "Boolean indicating if PFO was matched to PV "}; - SG::WriteDecorHandleKey m_corrP4_ptKey {this, "m_corrP4_ptKey", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_CaloCorrectedPt", "Decoration for weighted charged PFO pt"}; - SG::WriteDecorHandleKey m_z0Key {this, "m_z0Key", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_z0", "Decoration for track z0"}; - SG::WriteDecorHandleKey m_vzKey{this, "m_vzKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_vz", "Decoration for track vz"}; - SG::WriteDecorHandleKey m_d0Key{this, "m_d0Key","JetETMissChargedParticleFlowObjects.DFCommonPFlow_d0", "Decoration for track d0"}; - SG::WriteDecorHandleKey m_thetaKey{this, "m_thetaKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_theta", "Decoration for track theta"}; - SG::WriteDecorHandleKey m_envWeightKey{this, "m_envWeightKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_envWeight", "Decoration for weight for dense environments"}; + SG::ReadHandleKey m_pfoContainer_key{this, "JetETMissChargedParticleFlowObjects", "JetETMissChargedParticleFlowObjects", "Input charged PFO"}; + + SG::WriteDecorHandleKey m_PVmatchedKey {this, "PVmatchedKey", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_PVMatched", "Boolean indicating if PFO was matched to PV "}; + SG::WriteDecorHandleKey m_corrP4_ptKey {this, "m_corrP4_ptKey", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_CaloCorrectedPt", "Decoration for weighted charged PFO pt"}; + SG::WriteDecorHandleKey m_z0Key {this, "m_z0Key", "JetETMissChargedParticleFlowObjects.DFCommonPFlow_z0", "Decoration for track z0"}; + SG::WriteDecorHandleKey m_vzKey{this, "m_vzKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_vz", "Decoration for track vz"}; + SG::WriteDecorHandleKey m_d0Key{this, "m_d0Key","JetETMissChargedParticleFlowObjects.DFCommonPFlow_d0", "Decoration for track d0"}; + SG::WriteDecorHandleKey m_thetaKey{this, "m_thetaKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_theta", "Decoration for track theta"}; + SG::WriteDecorHandleKey m_envWeightKey{this, "m_envWeightKey","JetETMissChargedParticleFlowObjects.DFCommonPFlow_envWeight", "Decoration for weight for dense environments"}; }; } -- GitLab From dc7e1ebace96d70ac232b15ba1d5bcd491e0bbe0 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 16 Jun 2021 13:03:53 +0200 Subject: [PATCH 06/36] Use FlowElements for standard jet/MET reco --- Event/xAOD/xAODJet/Root/JetContainerInfo.cxx | 2 - Event/xAOD/xAODJet/xAODJet/JetContainerInfo.h | 1 - .../src/ThinNegativeEnergyNeutralPFOsAlg.cxx | 2 +- .../python/ContainersOnTheFly.py | 18 +++---- .../python/FullListOfSmartContainers.py | 1 - .../python/SlimmingHelper.py | 11 ---- .../python/AntiKt4EMPFlowFEJetsCPContent.py | 10 ---- .../python/AntiKt4EMPFlowJetsCPContent.py | 2 - .../python/ExtendedJetCommon.py | 52 +++++-------------- .../python/JetCommon.py | 11 ++-- .../src/PFlowAugmentationTool.cxx | 1 - .../python/JetJvtEfficiencyToolConfig.py | 4 +- .../Jet/JetRec/python/JetAlgorithm.py | 18 +------ .../JetRec/python/JetRecCalibrationFinder.py | 7 +-- .../Jet/JetRec/python/JetRecFlags.py | 11 +--- .../Jet/JetRec/python/JetRecStandard.py | 2 - .../python/JetRecStandardToolManager.py | 8 --- .../Jet/JetRec/python/JetRecStandardTools.py | 32 +----------- .../Jet/JetRecConfig/python/JetDefinition.py | 1 - .../Root/JetConstituentModSequence.cxx | 10 ++-- .../JetRecTools/python/ConstitToolManager.py | 2 +- .../python/LegacyRunII/METAssocConfig.py | 10 +--- .../LegacyRunII/METAssocConfig_readAOD.py | 3 -- .../LegacyRunII/METConfig_Associator.py | 26 +--------- .../python/LegacyRunII/METRecoFlags.py | 18 +------ .../METReconstruction/share/RunORMETReco.py | 2 - .../MET/METUtilities/share/ORMETAssoc.py | 1 - .../eflowRec/python/eflowRecFlags.py | 2 +- 28 files changed, 44 insertions(+), 224 deletions(-) delete mode 100644 PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/AntiKt4EMPFlowFEJetsCPContent.py diff --git a/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx b/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx index f226a772740..2ad0f7af044 100644 --- a/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx +++ b/Event/xAOD/xAODJet/Root/JetContainerInfo.cxx @@ -110,7 +110,6 @@ namespace xAOD { { "LCPFlow", LCPFlow }, { "EMPFlow", EMPFlow }, { "EMCPFlow", EMCPFlow }, - { "EMPFlowFE", EMPFlowFE }, { "TrackCaloCluster", TrackCaloCluster }, { "EMTopoOriginSK", EMTopoOriginSK }, { "EMTopoOriginCS", EMTopoOriginCS }, @@ -161,7 +160,6 @@ namespace xAOD { { LCPFlow, "LCPFlow" }, { EMPFlow, "EMPFlow" }, { EMCPFlow, "EMCPFlow" }, - { EMPFlowFE, "EMPFlowFE" }, { TrackCaloCluster, "TrackCaloCluster" }, { EMTopoOriginSK, "EMTopoOriginSK" }, { EMTopoOriginCS, "EMTopoOriginCS" }, diff --git a/Event/xAOD/xAODJet/xAODJet/JetContainerInfo.h b/Event/xAOD/xAODJet/xAODJet/JetContainerInfo.h index a6aa9c8940c..45d48a4fabe 100644 --- a/Event/xAOD/xAODJet/xAODJet/JetContainerInfo.h +++ b/Event/xAOD/xAODJet/xAODJet/JetContainerInfo.h @@ -95,7 +95,6 @@ namespace xAOD { HI, HIClusters, Other = 100, - EMPFlowFE = 200, // Temporary, until xAOD::PFO is phased out and replaced with xAOD::FlowElement Uncategorized= 1000 }; diff --git a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx index 0473febbd56..280e60f9493 100644 --- a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx +++ b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/src/ThinNegativeEnergyNeutralPFOsAlg.cxx @@ -105,7 +105,7 @@ StatusCode ThinNegativeEnergyNeutralPFOsAlg::execute() SG::ThinningHandle neutralFEs (m_neutralPFOsKey, ctx); std::vector mask; int nNeutralFEs = neutralFEs->size(); - m_nNeutralPFOsProcessed += nNeutralPFOs; + m_nNeutralPFOsProcessed += nNeutralFEs; mask.assign(nNeutralFEs, false); for(int i=0; i accIsInDE("IsInDenseEnvironment"); if(accIsInDE.isAvailable(*cpfo)){ diff --git a/Reconstruction/Jet/JetJvtEfficiency/python/JetJvtEfficiencyToolConfig.py b/Reconstruction/Jet/JetJvtEfficiency/python/JetJvtEfficiencyToolConfig.py index b632111ea86..174f312d0ed 100644 --- a/Reconstruction/Jet/JetJvtEfficiency/python/JetJvtEfficiencyToolConfig.py +++ b/Reconstruction/Jet/JetJvtEfficiency/python/JetJvtEfficiencyToolConfig.py @@ -19,9 +19,7 @@ def getJvtEffTool( jetalg , toolname = ''): configs = { "AntiKt4EMTopo": "JetJvtEfficiency/Moriond2018/JvtSFFile_EMTopoJets.root", - "AntiKt4EMPFlow": "JetJvtEfficiency/Moriond2018/JvtSFFile_EMPFlow.root", - "AntiKt4EMPFlowFE": "JetJvtEfficiency/Moriond2018/JvtSFFile_EMPFlow.root" - + "AntiKt4EMPFlow": "JetJvtEfficiency/Moriond2018/JvtSFFile_EMPFlow.root" } jvtefftool = CfgMgr.CP__JetJvtEfficiency(toolname) diff --git a/Reconstruction/Jet/JetRec/python/JetAlgorithm.py b/Reconstruction/Jet/JetRec/python/JetAlgorithm.py index 79ea227347d..70b132e2156 100644 --- a/Reconstruction/Jet/JetRec/python/JetAlgorithm.py +++ b/Reconstruction/Jet/JetRec/python/JetAlgorithm.py @@ -60,9 +60,6 @@ def addJetRecoToAlgSequence(job =None, useTruth =None, eventShapeTools =None, "empflow" : ("EMPFlowEventShape", jtm.empflowget), } - if jetFlags.usePFlowFE(): - evsDict["empflow_fe"] = ("EMPFlowFEEventShape", jtm.empflowget_fe) - if jetFlags.useTracks(): if jetFlags.useVertices(): evsDict["emtopo"] = ("EMTopoOriginEventShape", jtm.emoriginget) @@ -136,7 +133,7 @@ def addJetRecoToAlgSequence(job =None, useTruth =None, eventShapeTools =None, ThinNegativeEnergyCaloClusters = True, CaloClustersKey = 'EMOriginTopoClusters', StreamName = 'StreamAOD')) - if not IsInInputFile("xAOD::PFOContainer","CHSParticleFlowObjects"): + if not IsInInputFile("xAOD::FlowElementContainer","CHSParticleFlowObjects"): if not hasattr(job,"jetalgCHSPFlow"): ctools += [jtm.JetConstitSeq_PFlowCHS] if thinneg: @@ -148,19 +145,6 @@ def addJetRecoToAlgSequence(job =None, useTruth =None, eventShapeTools =None, StreamName = 'StreamAOD' ) postalgs.append(CHSnPFOsThinAlg) - if jetFlags.usePFlowFE() and not IsInInputFile("xAOD::FlowElementContainer","CHSFlowElements"): - if not hasattr(job,"jetalgCHSPFlowFE"): - ctools += [jtm.JetConstitSeq_PFlowCHS_FE] - if thinneg: - from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyNeutralPFOsAlg - CHSnFEsThinAlg = ThinNegativeEnergyNeutralPFOsAlg( - "ThinNegativeEnergyCHSNeutralFEsAlg", - NeutralPFOsKey="", # don't do the usual PFOs here - NeutralPFOsFEKey = "CHSNeutralFlowElements", - ThinNegativeEnergyNeutralPFOs = True, - StreamName = 'StreamAOD' - ) - postalgs.append(CHSnFEsThinAlg) from JetRec.JetRecConf import JetToolRunner from JetRec.JetRecConf import JetAlgorithm diff --git a/Reconstruction/Jet/JetRec/python/JetRecCalibrationFinder.py b/Reconstruction/Jet/JetRec/python/JetRecCalibrationFinder.py index 1d64307f55e..e0b85fb9229 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecCalibrationFinder.py +++ b/Reconstruction/Jet/JetRec/python/JetRecCalibrationFinder.py @@ -51,8 +51,7 @@ class JetRecCalibrationFinder: "triggerNoPileup" : "JES_Full2012dataset_Preliminary_Trigger_NoPileup.config", "trigger2016" : "JES_MC15cRecommendation_May2016_Trigger.config", "triggerTrim" : "JES_MC15recommendation_FatJet_June2015.config", - "pflow" : "JES_MC15cRecommendation_PFlow_Aug2016_rel21.config", - "pflowFE" : "JES_MC15cRecommendation_PFlow_Aug2016_rel21.config" + "pflow" : "JES_MC15cRecommendation_PFlow_Aug2016_rel21.config" } # Default the calibration area tag to that used for T0 reconstruction for consistency @@ -61,7 +60,7 @@ class JetRecCalibrationFinder: from JetCalibTools.JetCalibToolsConf import JetCalibrationTool from JetRec.JetRecStandardToolManager import jtm inp = inpin - if inpin == "PFlowCustomVtx" or inpin == "EMPFlowFE": + if inpin == "PFlowCustomVtx": inp = "EMPFlow" # Find the configuration file. configkey = configkeyin @@ -111,8 +110,6 @@ class JetRecCalibrationFinder: evssuf="LCTopoOriginEventShape" elif inpin == "EMPFlow": evssuf="EMPFlowEventShape" - elif inpin == "EMPFlowFE": - evssuf="EMPFlowFEEventShape" elif inpin == "EMCPFlow": evssuf="EMCPFlowEventShape" elif inpin == "LCPFlow": diff --git a/Reconstruction/Jet/JetRec/python/JetRecFlags.py b/Reconstruction/Jet/JetRec/python/JetRecFlags.py index 123a05664a7..776314c4be7 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecFlags.py +++ b/Reconstruction/Jet/JetRec/python/JetRecFlags.py @@ -22,8 +22,7 @@ # useTracks - Track jets and association are enabled # useVertices - Toggles whether PFlow jet reconstruction makes use of vertex information. # useMuonSegmentss - Muon segemnt association is enabled -# usePFlow - PFlow jets and associations are enabled -# usePFlowFE - PFlow jets using FlowElements are enabled +# usePFlow - PFlow jets and associations are enabled\ # useInDetTrackSelection - The inner detector track selection # tool is used. This requires track propagator exist. # jetAODList - The list of jet collections to be written out @@ -110,13 +109,6 @@ class usePFlow(JobProperty): allowedTypes = ['bool'] # type StoredValue = True # default value -class usePFlowFE(JobProperty): - """ If true, pflow objects are present as FlowElements and used in jet reconstruction. - """ - statusOn = True - allowedTypes = ['bool'] # type - StoredValue = False # default value - class eventShapeTools(JobProperty): """ List of event shape tools that should be called to calculate rho. Allowed values are "emtopo", "lctopo", "emorig", "lcorig", "empflow", "emcpflow", "lcpflow". @@ -267,7 +259,6 @@ jobproperties.JetRecFlags.add_JobProperty(useVertices) jobproperties.JetRecFlags.add_JobProperty(useInDetTrackSelection) jobproperties.JetRecFlags.add_JobProperty(useMuonSegments) jobproperties.JetRecFlags.add_JobProperty(usePFlow) -jobproperties.JetRecFlags.add_JobProperty(usePFlowFE) jobproperties.JetRecFlags.add_JobProperty(eventShapeTools) jobproperties.JetRecFlags.add_JobProperty(jetAODList) jobproperties.JetRecFlags.add_JobProperty(useCells) diff --git a/Reconstruction/Jet/JetRec/python/JetRecStandard.py b/Reconstruction/Jet/JetRec/python/JetRecStandard.py index 361e179b600..399eb1b0cd9 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecStandard.py +++ b/Reconstruction/Jet/JetRec/python/JetRecStandard.py @@ -111,8 +111,6 @@ if jetFlags.eventShapeTools() is None: jetFlags.eventShapeTools += ['emtopo', 'lctopo'] if jetFlags.usePFlow(): jetFlags.eventShapeTools += ['empflow'] - if jetFlags.usePFlowFE(): - jetFlags.eventShapeTools += ['empflow_fe'] # Import the jet tool manager. from JetRec.JetRecStandardToolManager import jtm diff --git a/Reconstruction/Jet/JetRec/python/JetRecStandardToolManager.py b/Reconstruction/Jet/JetRec/python/JetRecStandardToolManager.py index 6d97b385279..af25b1047a9 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecStandardToolManager.py +++ b/Reconstruction/Jet/JetRec/python/JetRecStandardToolManager.py @@ -97,7 +97,6 @@ def filterout(skiptoolnames, tools): # Pseudojet getters empfgetters = [jtm.empflowget] -empfgetters_fe = [jtm.empflowget_fe] trackgetters = [jtm.trackget] pv0trackgetters = [jtm.pv0trackget] @@ -114,13 +113,11 @@ if jetFlags.useTracks(): emgetters += [jtm.gtrackget] lcgetters += [jtm.gtrackget] empfgetters += [jtm.gtrackget] - empfgetters_fe += [jtm.gtrackget] if jetFlags.useMuonSegments(): emgetters += [jtm.gmusegget] lcgetters += [jtm.gmusegget] empfgetters += [jtm.gmusegget] - empfgetters_fe += [jtm.gmusegget] # Add jet ghosts. if 1: for gettername in jetFlags.additionalTopoGetters(): @@ -136,7 +133,6 @@ if jetFlags.useTruth(): emgetters += [jtm.gtruthget] lcgetters += [jtm.gtruthget] empfgetters += [jtm.gtruthget] - empfgetters_fe += [jtm.gtruthget] # Add truth cone matching and truth flavor ghosts. flavorgetters = [] for ptype in jetFlags.truthFlavorTags(): @@ -148,7 +144,6 @@ if jetFlags.useTruth(): trackgetters += flavorgetters pv0trackgetters += flavorgetters empfgetters += flavorgetters - empfgetters_fe += flavorgetters # Add track jet ghosts. if jetFlags.useTracks(): trackjetgetters = [] @@ -159,14 +154,12 @@ if jetFlags.useTracks(): emgetters += trackjetgetters lcgetters += trackjetgetters empfgetters += trackjetgetters - empfgetters_fe += trackjetgetters # Add getter lists to jtm indexed by input type name. jtm.gettersMap["emtopo"] = list(emgetters) jtm.gettersMap["lctopo"] = list(lcgetters) jtm.gettersMap["empflow"] = list(empfgetters) -jtm.gettersMap["empflowfe"] = list(empfgetters_fe) jtm.gettersMap["track"] = list(trackgetters) jtm.gettersMap["pv0track"] = list(pv0trackgetters) if jetFlags.useTruth(): @@ -176,7 +169,6 @@ if jetFlags.useTruth(): jtm.gettersMap["emtopo_reduced"] = filterout(["gakt2trackget","gakt4trackget"],emgetters) jtm.gettersMap["lctopo_reduced"] = filterout(["gakt2trackget","gakt4trackget"],lcgetters) jtm.gettersMap["empflow_reduced"] = filterout(["gakt2trackget","gakt4trackget"],empfgetters) -jtm.gettersMap["empflowfe_reduced"] = filterout(["gakt2trackget","gakt4trackget"],empfgetters_fe) ######################################################### diff --git a/Reconstruction/Jet/JetRec/python/JetRecStandardTools.py b/Reconstruction/Jet/JetRec/python/JetRecStandardTools.py index 34358a2a931..84b33a53987 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecStandardTools.py +++ b/Reconstruction/Jet/JetRec/python/JetRecStandardTools.py @@ -338,37 +338,23 @@ xAODType.ObjectType # - points neutral PFOs to the selected vertex # - weights charged PFOs to smoothly turn off shower subtraction at high pt ctm.add( CorrectPFOTool("CorrectPFOTool", - WeightPFOTool = jtm.pflowweighter, - InputIsEM = True, - CalibratePFO = False, - UseChargedWeights = True, - InputType = xAODType.ParticleFlow - ), - alias = 'correctPFO' ) - -ctm.add( CorrectPFOTool("CorrectPFOTool_FE", WeightPFOTool = jtm.pflowweighter, InputIsEM = True, CalibratePFO = False, UseChargedWeights = True, InputType = xAODType.FlowElement ), - alias = 'correctPFO_FE' ) + alias = 'correctPFO' ) # this removes (weights momenta to 0) charged PFOs from non-hard-scatter vertices -ctm.add( ChargedHadronSubtractionTool("CHSTool", InputType = xAODType.ParticleFlow), +ctm.add( ChargedHadronSubtractionTool("CHSTool", InputType = xAODType.FlowElement), alias = 'chsPFO' ) -ctm.add( ChargedHadronSubtractionTool("CHSTool_FE", InputType = xAODType.FlowElement), - alias = 'chsPFO_FE' ) - # Options to disable dependence on primary vertex container # for PFO corrections (e.g. when running cosmics) if not (jetFlags.useTracks and jetFlags.useVertices): ctm.modifiersMap['correctPFO'].CorrectNeutral=False - ctm.modifiersMap['correctPFO_FE'].CorrectNeutral=False ctm.modifiersMap['chsPFO'].IgnoreVertex=True - ctm.modifiersMap['chsPFO_FE'].IgnoreVertex=True # Run the above tools to modify PFO jtm += ctm.buildConstitModifSequence( "JetConstitSeq_PFlowCHS", @@ -376,12 +362,6 @@ jtm += ctm.buildConstitModifSequence( "JetConstitSeq_PFlowCHS", OutputContainer = "CHS", #"ParticleFlowObjects" will be appended later modList = ['correctPFO', 'chsPFO'] ) -jtm += ctm.buildConstitModifSequence( "JetConstitSeq_PFlowCHS_FE", - InputContainer = "JetETMiss", - OutputContainer = "CHS", #"FlowElements" will be appended later - modList = ['correctPFO_FE', 'chsPFO_FE'], - InputType = xAODType.FlowElement ) - # EM-scale pflow. jtm += PseudoJetAlgorithm( "empflowget", @@ -391,14 +371,6 @@ jtm += PseudoJetAlgorithm( SkipNegativeEnergy = True, ) -jtm += PseudoJetAlgorithm( - "empflowget_fe", - Label = "EMPFlowFE", - InputContainer = "CHSFlowElements", - OutputContainer = "PseudoJetEMPFlowFE", - SkipNegativeEnergy = True, -) - # EM-scale pflow with custom selection for the primary vertex jtm += PseudoJetAlgorithm( "pflowcustomvtxget", diff --git a/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py b/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py index 91aadbc1840..d83cd7bc40a 100644 --- a/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py +++ b/Reconstruction/Jet/JetRecConfig/python/JetDefinition.py @@ -422,7 +422,6 @@ class JetInputType(IntEnum): HI=auto() HIClusters=auto() Other = 100 - EMPFlowFE = 200 # Temporary, until xAOD::PFO is phased out and replaced with xAOD::FlowElement Uncategorized= 1000 def fromxAODType(xt): diff --git a/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx b/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx index 47d6023a23c..271d085570b 100644 --- a/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx +++ b/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx @@ -94,12 +94,12 @@ StatusCode JetConstituentModSequence::initialize() { { // TODO: This assumes a PFlow-style neutral and charged collection. // More general FlowElements (e.g. CaloClusters) may necessitate a rework here later. - m_inChargedFEKey = m_inputContainer + "ChargedFlowElements"; - m_inNeutralFEKey = m_inputContainer + "NeutralFlowElements"; + m_inChargedFEKey = m_inputContainer + "ChargedParticleFlowObjects"; + m_inNeutralFEKey = m_inputContainer + "NeutralParticleFlowObjects"; - m_outChargedFEKey = m_outputContainer+"ChargedFlowElements"; - m_outNeutralFEKey = m_outputContainer+"NeutralFlowElements"; - m_outAllFEKey = m_outputContainer+"FlowElements"; + m_outChargedFEKey = m_outputContainer+"ChargedParticleFlowObjects"; + m_outNeutralFEKey = m_outputContainer+"NeutralParticleFlowObjects"; + m_outAllFEKey = m_outputContainer+"ParticleFlowObjects"; ATH_CHECK(m_inChargedFEKey.initialize()); ATH_CHECK(m_inNeutralFEKey.initialize()); diff --git a/Reconstruction/Jet/JetRecTools/python/ConstitToolManager.py b/Reconstruction/Jet/JetRecTools/python/ConstitToolManager.py index ff29746d5e0..a89a4b67f80 100644 --- a/Reconstruction/Jet/JetRecTools/python/ConstitToolManager.py +++ b/Reconstruction/Jet/JetRecTools/python/ConstitToolManager.py @@ -40,7 +40,7 @@ class ConstituentToolManager(object): # map of known input collections to their type inputContainerMap = dict( CaloCalTopoClusters = xAODType.CaloCluster, CaloTopoClusters = xAODType.CaloCluster, EMOriginTopoClusters = xAODType.CaloCluster, LCOriginTopoClusters = xAODType.CaloCluster, - InDetTrackParticles = xAODType.TrackParticle, JetETMiss = xAODType.ParticleFlow ) + InDetTrackParticles = xAODType.TrackParticle, JetETMiss = xAODType.FlowElement ) log = Logging.logging.getLogger("ConstituentToolManager") diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py index d2a9c435679..1b0c90c44ef 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py @@ -17,14 +17,12 @@ defaultInputKey = { 'LCJet' :'AntiKt4LCTopoJets', 'EMJet' :'AntiKt4EMTopoJets', 'PFlowJet' :'AntiKt4EMPFlowJets', - 'PFlowFEJet':'AntiKt4EMPFlowFEJets', 'ORPFlowJet':'AntiKt4OverlapRemovedEMPFlowJets', 'Muon' :'Muons', 'Soft' :'', 'Clusters' :'CaloCalTopoClusters', 'Tracks' :'InDetTrackParticles', 'PFlowObj' :'CHSParticleFlowObjects', - 'PFlowObjFE':'CHSFlowElements', 'ORPFlowObj':'OverlapRemovedCHSParticleFlowObjects', 'PrimVxColl':'PrimaryVertices', 'Truth' :'TruthEvents', @@ -40,6 +38,7 @@ class AssocConfig: self.objType = objType self.inputKey = inputKey +# usePFOLinks option is deprecated and will eventually be removed. def getAssociator(config,suffix,doPFlow=False,usePFOLinks=False,useFELinks=False, trkseltool=None,trkisotool=None,caloisotool=None, modConstKey="", @@ -61,13 +60,11 @@ def getAssociator(config,suffix,doPFlow=False,usePFOLinks=False,useFELinks=False if config.objType == 'Ele': from ROOT import met tool = CfgMgr.met__METElectronAssociator('MET_ElectronAssociator_'+suffix,TCMatchMethod=met.ClusterLink) - tool.UsePFOElectronLinks = metFlags.UsePFOElectronLinks() tool.UseFEElectronLinks = metFlags.UseFEElectronLinks() if config.objType == 'Gamma': from ROOT import met tool = CfgMgr.met__METPhotonAssociator('MET_PhotonAssociator_'+suffix,TCMatchMethod=met.ClusterLink) - tool.UsePFOPhotonLinks = metFlags.UsePFOPhotonLinks() tool.UseFEPhotonLinks = metFlags.UseFEPhotonLinks() if config.objType == 'Tau': @@ -81,8 +78,6 @@ def getAssociator(config,suffix,doPFlow=False,usePFOLinks=False,useFELinks=False tool = CfgMgr.met__METJetAssocTool('MET_PFlowJetAssocTool_'+suffix) if config.objType == 'ORPFlowJet': tool = CfgMgr.met__METJetAssocTool('MET_OverlapRemovedPFlowJetAssocTool_'+suffix) - if config.objType == 'PFlowFEJet': - tool = CfgMgr.met__METJetAssocTool('MET_PFlowFEJetAssocTool_'+suffix) if config.objType == 'Muon': tool = CfgMgr.met__METMuonAssociator('MET_MuonAssociator_'+suffix) tool.UseFEMuonLinks = metFlags.UseFEMuonLinks() @@ -194,8 +189,7 @@ class METAssocConfig: print (prefix, 'Creating MET Assoc config \''+suffix+'\'') self.suffix = suffix self.doPFlow = doPFlow - self.usePFOLinks = usePFOLinks - self.useFELinks = useFELinks + self.useFELinks = usePFOLinks self.modConstKey=modConstKey_tmp self.modClusColls=modClusColls_tmp self.doTruth = doTruth diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig_readAOD.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig_readAOD.py index 61b3897355c..df60dcac8bb 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig_readAOD.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig_readAOD.py @@ -21,7 +21,6 @@ defaultInputKey = { 'LCJet' :'AntiKt4LCTopoJets', 'EMJet' :'AntiKt4EMTopoJets', 'PFlowJet' :'AntiKt4EMPFlowJets', - 'PFlowFEJet':'AntiKt4EMPFlowFEJets', 'Muon' :'Muons', 'Soft' :'', 'ClusColl' :'CaloCalTopoClusters', @@ -83,8 +82,6 @@ def getAssociator(config,suffix,doPFlow=False, tool = CfgMgr.met__METJetAssocTool('MET_EMJetAssocTool_'+suffix) if config.objType == 'PFlowJet': tool = CfgMgr.met__METJetAssocTool('MET_PFlowJetAssocTool_'+suffix) - if config.objType == 'PFlowFEJet': - tool = CfgMgr.met__METJetAssocTool('MET_PFlowFEJetAssocTool_'+suffix) if config.objType == 'Muon': tool = CfgMgr.met__METMuonAssociator('MET_MuonAssociator_'+suffix,DoClusterMatch=False) if config.objType == 'Soft': diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py index b83ec91a48a..d8f763ce85f 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py @@ -66,32 +66,8 @@ if metFlags.DoPFlow() and metFlags.UseTracks(): cfg_akt4pf = METAssocConfig('AntiKt4EMPFlow', associators, doPFlow=True, - usePFOLinks=metFlags.UsePFOLinks(), useFELinks=metFlags.UseFELinks() ) metFlags.METAssocConfigs()[cfg_akt4pf.suffix] = cfg_akt4pf - metFlags.METAssocOutputList().append(cfg_akt4pf.suffix) - - -############################################################################ -# PFlow (FlowElement) -if metFlags.DoPFlow() and metFlags.UseTracks() and metFlags.UseFlowElements(): - JetType = 'PFlowFEJet' - - associators = [AssocConfig(JetType), - AssocConfig('Muon'), - AssocConfig('Ele'), - AssocConfig('Gamma'), - AssocConfig('Tau'), - AssocConfig('Soft')] - cfg_akt4pffe = METAssocConfig('AntiKt4EMPFlowFE', - associators, - doPFlow=True, - usePFOLinks=metFlags.UsePFOLinks(), - useFELinks=metFlags.UseFELinks() - ) - - metFlags.METAssocConfigs()[cfg_akt4pffe.suffix] = cfg_akt4pffe - metFlags.METAssocOutputList().append(cfg_akt4pffe.suffix) - + metFlags.METAssocOutputList().append(cfg_akt4pf.suffix) \ No newline at end of file diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py index c13ad728593..f1d74f5ef26 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py @@ -66,27 +66,12 @@ class METAssocOutputList(JobProperty): allowedTypes = ['list'] StoredValue = [] -class UsePFOLinks(JobProperty): - statusOn = True - allowedTypes = ['bool'] - StoredValue = False - class UseFELinks(JobProperty): statusOn = True allowedTypes = ['bool'] StoredValue = False -class UsePFOElectronLinks(JobProperty): - statusOn = True - allowedTypes = ['bool'] - StoredValue = False - -class UsePFOPhotonLinks(JobProperty): - statusOn = True - allowedTypes = ['bool'] - StoredValue = False - -class UseFEElectronLinks(JobProperty): +class UseFEElectronLinks(JobProperty): statusOn = True allowedTypes = ['bool'] StoredValue = False @@ -117,7 +102,6 @@ jobproperties.add_Container(METRecoFlags) jobproperties.METRecoFlags.add_JobProperty(DoRegions) jobproperties.METRecoFlags.add_JobProperty(DoPFlow) -jobproperties.METRecoFlags.add_JobProperty(UsePFOLinks) jobproperties.METRecoFlags.add_JobProperty(UseFELinks) jobproperties.METRecoFlags.add_JobProperty(UsePFOElectronLinks) jobproperties.METRecoFlags.add_JobProperty(UsePFOPhotonLinks) diff --git a/Reconstruction/MET/METReconstruction/share/RunORMETReco.py b/Reconstruction/MET/METReconstruction/share/RunORMETReco.py index 7a5faddf523..cfeee599030 100644 --- a/Reconstruction/MET/METReconstruction/share/RunORMETReco.py +++ b/Reconstruction/MET/METReconstruction/share/RunORMETReco.py @@ -24,7 +24,6 @@ metWP = "PFlow" usePFOElectronLinks = True usePFOPhotonLinks = True -usePFOLinks = True retainMuon = True ############################################################################ @@ -43,7 +42,6 @@ include("eflowRec/jetAlgs.py") # std jet reco (AntiKt4EMPFlowJets) from METReconstruction.METRecoFlags import jobproperties, metFlags metFlags.UsePFOElectronLinks=usePFOElectronLinks metFlags.UsePFOPhotonLinks=usePFOPhotonLinks -#metFlags.UsePFOLinks=usePFOLinks metFlags.DoORMet = False # used by ORMETAssoc.py include("METUtilities/ORMETAssoc.py") diff --git a/Reconstruction/MET/METUtilities/share/ORMETAssoc.py b/Reconstruction/MET/METUtilities/share/ORMETAssoc.py index ed3701dbdb3..f7524e6bf45 100644 --- a/Reconstruction/MET/METUtilities/share/ORMETAssoc.py +++ b/Reconstruction/MET/METUtilities/share/ORMETAssoc.py @@ -14,7 +14,6 @@ associators = [AssocConfig(JetType), cfg_akt4pf = METAssocConfig('AntiKt4EMPFlow' if metFlags.DoORMet==False else 'AntiKt4OverlapRemovedEMPFlow', associators, doPFlow=True, - usePFOLinks=metFlags.UsePFOLinks(), useFELinks=metFlags.UseFELinks() ) diff --git a/Reconstruction/eflowRec/python/eflowRecFlags.py b/Reconstruction/eflowRec/python/eflowRecFlags.py index 9687e212d3e..1545e1ae52a 100644 --- a/Reconstruction/eflowRec/python/eflowRecFlags.py +++ b/Reconstruction/eflowRec/python/eflowRecFlags.py @@ -98,7 +98,7 @@ class eflowRecFlags(JobPropertyContainer): # add the flags container to the top container jobproperties.add_Container(eflowRecFlags) -eflowJobProperties = [eflowAlgType,recoverIsolatedTracks, useElectrons, useMuons ,storeLeptonCells, useUpdated2015ChargedShowerSubtraction,useCalibHitTruth,usePFEGammaPFOAssoc,usePFlowFlowElementTauAssoc,usePFFlowElementAssoc,provideShowerSubtractedClusters, useFlowElements, doFlowElementValidation, useRun2_mc20_EOverP] +eflowJobProperties = [eflowAlgType,recoverIsolatedTracks, useElectrons, useMuons ,storeLeptonCells, useUpdated2015ChargedShowerSubtraction,useCalibHitTruth,usePFlowFlowElementTauAssoc,usePFFlowElementAssoc,provideShowerSubtractedClusters, doFlowElementValidation, useRun2_mc20_EOverP] for i in eflowJobProperties : jobproperties.eflowRecFlags.add_JobProperty(i) -- GitLab From a13bace30aa50c8c81543fc6cfe001c1afaf3cd3 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 16 Jun 2021 14:48:55 +0200 Subject: [PATCH 07/36] Add flags for MET output, not in AOD by default --- .../python/LegacyRunII/METRecoFlags.py | 16 +++++-- ...TReconstructionOutputAODList_jobOptions.py | 34 +++++++++----- ...TReconstructionOutputESDList_jobOptions.py | 47 ++++++++++--------- 3 files changed, 58 insertions(+), 39 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py index f1d74f5ef26..1caf0b5b590 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py @@ -96,15 +96,23 @@ class DoORMet(JobProperty): allowedTypes = ['bool'] StoredValue = False +class WriteMETToOutput(JobProperty): + statusOn = True + allowedTypes = ['bool'] + StoredValue = True + +class WriteMETAssocToOutput(JobProperty): + statusOn = True + allowedTypes = ['bool'] + StoredValue = True + jobproperties.add_Container(METRecoFlags) jobproperties.METRecoFlags.add_JobProperty(DoRegions) jobproperties.METRecoFlags.add_JobProperty(DoPFlow) -jobproperties.METRecoFlags.add_JobProperty(UseFELinks) -jobproperties.METRecoFlags.add_JobProperty(UsePFOElectronLinks) -jobproperties.METRecoFlags.add_JobProperty(UsePFOPhotonLinks) +jobproperties.METRecoFlags.add_JobProperty(UseFELinks) jobproperties.METRecoFlags.add_JobProperty(UseFEElectronLinks) jobproperties.METRecoFlags.add_JobProperty(UseFEPhotonLinks) jobproperties.METRecoFlags.add_JobProperty(UseFETauLinks) @@ -120,6 +128,8 @@ jobproperties.METRecoFlags.add_JobProperty(METRecoTools) jobproperties.METRecoFlags.add_JobProperty(METAssocConfigs) jobproperties.METRecoFlags.add_JobProperty(METAssocOutputList) jobproperties.METRecoFlags.add_JobProperty(METAssocTools) +jobproperties.METRecoFlags.add_JobProperty(WriteMETToOutput) +jobproperties.METRecoFlags.add_JobProperty(WriteMETAssocToOutput) metFlags = jobproperties.METRecoFlags diff --git a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py index d3b5a6c019b..6455d8b7047 100644 --- a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py +++ b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputAODList_jobOptions.py @@ -2,17 +2,25 @@ MissingETAODList = [] from METReconstruction.METRecoFlags import metFlags -for config in metFlags.METOutputList(): - MissingETAODList.append( 'xAOD::MissingETContainer#MET_'+config ) - MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_'+config+'Aux.' ) - if config == 'Truth': - MissingETAODList.append( 'xAOD::MissingETComponentMap#METMap_'+config ) - MissingETAODList.append( 'xAOD::MissingETAuxComponentMap#METMap_'+config+'Aux.' ) +# don't write MET quantities to AOD unless the user has specifically said so and locked it +if not metFlags.WriteMETToOutput.is_locked(): + metFlags.WriteMETToOutput.set_Value_and_Lock(False) +if not metFlags.WriteMETAssocToOutput.is_locked(): + metFlags.WriteMETAssocToOutput.set_Value_and_Lock(False) -for config in metFlags.METAssocOutputList(): - MissingETAODList.append( 'xAOD::MissingETAssociationMap#METAssoc_'+config ) - MissingETAODList.append( 'xAOD::MissingETAuxAssociationMap#METAssoc_'+config+'Aux.' ) - MissingETAODList.append( 'xAOD::MissingETContainer#MET_Core_'+config ) - MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_Core_'+config+'Aux.' ) - MissingETAODList.append( 'xAOD::MissingETContainer#MET_Reference_'+config ) - MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_Reference_'+config+'Aux.-ConstitObjectLinks.-ConstitObjectWeights' ) +if metFlags.WriteMETToOutput(): + for config in metFlags.METOutputList(): + MissingETAODList.append( 'xAOD::MissingETContainer#MET_'+config ) + MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_'+config+'Aux.' ) + if config == 'Truth': + MissingETAODList.append( 'xAOD::MissingETComponentMap#METMap_'+config ) + MissingETAODList.append( 'xAOD::MissingETAuxComponentMap#METMap_'+config+'Aux.' ) + +if metFlags.WriteMETAssocToOutput(): + for config in metFlags.METAssocOutputList(): + MissingETAODList.append( 'xAOD::MissingETAssociationMap#METAssoc_'+config ) + MissingETAODList.append( 'xAOD::MissingETAuxAssociationMap#METAssoc_'+config+'Aux.' ) + MissingETAODList.append( 'xAOD::MissingETContainer#MET_Core_'+config ) + MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_Core_'+config+'Aux.' ) + MissingETAODList.append( 'xAOD::MissingETContainer#MET_Reference_'+config ) + MissingETAODList.append( 'xAOD::MissingETAuxContainer#MET_Reference_'+config+'Aux.-ConstitObjectLinks.-ConstitObjectWeights' ) diff --git a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputESDList_jobOptions.py b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputESDList_jobOptions.py index 32718a10d12..a98fedbd568 100644 --- a/Reconstruction/MET/METReconstruction/share/METReconstructionOutputESDList_jobOptions.py +++ b/Reconstruction/MET/METReconstruction/share/METReconstructionOutputESDList_jobOptions.py @@ -2,28 +2,29 @@ MissingETESDList = [] outputlist = [] from METReconstruction.METRecoFlags import metFlags -if len(metFlags.METOutputList())==0: - outputlist = ['Truth','EMTopo','LocHadTopo','Calo','Track' - 'TruthRegions','EMTopoRegions','LocHadTopoRegions'] -else: - outputlist = metFlags.METOutputList() +if metFlags.WriteMETToOutput(): + if len(metFlags.METOutputList())==0: + outputlist = ['Truth','EMTopo','LocHadTopo','Calo','Track' + 'TruthRegions','EMTopoRegions','LocHadTopoRegions'] + else: + outputlist = metFlags.METOutputList() -for config in outputlist: - MissingETESDList.append( 'xAOD::MissingETContainer#MET_'+config ) - MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_'+config+'Aux.' ) - if config == 'Truth': - MissingETESDList.append( 'xAOD::MissingETComponentMap#METMap_'+config ) - MissingETESDList.append( 'xAOD::MissingETAuxComponentMap#METMap_'+config+'Aux.' ) + for config in outputlist: + MissingETESDList.append( 'xAOD::MissingETContainer#MET_'+config ) + MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_'+config+'Aux.' ) + if config == 'Truth': + MissingETESDList.append( 'xAOD::MissingETComponentMap#METMap_'+config ) + MissingETESDList.append( 'xAOD::MissingETAuxComponentMap#METMap_'+config+'Aux.' ) -if len(metFlags.METAssocOutputList())==0: - assocoutput = ['AntiKt4LCTopo','AntiKt4EMTopo','AntiKt4EMPFlow'] - #assocoutput += ['Truth_AntiKt4LCTopo','Truth_AntiKt4EMTopo','Truth_AntiKt4EMPFlow'] -else: - assocoutput = metFlags.METAssocOutputList() -for config in assocoutput: - MissingETESDList.append( 'xAOD::MissingETAssociationMap#METAssoc_'+config ) - MissingETESDList.append( 'xAOD::MissingETAuxAssociationMap#METAssoc_'+config+'Aux.' ) - MissingETESDList.append( 'xAOD::MissingETContainer#MET_Core_'+config ) - MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_Core_'+config+'Aux.' ) - MissingETESDList.append( 'xAOD::MissingETContainer#MET_Reference_'+config ) - MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_Reference_'+config+'Aux.-ConstitObjectLinks.-ConstitObjectWeights' ) +if metFlags.WriteMETAssocToOutput(): + if len(metFlags.METAssocOutputList())==0: + assocoutput = ['AntiKt4LCTopo','AntiKt4EMTopo','AntiKt4EMPFlow'] + else: + assocoutput = metFlags.METAssocOutputList() + for config in assocoutput: + MissingETESDList.append( 'xAOD::MissingETAssociationMap#METAssoc_'+config ) + MissingETESDList.append( 'xAOD::MissingETAuxAssociationMap#METAssoc_'+config+'Aux.' ) + MissingETESDList.append( 'xAOD::MissingETContainer#MET_Core_'+config ) + MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_Core_'+config+'Aux.' ) + MissingETESDList.append( 'xAOD::MissingETContainer#MET_Reference_'+config ) + MissingETESDList.append( 'xAOD::MissingETAuxContainer#MET_Reference_'+config+'Aux.-ConstitObjectLinks.-ConstitObjectWeights' ) -- GitLab From 4b54223b5414cf0b6dc79298d51ef109d4bce283 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 17 Jun 2021 13:22:36 +0200 Subject: [PATCH 08/36] Add derivation support for standard jets --- .../python/ExtendedJetCommon.py | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py index a4aaff38a35..5c70ee48b7b 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py @@ -120,21 +120,27 @@ def addAntiKt10TruthWZJets(sequence,outputlist): if DerivationFrameworkHasTruth: addStandardJets("AntiKt", 1.0, "TruthWZ", ptmin=40000, mods="truth_ungroomed_larger", algseq=sequence, outputGroup=outputlist) -def addAntiKt4EMPFlowJets(sequence, outputlist): - addCHSPFlowObjects() +def addAntiKt4EMTopoJets(sequence, outputlist): + addEventShape(0.4, "EMTopo", sequence) + addStandardJets("AntiKt", 0.4, "EMTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist) - if not hasattr(sequence, jtm.empflowget.name()): - sequence += jtm.empflowget - #EventShape (needed for calibration) - if not hasattr(sequence, 'EventDensityAlgEDTool4EMPFlow'): - sequence += defineEDAlg(R=0.4, inputtype="EMPFlow") +def addAntiKt4LCTopoJets(sequence, outputlist): + addEventShape(0.4, "LCTopo", sequence) + addStandardJets("AntiKt", 0.4, "LCTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist) +def addAntiKt4EMPFlowJets(sequence, outputlist): + addCHSPFlowObjects() + addEventShape(0.4, "EMPFlow", sequence) addStandardJets("AntiKt", 0.4, "EMPFlow", ptmin=5000, ptminFilter=10000, mods="pflow_ungroomed", calibOpt="arj:pflow", algseq=sequence, outputGroup=outputlist) ################################################################## def replaceAODReducedJets(jetlist,sequence,outputlist): extjetlog.info( "Replacing AOD-reduced jet collections: {0}".format(",".join(jetlist))) + if "AntiKt4EMPTopoJets" in jetlist: + addAntiKt4EMTopoJets(sequence,outputlist) + if "AntiKt4LCTopoJets" in jetlist: + addAntiKt4LCTopoJets(sequence,outputlist) if "AntiKt4EMPFlowJets" in jetlist: addAntiKt4EMPFlowJets(sequence,outputlist) if "AntiKt2PV0TrackJets" in jetlist: @@ -153,8 +159,6 @@ def replaceAODReducedJets(jetlist,sequence,outputlist): addAntiKt10TruthJets(sequence,outputlist) if "AntiKt10TruthWZJets" in jetlist: addAntiKt10TruthWZJets(sequence,outputlist) - if "AntiKt2LCTopoJets" in jetlist: - addAntiKt2LCTopoJets(sequence,outputlist) # noqa: F821 (FIXME, does not exist) if "AntiKt10LCTopoJets" in jetlist: addAntiKt10LCTopoJets(sequence,outputlist) if "AntiKtVR30Rmax4Rmin02PV0TrackJets" in jetlist: @@ -951,6 +955,19 @@ def addCHSPFlowObjects(): extjetlog.info(job.jetalg.Tools) ################################################################## +# Helper to schedule event shapes, needed for calibration +# Automatically chooses the origin corrected clusters if jet reco +# is configured for them. +################################################################## +def addEventShape(radius, inputType, sequence): + from JetRec.JetRecFlags import jetFlags + if jetFlags.useTracks() and jetFlags.useVertices(): + if inputType == "EMTopo": + inputType = "EMTopoOrigin" + elif inputType == "LCTopo": + inputType == "LCTopoOrigin" + if not hasattr(sequence, "EDTool"+str(int(R*10))+inputType): + sequence += defineEDAlg(R=radius, inputtype=inputType) applyJetCalibration_xAODColl("AntiKt4EMTopo") updateJVT_xAODColl("AntiKt4EMTopo") -- GitLab From d8cbc13324f2850580e0c8d8d6da67b95a9458ce Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Mon, 21 Jun 2021 23:15:42 +0200 Subject: [PATCH 09/36] Propagate PFO container changes to more places --- .../METReconstruction/METAssociator.h | 4 +-- .../python/LegacyRunII/METAssocConfig.py | 3 --- .../LegacyRunII/METConfig_Associator.py | 2 +- .../eflowRec/share/PFlowMTConfig.py | 26 ++++++++----------- .../eflowRec/share/eflowRecESDList.py | 12 ++++----- 5 files changed, 20 insertions(+), 27 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/METReconstruction/METAssociator.h b/Reconstruction/MET/METReconstruction/METReconstruction/METAssociator.h index 972df5c1661..14965c27a95 100644 --- a/Reconstruction/MET/METReconstruction/METReconstruction/METAssociator.h +++ b/Reconstruction/MET/METReconstruction/METReconstruction/METAssociator.h @@ -101,8 +101,8 @@ namespace met { SG::ReadHandleKey m_pvcollKey; SG::ReadHandleKey m_clcollKey; SG::ReadHandleKey m_trkcollKey; - SG::ReadHandleKey m_pfcollKey{this,"PFlowColl","CHSParticleFlowObjects","PFO Collection"}; - SG::ReadHandleKey m_fecollKey{this,"FlowElementCollection","","FlowElement Collection (overrides PFO if not empty)"}; + SG::ReadHandleKey m_pfcollKey{this,"PFlowColl","","PFO Collection"}; + SG::ReadHandleKey m_fecollKey{this,"FlowElementCollection","CHSParticleFlowObjects","FlowElement Collection (overrides PFO if not empty)"}; SG::ReadHandleKey m_forcollKey; SG::ReadHandleKey m_hybridContKey; diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py index 1b0c90c44ef..423418cbc44 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py @@ -136,7 +136,6 @@ class METAssocConfig: # def outputMap(self): return 'METAssoc_'+self.suffix - return 'METAssoc_'+self.suffix # def setupAssociators(self,buildconfigs): print (prefix, 'Setting up associators for MET config '+self.suffix) @@ -147,7 +146,6 @@ class METAssocConfig: else: associator = getAssociator(config=config,suffix=self.suffix, doPFlow=self.doPFlow, - usePFOLinks=self.usePFOLinks, useFELinks=self.useFELinks, trkseltool=self.trkseltool, trkisotool=self.trkisotool, @@ -165,7 +163,6 @@ class METAssocConfig: def __init__(self,suffix,buildconfigs=[], doPFlow=False,doTruth=False, usePFOLinks=False, - useFELinks=False, trksel=None, modConstKey="", modClusColls={} diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py index d8f763ce85f..ce5f0c1ded1 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METConfig_Associator.py @@ -66,7 +66,7 @@ if metFlags.DoPFlow() and metFlags.UseTracks(): cfg_akt4pf = METAssocConfig('AntiKt4EMPFlow', associators, doPFlow=True, - useFELinks=metFlags.UseFELinks() + usePFOLinks=metFlags.UseFELinks() ) metFlags.METAssocConfigs()[cfg_akt4pf.suffix] = cfg_akt4pf diff --git a/Reconstruction/eflowRec/share/PFlowMTConfig.py b/Reconstruction/eflowRec/share/PFlowMTConfig.py index 877bcff79d6..66f1673eaf3 100644 --- a/Reconstruction/eflowRec/share/PFlowMTConfig.py +++ b/Reconstruction/eflowRec/share/PFlowMTConfig.py @@ -231,32 +231,28 @@ PFAlgorithm.BaseToolList += [PFLCCalibTool] topSequence += PFAlgorithm -from eflowRec.eflowRecConf import PFOChargedFlowElementCreatorAlgorithm +from eflowRec.eflowRecConf import PFChargedFlowElementCreatorAlgorithm PFOChargedCreatorAlgorithm = PFChargedFlowElementCreatorAlgorithm("PFOChargedCreatorAlgorithm") - if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - PFOChargedCreatorAlgorithm.PFOOutputName="EOverPChargedParticleFlowObjects" + PFOChargedCreatorAlgorithm.FlowElementOutputName="EOverPChargedParticleFlowObjects" PFOChargedCreatorAlgorithm.EOverPMode=True - topSequence += PFOChargedCreatorAlgorithm -from eflowRec.eflowRecConf import PFONeutralFlowElementCreatorAlgorithm -PFONeutralCreatorAlgorithm = PFONeutralFlowElementCreatorAlgorithm("PFONeutralCreatorAlgorithm") +from eflowRec.eflowRecConf import PFNeutralFlowElementCreatorAlgorithm +PFONeutralCreatorAlgorithm = PFNeutralFlowElementCreatorAlgorithm("PFONeutralCreatorAlgorithm") if jobproperties.eflowRecFlags.useCalibHitTruth: PFONeutralCreatorAlgorithm.UseCalibHitTruth=True - if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": - PFONeutralCreatorAlgorithm.PFOOutputName="EOverPNeutralParticleFlowObjects" + PFONeutralCreatorAlgorithm.FlowElementOutputName="EOverPNeutralParticleFlowObjects" PFONeutralCreatorAlgorithm.EOverPMode=True - -# TODO: revisit if a new version of this is needed -#if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: -# PFONeutralCreatorAlgorithm.AddShowerSubtractedClusters = True - topSequence += PFONeutralCreatorAlgorithm + from eflowRec.eflowRecConf import PFLCNeutralFlowElementCreatorAlgorithm -PFLCNeutralFlowElementCreatorAlgorithm = PFLCNeutralFlowElementCreatorAlgorithm("PFLCNeutralFlowElementCreatorAlgorithm") -topSequence += PFLCNeutralFlowElementCreatorAlgorithm +PFOLCNeutralCreatorAlgorithm = PFLCNeutralFlowElementCreatorAlgorithm("PFLCNeutralFlowElementCreatorAlgorithm") +if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": + PFOLCNeutralCreatorAlgorithm.FEInputContainerName="EOverPNeutralParticleFlowObjects" + PFOLCNeutralCreatorAlgorithm.FELCOutputName="EOverPLCNeutralParticleFlowObjects" +topSequence += PFOLCNeutralCreatorAlgorithm if jobproperties.eflowRecFlags.usePFFlowElementAssoc: diff --git a/Reconstruction/eflowRec/share/eflowRecESDList.py b/Reconstruction/eflowRec/share/eflowRecESDList.py index 601768d8a09..1a1cf8884d6 100644 --- a/Reconstruction/eflowRec/share/eflowRecESDList.py +++ b/Reconstruction/eflowRec/share/eflowRecESDList.py @@ -11,14 +11,14 @@ if jobproperties.eflowRecFlags.eflowAlgType == "EOverP": eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPChargedParticleFlowObjectsAux."] eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList] else: - eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] - eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] + eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"] + eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."] - eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"] - eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList] + eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"] + eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList] - eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"] - eflowRecAODList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."] + eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"] + eflowRecESDList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."] if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters: eflowRecESDList += [ "xAOD::CaloClusterContainer#PFCaloCluster"] -- GitLab From 88bc08b29d41163d699de3bfef630450a82128fa Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Tue, 22 Jun 2021 19:40:15 +0200 Subject: [PATCH 10/36] Port calo isolation to FlowElements --- .../IsolationAlgs/python/IsoGetter.py | 10 +-- .../IsolationTool/CaloIsolationTool.h | 18 +++--- .../IsolationTool/Root/CaloIsolationTool.cxx | 33 +++++----- .../IFlowElementsInConeTool.h | 45 +++++++++++++ .../src/FlowElementsInConeTool.cxx | 64 +++++++++++++++++++ .../src/FlowElementsInConeTool.h | 57 +++++++++++++++++ .../ParticlesInConeTools_entries.cxx | 2 + .../Egamma/TrigEgammaFactories.py | 2 +- 8 files changed, 199 insertions(+), 32 deletions(-) create mode 100644 Reconstruction/RecoTools/ParticlesInConeTools/ParticlesInConeTools/IFlowElementsInConeTool.h create mode 100644 Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.cxx create mode 100644 Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.h diff --git a/Reconstruction/RecoAlgs/IsolationAlgs/python/IsoGetter.py b/Reconstruction/RecoAlgs/IsolationAlgs/python/IsoGetter.py index b9727719c54..7b5f2fa4751 100644 --- a/Reconstruction/RecoAlgs/IsolationAlgs/python/IsoGetter.py +++ b/Reconstruction/RecoAlgs/IsolationAlgs/python/IsoGetter.py @@ -23,7 +23,7 @@ from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() doPFlow = False -PFlowObjectsInConeTool = None +FlowElementsInConeTool = None from RecExConfig.RecAlgsFlags import recAlgs from AthenaCommon.BeamFlags import jobproperties useVertices = True @@ -35,9 +35,9 @@ if recAlgs.doEFlow() : doPFlow = True # tool to collect pflow objects in cone - from ParticlesInConeTools.ParticlesInConeToolsConf import xAOD__PFlowObjectsInConeTool - PFlowObjectsInConeTool = ToolFactory(xAOD__PFlowObjectsInConeTool, - name = "PFlowObjectsInConeTool") + from ParticlesInConeTools.ParticlesInConeToolsConf import xAOD__FlowElementsInConeTool + FlowElementsInConeTool = ToolFactory(xAOD__FlowElementsInConeTool, + name = "FlowElementsInConeTool") from JetRec.JetRecStandard import jtm from JetRec.JetRecConf import PseudoJetAlgorithm @@ -140,7 +140,7 @@ from CaloIdentifier import SUBCALO from IsolationTool.IsolationToolConf import xAOD__CaloIsolationTool, xAOD__TrackIsolationTool MuCaloIsolationTool = ToolFactory(xAOD__CaloIsolationTool,name = "MuCaloIsolationTool", postInit = [configureEDCorrection], - PFlowObjectsInConeTool = PFlowObjectsInConeTool, + FlowElementsInConeTool = FlowElementsInConeTool, ParticleCaloExtensionTool = CaloExtensionTool, ParticleCaloCellAssociationTool = None, EMCaloNums = [SUBCALO.LAREM], diff --git a/Reconstruction/RecoTools/IsolationTool/IsolationTool/CaloIsolationTool.h b/Reconstruction/RecoTools/IsolationTool/IsolationTool/CaloIsolationTool.h index 56d4bd11efd..2c642e576d4 100644 --- a/Reconstruction/RecoTools/IsolationTool/IsolationTool/CaloIsolationTool.h +++ b/Reconstruction/RecoTools/IsolationTool/IsolationTool/CaloIsolationTool.h @@ -13,7 +13,7 @@ #ifndef XAOD_ANALYSIS // #include "GaudiKernel/ToolHandle.h" #include "ParticlesInConeTools/ICaloClustersInConeTool.h" -#include "ParticlesInConeTools/IPFlowObjectsInConeTool.h" +#include "ParticlesInConeTools/IFlowElementsInConeTool.h" #include "RecoToolInterfaces/IParticleCaloCellAssociationTool.h" #include "RecoToolInterfaces/IParticleCaloExtensionTool.h" #include "TrkParametersIdentificationHelpers/TrackParametersIdHelper.h" @@ -34,8 +34,8 @@ #include "xAODEgamma/Egamma.h" #include "xAODMuon/Muon.h" #include "xAODEventShape/EventShape.h" -#include "xAODPFlow/PFO.h" -#include "xAODPFlow/PFOContainer.h" +#include "xAODPFlow/FlowElement.h" +#include "xAODPFlow/FlowElementContainer.h" #include @@ -209,7 +209,7 @@ namespace xAOD { float phi, std::vector& m_coneSizes, bool coreEMonly, - const PFOContainer* container, + const FlowElementContainer* container, double coneCoreSize) const; // sum of pt of pflow objects in a cone @@ -217,7 +217,7 @@ namespace xAOD { float eta, float phi, std::vector& m_coneSizes, - const std::vector& clusts) const; + const std::vector& clusts) const; /// Correct the pflow isolation using sum of pflow objects in core region. bool correctIsolationEnergy_pflowCore( @@ -227,7 +227,7 @@ namespace xAOD { float detaMax, float dphiMax, float dR2Max, - const std::vector& clusts, + const std::vector& clusts, bool onlyEM = false) const; // core eg 5x7 egamma subtraction @@ -281,8 +281,8 @@ namespace xAOD { "xAOD::CaloClustersInConeTool/CaloClustersInConeTool"}; // pflow objects in cone tool - ToolHandle m_pflowObjectsInConeTool {this, - "PFlowObjectsInConeTool", ""}; + ToolHandle m_pflowObjectsInConeTool {this, + "FlowElementsInConeTool", ""}; /** @brief Property: calo cluster filling tool */ ToolHandle m_caloFillRectangularTool {this, @@ -398,7 +398,7 @@ namespace xAOD { #ifdef XAOD_ANALYSIS // particlesInCone tool will not be avaible. Write our own... bool particlesInCone( float eta, float phi, float dr, std::vector& clusts ) const; - bool particlesInCone( float eta, float phi, float dr, std::vector& clusts ) const; + bool particlesInCone( float eta, float phi, float dr, std::vector& clusts ) const; #endif // XAOD_ANALYSIS float Phi_mpi_pi(float x) const { while (x >= M_PI) x -= 2.*M_PI; diff --git a/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx b/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx index 4283d4c16af..1e9aaac16f4 100644 --- a/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx +++ b/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx @@ -264,7 +264,7 @@ namespace xAOD { const Egamma* egam = dynamic_cast(ip); if ( egam ) return neutralEflowIsolation(result,*egam,cones,corrlist,coneCoreSize); - ATH_MSG_WARNING("PFlowObjectIsolation only supported for Egamma and TrackParticle"); + ATH_MSG_WARNING("FlowElementIsolation only supported for Egamma and TrackParticle"); return true; } @@ -425,6 +425,10 @@ namespace xAOD { ATH_MSG_WARNING("Empty list passed, failing calculation"); return false; } + if(!m_useEMScale){ + ATH_MSG_WARNING("Only EM scale is supported by neutralEflowIsolation"); + return false; + } unsigned int typesize = isoTypes.size(); initresult(result, corrlist, typesize); @@ -1003,20 +1007,20 @@ for( auto isoType : isoTypes ){ float phi, std::vector& coneSizes, bool coreEMonly, - const PFOContainer* container, + const FlowElementContainer* container, double coneCoreSize) const { // container is large: preselect only those in max cone size auto max_cone_iter=std::max_element(coneSizes.begin(), coneSizes.end()); float max_cone = (*max_cone_iter); - std::vector clusts; + std::vector clusts; if (!container) { #ifndef XAOD_ANALYSIS if (m_pflowObjectsInConeTool) { m_pflowObjectsInConeTool->particlesInCone(eta,phi,max_cone,clusts); } else { - ATH_MSG_WARNING("No PFlowObjectsInConeTool available"); + ATH_MSG_WARNING("No FlowElementsInConeTool available"); } #else if(!particlesInCone(eta,phi,max_cone,clusts)) ATH_MSG_WARNING("Failed to get particles in cone."); @@ -1082,15 +1086,13 @@ for( auto isoType : isoTypes ){ */ bool CaloIsolationTool::pflowObjCones (CaloIsolation& result, float eta, float phi, std::vector& coneSizes, - const std::vector& clusts) const + const std::vector& clusts) const { ATH_MSG_DEBUG("In pflowObjCones obj eta = " << eta << " phi = " << phi); - for (const PFO* cl : clusts) { + for (const FlowElement* cl : clusts) { float et = cl->pt(); - if (m_useEMScale) - et = cl->ptEM(); if (et <= 0 || fabs(cl->eta()) > 7.0) continue; float dPhi = Phi_mpi_pi(cl->phi()-phi); @@ -1315,13 +1317,12 @@ for( auto isoType : isoTypes ){ bool CaloIsolationTool::correctIsolationEnergy_pflowCore(CaloIsolation& result, float eta, float phi, float detaMax, float dphiMax, float dR2Max, - const std::vector& clusts, bool onlyEM) const + const std::vector& clusts, bool onlyEM) const { float pflowCore(0.); - for (const PFO* cl : clusts) { - ATH_MSG_DEBUG("pflo: eta " << cl->eta() << " phi " << cl->phi() << " pt " << cl->pt() << " ptEM = " << cl->ptEM() - << " charge " << cl->charge()); + for (const FlowElement* cl : clusts) { + ATH_MSG_DEBUG("pflo: eta " << cl->eta() << " phi " << cl->phi() << " pt " << cl->pt() << " charge " << cl->charge()); float dphi = Phi_mpi_pi(cl->phi()-phi); if (detaMax > 0 && fabs(dphi) > dphiMax) continue; float deta = cl->eta()-eta; @@ -1330,13 +1331,11 @@ bool CaloIsolationTool::correctIsolationEnergy_pflowCore(CaloIsolation& result, /// get energy float et = cl->pt(); - if (m_useEMScale) - et = cl->ptEM(); if (et <= 0 || fabs(cl->eta()) > 7.0) continue; double emfrac = 1.; if (onlyEM) { - const xAOD::CaloCluster *ocl = cl->cluster(0); + const xAOD::CaloCluster *ocl = dynamic_cast(cl->otherObject(0)); if(ocl) { double eEM = ocl->energyBE(0)+ocl->energyBE(1)+ocl->energyBE(2)+ocl->energyBE(3); emfrac = std::min(1.,eEM / cl->eEM()); @@ -1566,9 +1565,9 @@ bool CaloIsolationTool::correctIsolationEnergy_pflowCore(CaloIsolation& result, return true; } - bool CaloIsolationTool::particlesInCone( float eta, float phi, float dr, std::vector& output ) const{ + bool CaloIsolationTool::particlesInCone( float eta, float phi, float dr, std::vector& output ) const{ /// retrieve container - const PFOContainer* Clusters = 0; + const FlowElementContainer* Clusters = 0; std::string m_ClusterLocation = "JetETMissNeutralParticleFlowObjects"; if(evtStore()->retrieve(Clusters,m_ClusterLocation).isFailure()) { ATH_MSG_FATAL( "Unable to retrieve " << m_ClusterLocation); diff --git a/Reconstruction/RecoTools/ParticlesInConeTools/ParticlesInConeTools/IFlowElementsInConeTool.h b/Reconstruction/RecoTools/ParticlesInConeTools/ParticlesInConeTools/IFlowElementsInConeTool.h new file mode 100644 index 00000000000..eeb63605c3a --- /dev/null +++ b/Reconstruction/RecoTools/ParticlesInConeTools/ParticlesInConeTools/IFlowElementsInConeTool.h @@ -0,0 +1,45 @@ +/* + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +*/ + +/////////////////////////////////////////////////////////////////// +// IFlowElementsInConeTool.h, (c) ATLAS Detector software +/////////////////////////////////////////////////////////////////// +#ifndef PARTICLESINCONETOOLS_IFLOWELEMENTSINCONETOOL_H +#define PARTICLESINCONETOOLS_IFLOWELEMENTSINCONETOOL_H + +#include "GaudiKernel/IAlgTool.h" +#include "xAODPFlow/FlowElement.h" +#include + +namespace xAOD { + + static const InterfaceID IID_IFlowElementsInConeTool("xAOD::IFlowElementsInConeTool", 1, 0); + + /** @class IFlowElementsInConeTool + @brief interface for collecting pflow objects inside a cone + + @author Bill Balunas + */ + class IFlowElementsInConeTool : virtual public IAlgTool { + public: + + static const InterfaceID& interfaceID( ) ; + + /**IFlowElementsInConeTool interface: + @param[in] eta eta for matching + @param[in] phi phi for matching + @param[in] dr cone size + @param[in] output output vector to be filled + @return true if the calculation was successfull + */ + virtual bool particlesInCone( float eta, float phi, float dr, std::vector& output ) const = 0; + }; + + inline const InterfaceID& IFlowElementsInConeTool::interfaceID() { + return IID_IFlowElementsInConeTool; + } + +} // end of namespace + +#endif diff --git a/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.cxx b/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.cxx new file mode 100644 index 00000000000..1799dd5698b --- /dev/null +++ b/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.cxx @@ -0,0 +1,64 @@ +/* + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +*/ + +////////////////////////////////////////////////////////////////////////////// +// FlowElementsInConeTool +// +// (c) ATLAS software +////////////////////////////////////////////////////////////////////////////// + +//<<<<<< INCLUDES >>>>>> +#include "FlowElementsInConeTool.h" + +namespace xAOD { + + //<<<<<< CLASS STRUCTURE INITIALIZATION >>>>>> + + FlowElementsInConeTool::FlowElementsInConeTool (const std::string& type, const std::string& name, const IInterface* parent) + : AthAlgTool(type, name, parent) + { + declareInterface(this); + } + + FlowElementsInConeTool::~FlowElementsInConeTool() + {} + + //<<<<<< PUBLIC MEMBER FUNCTION DEFINITIONS >>>>>> + + StatusCode FlowElementsInConeTool::initialize() { + ATH_CHECK(m_pfokey.initialize()); + return StatusCode::SUCCESS; + } + + StatusCode FlowElementsInConeTool::finalize() { + return StatusCode::SUCCESS; + } + + const FlowElementsInConeTool::LookUpTable* + FlowElementsInConeTool::getTable() const + { + const std::string tableName = name() + "LookUpTable"; + SG::ReadHandle rh (tableName); + if (rh.isValid()) + return &*rh; + + + SG::ReadHandle pfos(m_pfokey); + if( !pfos.isValid() ) { + ATH_MSG_WARNING("Unable to open pflow container with key " << m_pfokey.key()); + return nullptr; + } + auto lut = std::make_unique(); + lut->init(*pfos); + SG::WriteHandle wh (tableName); + return wh.put (std::move (lut), true); + } + + bool FlowElementsInConeTool::particlesInCone( float eta, float phi, float dr, std::vector& output ) const { + + /// initialize if needed + const LookUpTable* lut = getTable(); + return lut->iParticlesInCone( eta, phi, dr, output ); + } +}// end of namespace diff --git a/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.h b/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.h new file mode 100644 index 00000000000..c79f218de44 --- /dev/null +++ b/Reconstruction/RecoTools/ParticlesInConeTools/src/FlowElementsInConeTool.h @@ -0,0 +1,57 @@ +/* + Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration +*/ + +#ifndef PARTICLESINCONETOOLS_FLOWELEMENTSINCONETOOL_H +#define PARTICLESINCONETOOLS_FLOWELEMENTSINCONETOOL_H + +#include "AthenaBaseComps/AthAlgTool.h" +#include "GaudiKernel/ServiceHandle.h" +#include "AsgTools/ToolHandle.h" +#include "StoreGate/ReadHandleKey.h" + +#include "ParticlesInConeTools/IFlowElementsInConeTool.h" +#include "IParticlesLookUpTable.h" +#include "xAODPFlow/FlowElement.h" +#include "xAODPFlow/FlowElementContainer.h" + +namespace xAOD { + + class FlowElementsInConeTool: public AthAlgTool, virtual public IFlowElementsInConeTool { + public: + /** constructor */ + FlowElementsInConeTool(const std::string& type, const std::string& name, const IInterface* parent); + + /** destructor */ + ~FlowElementsInConeTool(void); + + /** initialize */ + StatusCode initialize() override; + + /** finalize */ + StatusCode finalize() override; + + /**IFlowElementsInConeTool interface */ + bool particlesInCone( float eta, float phi, float dr, std::vector& output ) const override; + + typedef IParticlesLookUpTable LookUpTable; + + private: + + /** to retrieve pflow objects */ + + SG::ReadHandleKey m_pfokey {this, + "PFlowKey", "CHSNeutralParticleFlowObjects", + "StoreGate key for FlowElements"}; + + // init look-up table + const LookUpTable* getTable() const; + }; + +} // end of namespace + +CLASS_DEF( xAOD::FlowElementsInConeTool::LookUpTable, 251336768, 1 ) + +#endif + + diff --git a/Reconstruction/RecoTools/ParticlesInConeTools/src/components/ParticlesInConeTools_entries.cxx b/Reconstruction/RecoTools/ParticlesInConeTools/src/components/ParticlesInConeTools_entries.cxx index 6883afda90d..9207a69c673 100644 --- a/Reconstruction/RecoTools/ParticlesInConeTools/src/components/ParticlesInConeTools_entries.cxx +++ b/Reconstruction/RecoTools/ParticlesInConeTools/src/components/ParticlesInConeTools_entries.cxx @@ -2,6 +2,7 @@ #include "../TruthParticlesInConeTool.h" #include "../CaloClustersInConeTool.h" #include "../PFlowObjectsInConeTool.h" +#include "../FlowElementsInConeTool.h" using namespace xAOD; @@ -9,4 +10,5 @@ DECLARE_COMPONENT( TrackParticlesInConeTool ) DECLARE_COMPONENT( TruthParticlesInConeTool ) DECLARE_COMPONENT( CaloClustersInConeTool ) DECLARE_COMPONENT( PFlowObjectsInConeTool ) +DECLARE_COMPONENT( FlowElementsInConeTool ) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py index 025852db452..691301f3c8a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py @@ -169,7 +169,7 @@ TrigCaloIsolationTool = ToolFactory(xAOD__CaloIsolationTool,name = "TrigCaloIsol postInit = [], CaloFillRectangularClusterTool = cfrc, ClustersInConeTool = TrigCaloClustersInConeTool, - PFlowObjectsInConeTool = None, + FlowElementsInConeTool = None, ParticleCaloExtensionTool = None, IsoLeakCorrectionTool = None, ParticleCaloCellAssociationTool = None, -- GitLab From 015ac8a60b6386e6cc92190d4ab20896e260d696 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 23 Jun 2021 12:57:10 +0200 Subject: [PATCH 11/36] Fix FlowElement mismatches --- .../RecoTools/IsolationTool/Root/CaloIsolationTool.cxx | 4 ++-- Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx b/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx index 1e9aaac16f4..d71c4770081 100644 --- a/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx +++ b/Reconstruction/RecoTools/IsolationTool/Root/CaloIsolationTool.cxx @@ -1335,10 +1335,10 @@ bool CaloIsolationTool::correctIsolationEnergy_pflowCore(CaloIsolation& result, double emfrac = 1.; if (onlyEM) { - const xAOD::CaloCluster *ocl = dynamic_cast(cl->otherObject(0)); + const xAOD::CaloCluster *ocl = dynamic_cast(cl->otherObject(0)); if(ocl) { double eEM = ocl->energyBE(0)+ocl->energyBE(1)+ocl->energyBE(2)+ocl->energyBE(3); - emfrac = std::min(1.,eEM / cl->eEM()); + emfrac = std::min(1.,eEM / cl->e()); } } et *= emfrac; diff --git a/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h b/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h index 593e6e3ca7b..b6da4bd856c 100644 --- a/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h +++ b/Reconstruction/eflowRec/eflowRec/PFEGamFlowElementAssoc.h @@ -62,19 +62,19 @@ private: SG::WriteDecorHandleKey m_electronChargedFEWriteDecorKey{this,"ElectronChargedFEDecorKey","Electrons.chargedFELinks","Output key for electron link to charged FE"}; /** The write key for adding electron element link decorations to Neutral Flow Elements */ - SG::WriteDecorHandleKey m_neutralFEElectronWriteDecorKey{this,"NeutralFEElectronDecorKey","JetETMissNeutralFlowElements.FE_ElectronLinks","Output key for link from charged FE to electron"}; + SG::WriteDecorHandleKey m_neutralFEElectronWriteDecorKey{this,"NeutralFEElectronDecorKey","JetETMissNeutralParticleFlowObjects.FE_ElectronLinks","Output key for link from charged FE to electron"}; /** The write key for adding electron element link decorations to Charged Flow Elements */ - SG::WriteDecorHandleKey m_chargedFEElectronWriteDecorKey{this,"ChargedFEElectronDecorKey","JetETMissChargedFlowElements.FE_ElectronLinks","Output key for link from charged FE to electron"}; + SG::WriteDecorHandleKey m_chargedFEElectronWriteDecorKey{this,"ChargedFEElectronDecorKey","JetETMissChargedParticleFlowObjects.FE_ElectronLinks","Output key for link from charged FE to electron"}; /** The write key for adding Neutral Flow Element element link decorations to photons */ SG::WriteDecorHandleKey m_photonNeutralFEWriteDecorKey{this,"PhotonNeutralFEDecorKey","Photons.neutralFELinks","Output key for photon link to neutral FE"}; /** The write key for adding Charged Flow Element element link decorations to photons */ SG::WriteDecorHandleKey m_photonChargedFEWriteDecorKey{this,"PhotonChargedFEDecorKey","Photons.chargedFELinks","Output key for photon link to charged FE"}; /** The write key for adding photon element link decorations to Neutral Flow Elements */ - SG::WriteDecorHandleKey m_neutralFEPhotonWriteDecorKey{this,"NeutralFEPhotonDecorKey","JetETMissNeutralFlowElements.FE_PhotonLinks","Output key for link from neutral FE to photon"}; + SG::WriteDecorHandleKey m_neutralFEPhotonWriteDecorKey{this,"NeutralFEPhotonDecorKey","JetETMissNeutralParticleFlowObjects.FE_PhotonLinks","Output key for link from neutral FE to photon"}; /** The write key for adding photon element link decorations to Charged Flow Elements */ - SG::WriteDecorHandleKey m_chargedFEPhotonWriteDecorKey{this,"ChargedFEPhotonDecorKey","JetETMissChargedFlowElements.FE_PhotonLinks","Output key for link from charged FE to photon"}; + SG::WriteDecorHandleKey m_chargedFEPhotonWriteDecorKey{this,"ChargedFEPhotonDecorKey","JetETMissChargedParticleFlowObjects.FE_PhotonLinks","Output key for link from charged FE to photon"}; }; -- GitLab From 7486cf99049588dd1c44e912fcf85fd856a615a8 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 23 Jun 2021 15:38:14 +0200 Subject: [PATCH 12/36] Add flag to manually include jets in AOD --- Reconstruction/Jet/JetRec/python/JetRecFlags.py | 9 +++++++++ Reconstruction/Jet/JetRec/python/JetRecUtils.py | 8 ++++---- Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py | 10 ++++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Reconstruction/Jet/JetRec/python/JetRecFlags.py b/Reconstruction/Jet/JetRec/python/JetRecFlags.py index 776314c4be7..c1f38b35eeb 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecFlags.py +++ b/Reconstruction/Jet/JetRec/python/JetRecFlags.py @@ -26,6 +26,7 @@ # useInDetTrackSelection - The inner detector track selection # tool is used. This requires track propagator exist. # jetAODList - The list of jet collections to be written out +# writeJetsToAOD - bool to enable/disable writing jet collections to AOD # And much more--see below. from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer @@ -218,6 +219,13 @@ class jetAODList(JobProperty): allowedTypes = ['list'] StoredValue = [] +class writeJetsToAOD(JobProperty): + """ Toggles whether to write jet collections to (x)AOD files + """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + class useTrackVertexTool(JobProperty): """ Toggles whether to use track-vertex tool (only known client is currently pflow jet finding) """ @@ -261,6 +269,7 @@ jobproperties.JetRecFlags.add_JobProperty(useMuonSegments) jobproperties.JetRecFlags.add_JobProperty(usePFlow) jobproperties.JetRecFlags.add_JobProperty(eventShapeTools) jobproperties.JetRecFlags.add_JobProperty(jetAODList) +jobproperties.JetRecFlags.add_JobProperty(writeJetsToAOD) jobproperties.JetRecFlags.add_JobProperty(useCells) jobproperties.JetRecFlags.add_JobProperty(useCaloQualityTool) jobproperties.JetRecFlags.add_JobProperty(useBTagging) diff --git a/Reconstruction/Jet/JetRec/python/JetRecUtils.py b/Reconstruction/Jet/JetRec/python/JetRecUtils.py index a26f110dc65..925618a2e78 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecUtils.py +++ b/Reconstruction/Jet/JetRec/python/JetRecUtils.py @@ -3,10 +3,13 @@ from AthenaCommon import Logging jetlog = Logging.logging.getLogger('JetRec_jobOptions') -def retrieveAODList(): +def retrieveAODList(enableOutputOverride): from JetRec.JetRecFlags import jetFlags, JetContentDetail from RecExConfig.RecFlags import rec + if (not enableOutputOverride) and (not jetFlags.writeJetsToAOD()): + return [] + jetPileUpTruthList = [] if rec.doTruth(): jetPileUpTruthList += [ @@ -38,9 +41,6 @@ def retrieveAODList(): 'xAOD::EventShape#TopoClusterIsoCentralEventShape', 'xAOD::EventShapeAuxInfo#TopoClusterIsoCentralEventShapeAux.', 'xAOD::EventShape#TopoClusterIsoForwardEventShape', 'xAOD::EventShapeAuxInfo#TopoClusterIsoForwardEventShapeAux.', - 'xAOD::PFOContainer#CHSChargedParticleFlowObjects', 'xAOD::ShallowAuxContainer#CHSChargedParticleFlowObjectsAux.', - 'xAOD::PFOContainer#CHSNeutralParticleFlowObjects', 'xAOD::ShallowAuxContainer#CHSNeutralParticleFlowObjectsAux.', - 'xAOD::JetContainer#AntiKt4EMPFlowJets', 'xAOD::JetAuxContainer#AntiKt4EMPFlowJetsAux.', 'xAOD::JetContainer#AntiKt4EMTopoJets', 'xAOD::JetAuxContainer#AntiKt4EMTopoJetsAux.', 'xAOD::JetContainer#AntiKt4LCTopoJets', 'xAOD::JetAuxContainer#AntiKt4LCTopoJetsAux.', diff --git a/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py b/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py index 60de03b79b4..d1a86674f1e 100644 --- a/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py +++ b/Reconstruction/Jet/JetRec/share/JetRec_jobOptions.py @@ -82,17 +82,19 @@ if jetFlags.detailLevel()==JetContentDetail.Validation: # For release 19, the container version must be explicit. for jetrec in jtm.jetrecs: + jetFlags.jetAODList += [ "xAOD::JetContainer#" + jetrec.name() ] if jetrec.Trigger: - jetFlags.jetAODList += [ "xAOD::JetContainer#" + jetrec.name() ] jetFlags.jetAODList += [ "xAOD::JetTrigAuxContainer#" + jetrec.name() + "Aux." ] + else: + jetFlags.jetAODList += [ "xAOD::JetAuxContainer#" + jetrec.name() + "Aux." ] if jetFlags.useTracks() and jetFlags.useTopo(): jetFlags.jetAODList += [ "xAOD::CaloClusterContainer#EMOriginTopoClusters" , "xAOD::CaloClusterContainer#LCOriginTopoClusters" , "xAOD::ShallowAuxContainer#LCOriginTopoClustersAux.", - "xAOD::ShallowAuxContainer#EMOriginTopoClustersAux."] - jetFlags.jetAODList += [ "xAOD::PFOContainer#CHSChargedParticleFlowObjects", - "xAOD::PFOContainer#CHSNeutralParticleFlowObjects", + "xAOD::ShallowAuxContainer#EMOriginTopoClustersAux."] + jetFlags.jetAODList += [ "xAOD::FlowElementContainer#CHSChargedParticleFlowObjects", + "xAOD::FlowElementContainer#CHSNeutralParticleFlowObjects", "xAOD::ShallowAuxContainer#CHSChargedParticleFlowObjectsAux.", "xAOD::ShallowAuxContainer#CHSNeutralParticleFlowObjectsAux."] -- GitLab From 0a3aa0a9e30edeabbfeb96597b109bdde46b7b5e Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 23 Jun 2021 17:42:38 +0200 Subject: [PATCH 13/36] Write jet outputs to ESD --- Reconstruction/Jet/JetRec/python/JetRecUtils.py | 2 +- .../RecExample/RecExPers/share/RecoOutputESDList_jobOptions.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Reconstruction/Jet/JetRec/python/JetRecUtils.py b/Reconstruction/Jet/JetRec/python/JetRecUtils.py index 925618a2e78..dad43046796 100644 --- a/Reconstruction/Jet/JetRec/python/JetRecUtils.py +++ b/Reconstruction/Jet/JetRec/python/JetRecUtils.py @@ -3,7 +3,7 @@ from AthenaCommon import Logging jetlog = Logging.logging.getLogger('JetRec_jobOptions') -def retrieveAODList(enableOutputOverride): +def retrieveAODList(enableOutputOverride = False): from JetRec.JetRecFlags import jetFlags, JetContentDetail from RecExConfig.RecFlags import rec diff --git a/Reconstruction/RecExample/RecExPers/share/RecoOutputESDList_jobOptions.py b/Reconstruction/RecExample/RecExPers/share/RecoOutputESDList_jobOptions.py index 1caea0e75ee..1e78a8e6064 100644 --- a/Reconstruction/RecExample/RecExPers/share/RecoOutputESDList_jobOptions.py +++ b/Reconstruction/RecExample/RecExPers/share/RecoOutputESDList_jobOptions.py @@ -144,7 +144,7 @@ except Exception: # Jet classes. try: from JetRec.JetRecUtils import retrieveAODList - jetAODList = retrieveAODList() + jetAODList = retrieveAODList(True) fullESDList += CfgItemList( "jets", items = jetAODList ) except Exception: treatException("Could not load jet item list") -- GitLab From 4b0496f971c0515204c6d9e19f491d5cc31d82a4 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 23 Jun 2021 17:43:03 +0200 Subject: [PATCH 14/36] Fix warnings due to misconfigurations --- .../ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py | 4 ++-- Reconstruction/MET/METReconstruction/python/METAssocCfg.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py index 27eb093944f..8a47c99befe 100644 --- a/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py +++ b/PhysicsAnalysis/AnalysisCommon/ThinningUtils/python/ThinNegativeEnergyNeutralPFOs.py @@ -19,9 +19,9 @@ class ThinNegativeEnergyNeutralPFOs(Configured): ) from RecExConfig.ObjKeyStore import cfgKeyStore if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissNeutralParticleFlowObjects',): - theNegativeEnergyNeutralPFOsThinner.NeutralPFOsFEKey = "JetETMissNeutralParticleFlowObjects" + theNegativeEnergyNeutralPFOsThinner.NeutralPFOsKey = "JetETMissNeutralParticleFlowObjects" if cfgKeyStore.isInInput('xAOD::FlowElementContainer', 'JetETMissLCNeutralParticleFlowObjects',): - theNegativeEnergyNeutralPFOsThinner.LCNeutralPFOsFEKey = "JetETMissLCNeutralParticleFlowObjects" + theNegativeEnergyNeutralPFOsThinner.LCNeutralPFOsKey = "JetETMissLCNeutralParticleFlowObjects" print (theNegativeEnergyNeutralPFOsThinner) CHSnPFOsThinAlg = None diff --git a/Reconstruction/MET/METReconstruction/python/METAssocCfg.py b/Reconstruction/MET/METReconstruction/python/METAssocCfg.py index f1d01e4e3df..60e9bff83fa 100644 --- a/Reconstruction/MET/METReconstruction/python/METAssocCfg.py +++ b/Reconstruction/MET/METReconstruction/python/METAssocCfg.py @@ -75,7 +75,7 @@ def getAssociator(config,suffix,doPFlow=False, tool.RecoJetKey = config.inputKey if doPFlow: tool.PFlow = True - tool.PFlowColl = modConstKey if modConstKey!="" else defaultInputKey["PFlowObj"] + tool.FlowElementCollection = modConstKey if modConstKey!="" else defaultInputKey["PFlowObj"] else: tool.UseModifiedClus = doModClus # set input/output key names -- GitLab From 504d803d981bc115151d22bd7a246d6e5b0adf45 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 23 Jun 2021 18:01:52 +0200 Subject: [PATCH 15/36] Remove obsolete FlowElement flag --- .../python/LegacyRunII/METAssocConfig.py | 13 ++----------- .../python/LegacyRunII/METRecoFlags.py | 6 ------ 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py index 423418cbc44..80696c25e66 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py @@ -96,13 +96,7 @@ def getAssociator(config,suffix,doPFlow=False,usePFOLinks=False,useFELinks=False if doPFlow: tool.PFlow = True - if metFlags.UseFlowElements() : - tool.FlowElementCollection = modConstKey if modConstKey!="" else defaultInputKey["PFlowObjFE"] - else: - if modConstKey!="": - tool.PFlowColl = modConstKey - else: - tool.PFlowColl = defaultInputKey["PFlowObj"] if suffix!='AntiKt4OverlapRemovedEMPFlow' else defaultInputKey["ORPFlowObj"] + tool.FlowElementCollection = modConstKey if modConstKey!="" else defaultInputKey["PFlowObj"] else: tool.UseModifiedClus = doModClus # set input/output key names @@ -172,10 +166,7 @@ class METAssocConfig: modClusColls_tmp = modClusColls from METReconstruction.METRecoFlags import metFlags if doPFlow: - if metFlags.UseFlowElements(): - if modConstKey_tmp == "": modConstKey_tmp = "CHSFlowElements" - else: - if modConstKey_tmp == "": modConstKey_tmp = "CHSParticleFlowObjects" if 'OverlapRemoved' not in suffix else "OverlapRemovedCHSParticleFlowObjects" + if modConstKey_tmp == "": modConstKey_tmp = "CHSParticleFlowObjects" if 'OverlapRemoved' not in suffix else "OverlapRemovedCHSParticleFlowObjects" else: if modConstKey_tmp == "": modConstKey_tmp = "OriginCorr" if modClusColls_tmp == {}: modClusColls_tmp = {'LCOriginCorrClusters':'LCOriginTopoClusters', diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py index 1caf0b5b590..69ec466956f 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py @@ -16,11 +16,6 @@ class DoPFlow(JobProperty): allowedTypes = ['bool'] StoredValue = True -class UseFlowElements(JobProperty): - statusOn = True - allowedTypes = ['bool'] - StoredValue = False - class UseTracks(JobProperty): statusOn = True allowedTypes = ['bool'] @@ -118,7 +113,6 @@ jobproperties.METRecoFlags.add_JobProperty(UseFEPhotonLinks) jobproperties.METRecoFlags.add_JobProperty(UseFETauLinks) jobproperties.METRecoFlags.add_JobProperty(UseFEMuonLinks) jobproperties.METRecoFlags.add_JobProperty(DoORMet) -jobproperties.METRecoFlags.add_JobProperty(UseFlowElements) jobproperties.METRecoFlags.add_JobProperty(UseTracks) jobproperties.METRecoFlags.add_JobProperty(DecorateSoftConst) jobproperties.METRecoFlags.add_JobProperty(AllowOverwrite) -- GitLab From 4cb98ee26947f639fda70f410b02f177c0660ef7 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 24 Jun 2021 14:56:06 +0200 Subject: [PATCH 16/36] Fixes for DAOD-level jet reco --- .../python/ContainersOnTheFly.py | 2 +- .../python/ExtendedJetCommon.py | 118 +++++------------- .../python/PhysCommon.py | 13 +- .../share/PHYSVAL.py | 16 ++- 4 files changed, 52 insertions(+), 97 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py index 4643acef7c2..0ac32901007 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py @@ -57,7 +57,7 @@ ContainersOnTheFly = [ ["AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubJets","xAOD::JetContainer"], ["AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2SubJetsAux","xAOD::JetAuxContainer"], ["AntiKt2LCTopoJets","xAOD::JetContainer"], - ["AntiKt2LCTopoJetsAux","xAOD::JetAuxContainer"] + ["AntiKt2LCTopoJetsAux","xAOD::JetAuxContainer"], ["AntiKt4EMTopoJets","xAOD::JetContainer"], ["AntiKt4EMTopoJetsAux","xAOD::JetContainerAux"], ["AntiKt4LCTopoJets","xAOD::JetContainer"], diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py index 2b7ae51ce0d..4d097f671c5 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/ExtendedJetCommon.py @@ -122,22 +122,22 @@ def addAntiKt10TruthWZJets(sequence,outputlist): def addAntiKt4EMTopoJets(sequence, outputlist): addEventShape(0.4, "EMTopo", sequence) - addStandardJets("AntiKt", 0.4, "EMTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist) + addStandardJets("AntiKt", 0.4, "EMTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist, customGetters=jtm.gettersMap["emtopo_reduced"]) def addAntiKt4LCTopoJets(sequence, outputlist): addEventShape(0.4, "LCTopo", sequence) - addStandardJets("AntiKt", 0.4, "LCTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist) + addStandardJets("AntiKt", 0.4, "LCTopo", ptmin=5000, ptminFilter=10000, calibOpt="arj", algseq=sequence, outputGroup=outputlist, customGetters=jtm.gettersMap["lctopo_reduced"]) def addAntiKt4EMPFlowJets(sequence, outputlist): addCHSPFlowObjects() addEventShape(0.4, "EMPFlow", sequence) - addStandardJets("AntiKt", 0.4, "EMPFlow", ptmin=5000, ptminFilter=10000, mods="pflow_ungroomed", calibOpt="arj:pflow", algseq=sequence, outputGroup=outputlist) + addStandardJets("AntiKt", 0.4, "EMPFlow", ptmin=5000, ptminFilter=10000, mods="pflow_ungroomed", calibOpt="arj:pflow", algseq=sequence, outputGroup=outputlist, customGetters=jtm.gettersMap["empflow_reduced"]) ################################################################## -def replaceAODReducedJets(jetlist,sequence,outputlist): +def addDAODJets(jetlist,sequence,outputlist): extjetlog.info( "Replacing AOD-reduced jet collections: {0}".format(",".join(jetlist))) - if "AntiKt4EMPTopoJets" in jetlist: + if "AntiKt4EMTopoJets" in jetlist: addAntiKt4EMTopoJets(sequence,outputlist) if "AntiKt4LCTopoJets" in jetlist: addAntiKt4LCTopoJets(sequence,outputlist) @@ -462,79 +462,6 @@ def addJetTruthLabel(jetalg,algname,labelname,sequence): ################################################################## def getPFlowfJVT(jetalg,algname,sequence,primaryVertexCont="PrimaryVertices",trackVertexAssociation="JetTrackVtxAssoc",overlapLabel="",outLabel="fJvt",includePV=False): - supportedJets = ['AntiKt4EMPFlow','AntiKt4PFlowCustomVtx'] - if jetalg not in supportedJets: - extjetlog.error('*** PFlow fJvt augmentation requested for unsupported jet collection {}! ***'.format(jetalg)) - return - else: - from AthenaCommon.AppMgr import ToolSvc - jetaugtool = getJetAugmentationTool(jetalg,suffix=algname) - - #Check if the calibration and JVT tools exist already - jetcalibtoolname_default = 'DFJetCalib_'+jetalg - jetjvttoolname_default = 'DFJetJvt_'+jetalg - - if '_BTagging' in jetalg: - jetalg_basename = jetalg[:jetalg.find('_BTagging')] - elif 'PFlowCustomVtx' in jetalg: - jetalg_basename = 'AntiKt4EMPFlow' - else: - jetalg_basename = jetalg - - jvtefftoolname = getJvtEffToolName(jetalg_basename) - - #Jet calibration tool - if hasattr(ToolSvc, jetcalibtoolname_default): - jetaugtool.JetCalibTool = getattr(ToolSvc, jetcalibtoolname_default) - else: - applyJetCalibration(jetalg,algname,sequence,suffix=algname) - - #JVT tool - if hasattr(ToolSvc, jetjvttoolname_default) and hasattr(ToolSvc, jvtefftoolname): - jetaugtool.JetJvtTool = getattr(ToolSvc, jetjvttoolname_default) - jetaugtool.JetJvtEffTool = getattr(ToolSvc, jvtefftoolname) - else: - updateJVT(jetalg,algname,sequence,customVxColl=primaryVertexCont,suffix=algname) - - # Calibration tool specific for pFlow fJVT: without GSC and smearing - jetcalibtoolname = 'DFJetCalib_PFfJvt_'+jetalg - if hasattr(ToolSvc, jetcalibtoolname): - jetcalibrationtool = getattr(ToolSvc,jetcalibtoolname) - else: - jetcalibrationtool = CfgMgr.JetCalibrationTool(jetcalibtoolname, - JetCollection=jetalg_basename, - ConfigFile="JES_MC16Recommendation_Consolidated_PFlow_Apr2019_Rel21.config", - CalibSequence="JetArea_Residual_EtaJES", - CalibArea="00-04-82", - IsData=False, - PrimaryVerticesContainerName = primaryVertexCont) - ToolSvc += jetcalibrationtool - - wpfotoolname = "DFwPFO_"+jetalg+algname - wpfotool = CfgMgr.CP__WeightPFOTool(wpfotoolname) - - pffjvttoolname = 'DFJetPFfJvt_'+jetalg+algname - jetCont = jetalg+"Jets" - - if hasattr(ToolSvc,pffjvttoolname): - jetaugtool.JetForwardPFlowJvtTool = getattr(ToolSvc,pffjvttoolname) - jetaugtool.fJvtMomentKey = outLabel - else: - pffjvttool = CfgMgr.JetForwardPFlowJvtTool(pffjvttoolname, - verticesName=primaryVertexCont, JetContainer=jetCont, - TrackVertexAssociation=jtm.tvassoc.TrackVertexAssociation, - WeightPFOTool=wpfotool, JetCalibrationTool=jetcalibrationtool, - ORName=overlapLabel, FjvtRawName='DFCommonJets_'+outLabel, includePV=includePV) - ToolSvc += pffjvttool - jetaugtool.JetForwardPFlowJvtTool = pffjvttool - jetaugtool.fJvtMomentKey = outLabel - - extjetlog.info('ExtendedJetCommon: Applying PFlow fJvt augmentation to jet collection: '+jetalg+'Jets') - applyJetAugmentation(jetalg,algname,sequence,jetaugtool) - -################################################################## - -def getPFlowFEfJVT(jetalg,algname,sequence,primaryVertexCont="PrimaryVertices",trackVertexAssociation="JetTrackVtxAssoc",overlapLabel="",outLabel="fJvt",includePV=False): supportedJets = ['AntiKt4EMPFlow'] if jetalg not in supportedJets: extjetlog.error('*** PFlow fJvt augmentation requested for unsupported jet collection {}! ***'.format(jetalg)) @@ -966,17 +893,28 @@ def addEventShape(radius, inputType, sequence): inputType = "EMTopoOrigin" elif inputType == "LCTopo": inputType == "LCTopoOrigin" - if not hasattr(sequence, "EDTool"+str(int(R*10))+inputType): + if not hasattr(sequence, "EDTool"+str(int(radius*10))+inputType): + # Schedule pseudojets if necessary + pjAlg = getPseudoJetAlg(inputType) + if not hasattr(sequence, pjAlg.name()): + sequence += pjAlg sequence += defineEDAlg(R=radius, inputtype=inputType) -applyJetCalibration_xAODColl("AntiKt4EMTopo") -updateJVT_xAODColl("AntiKt4EMTopo") -applyJetCalibration_xAODColl("AntiKt4EMPFlow") -updateJVT_xAODColl("AntiKt4EMPFlow") - -applyOverlapRemoval() -eventCleanLoose_xAODColl("AntiKt4EMTopo") -eventCleanTight_xAODColl("AntiKt4EMTopo") -eventCleanLooseLLP_xAODColl("AntiKt4EMTopo") -#eventCleanSuperLooseLLP_xAODColl("AntiKt4EMTopo") -#eventCleanVeryLooseLLP_xAODColl("AntiKt4EMTopo") +def getPseudoJetAlg(inputType): + return {"LCTopo" : jtm.lcget, + "EMTopo" : jtm.emget, + "LCTopoOrigin" : jtm.lcoriginget, + "EMTopoOrigin" : jtm.emoriginget, + "EMPFlow": jtm.empflowget}[inputType] + +def addEventCleanFlags(): + # Temporary workflow until the derivation framework is updated to remove JetAugmentationTool + + # Prereqs + applyJetCalibration_xAODColl("AntiKt4EMTopo") + updateJVT_xAODColl("AntiKt4EMTopo") + applyOverlapRemoval() + + eventCleanLoose_xAODColl("AntiKt4EMTopo") + eventCleanTight_xAODColl("AntiKt4EMTopo") + eventCleanLooseLLP_xAODColl("AntiKt4EMTopo") diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py index 6d299990f67..c0d25feedca 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py @@ -18,7 +18,7 @@ InDetCommon.makeInDetDFCommon() EGammaCommon.makeEGammaDFCommon() MuonsCommon.makeMuonsDFCommon() from DerivationFrameworkJetEtMiss.JetCommon import OutputJets -from DerivationFrameworkJetEtMiss.ExtendedJetCommon import replaceAODReducedJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT +from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addDAODJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT, addEventCleanFlags from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType from DerivationFrameworkTrigger.TriggerMatchingHelper import TriggerMatchingHelper @@ -118,12 +118,16 @@ largeRJetCollections = [ ] OutputJets["PhysCommon"] = largeRJetCollections -reducedJetList = ["AntiKt2PV0TrackJets","AntiKt4PV0TrackJets", "AntiKtVR30Rmax4Rmin02PV0TrackJets"] +jetList = ["AntiKt4EMTopoJets", + "AntiKt4EMPFlowJets", + "AntiKt2PV0TrackJets", + "AntiKt4PV0TrackJets", + "AntiKtVR30Rmax4Rmin02PV0TrackJets"] if (DerivationFrameworkIsMonteCarlo): OutputJets["PhysCommon"].append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets") -replaceAODReducedJets(reducedJetList,DerivationFrameworkJob,"PhysCommon") +addDAODJets(jetList,DerivationFrameworkJob,"PhysCommon") add_largeR_truth_jets = DerivationFrameworkIsMonteCarlo and not hasattr(DerivationFrameworkJob,'jetalgAntiKt10TruthTrimmedPtFrac5SmallR20') addDefaultTrimmedJets(DerivationFrameworkJob,"PhysCommon",dotruth=add_largeR_truth_jets, linkVRGhosts=True) @@ -137,6 +141,9 @@ addQGTaggerTool(jetalg="AntiKt4EMPFlow",sequence=DerivationFrameworkJob,algname= # fJVT getPFlowfJVT(jetalg='AntiKt4EMPFlow',sequence=DerivationFrameworkJob, algname='PHYSJetForwardPFlowJvtToolAlg') +# Event cleaning flags +addEventCleanFlags() + #==================================================================== # EGAMMA #==================================================================== diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py index 0dd90858934..76a741c17ff 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py @@ -18,7 +18,7 @@ InDetCommon.makeInDetDFCommon() EGammaCommon.makeEGammaDFCommon() MuonsCommon.makeMuonsDFCommon() from DerivationFrameworkJetEtMiss.JetCommon import OutputJets -from DerivationFrameworkJetEtMiss.ExtendedJetCommon import replaceAODReducedJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT +from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addDAODJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT, addEventCleanFlags from DerivationFrameworkJetEtMiss import METCommon from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType @@ -118,12 +118,19 @@ trigmatching_helper_tau = TriggerMatchingHelper(name='PHYSVALTriggerMatchingTool #==================================================================== OutputJets["PHYSVAL"] = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"] -reducedJetList = ["AntiKt2PV0TrackJets","AntiKt4PV0TrackJets","AntiKt10PV0TrackJets","AntiKtVR30Rmax4Rmin02PV0TrackJets","AntiKt10LCTopoJets"] +jetList = ["AntiKt4EMTopoJets", + "AntiKt4LCTopoJets", + "AntiKt4EMPFlowJets", + "AntiKt2PV0TrackJets", + "AntiKt4PV0TrackJets", + "AntiKt10PV0TrackJets", + "AntiKtVR30Rmax4Rmin02PV0TrackJets", + "AntiKt10LCTopoJets"] if (DerivationFrameworkIsMonteCarlo): OutputJets["PHYSVAL"].append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets") -replaceAODReducedJets(reducedJetList,SeqPHYSVAL,"PHYSVAL") +addDAODJets(jetList,SeqPHYSVAL,"PHYSVAL") add_largeR_truth_jets = DerivationFrameworkIsMonteCarlo and not hasattr(SeqPHYSVAL,'jetalgAntiKt10TruthTrimmedPtFrac5SmallR20') addDefaultTrimmedJets(SeqPHYSVAL,"PHYSVAL",dotruth=add_largeR_truth_jets,linkVRGhosts=True) @@ -137,6 +144,9 @@ addQGTaggerTool(jetalg="AntiKt4EMPFlow",sequence=SeqPHYSVAL,algname="QGTaggerToo # fJVT getPFlowfJVT(jetalg='AntiKt4EMPFlow',sequence=SeqPHYSVAL, algname='PHYSVALJetForwardPFlowJvtToolAlg') +# Event cleaning flags +addEventCleanFlags() + #==================================================================== # EGAMMA #==================================================================== -- GitLab From 45b75c5cdc7362899c13804027e72bf4b617b9cd Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 24 Jun 2021 16:04:57 +0200 Subject: [PATCH 17/36] Add LC PFOs to checkxAOD --- Control/xAODRootAccess/scripts/checkxAOD.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Control/xAODRootAccess/scripts/checkxAOD.py b/Control/xAODRootAccess/scripts/checkxAOD.py index f16698f182d..730b77caa98 100755 --- a/Control/xAODRootAccess/scripts/checkxAOD.py +++ b/Control/xAODRootAccess/scripts/checkxAOD.py @@ -34,7 +34,7 @@ def main(): "MET" : ["^MET", "^METMAP", "JEMEtSums"], "EvtId" : ["^ByteStreamEventInfo", "^EventInfo", "^McEventInfo", "^LumiBlockN", "^EventWeight", "^RunNumber", "^ConditionsRun", "^EventTime", "^BunchId", "^EventNumber"], "tau" : ["^Tau", "^DiTauJets"], - "PFO" : ["(.*)EventShape$", "^AntiKt4EMPFlowJets", "^JetETMissChargedParticleFlowObjects", "^JetETMissNeutralParticleFlowObjects"], + "PFO" : ["(.*)EventShape$", "^AntiKt4EMPFlowJets", "^JetETMissChargedParticleFlowObjects", "^JetETMissNeutralParticleFlowObjects", "^JetETMissLCNeutralParticleFlowObjects"], "egamma" : ["^GSF", "^ForwardElectron", "^egamma", "^Electron", "^Photon"], "Muon" : ["^Muon", "^TileMuObj", "^MS", "^SlowMuons", ".*Stau", "(.*)MuonTrackParticles$", "MUCTPI_RDO", "^RPC", "^TGC", "^MDT", "^CSC", "^sTGC", "^Micromegas", ".*MuonMeasurements$", "^ExtrapolatedMuonTracks", "^CombinedMuonTracks"], "BTag" : ["^BTag"], -- GitLab From 8881ea0d67c2a128dba1ec6404f6c978c489842a Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 24 Jun 2021 20:05:54 +0200 Subject: [PATCH 18/36] Schedule MET in standard derivations, fix config --- .../python/METCommon.py | 18 ++++++++++ .../python/PhysCommon.py | 3 ++ .../share/PHYSVAL.py | 4 ++- .../METReconstruction/Root/METAssociator.cxx | 35 ++++++++++--------- .../Root/METTauAssociator.cxx | 6 +++- .../python/LegacyRunII/METAssocConfig.py | 1 - 6 files changed, 48 insertions(+), 19 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py index 3c0c3af165a..c505c094f9e 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py @@ -94,6 +94,24 @@ def scheduleMETAssocAlg(sequence=DerivationFrameworkJob,configlist="CustomMET"): if not hasattr(sequence,algname): sequence += assocAlg +def scheduleStandardMETContent(sequence=DerivationFrameworkJob, algname = 'METStandardAssociationAlg'): + assocAlg = None + if algname in metalgs.keys(): + print ("Get preexisting alg:", algname, metalgs[algname]) + assocAlg = metalgs[algname] + else: + # this import auto-configures standard associations + import METReconstruction.METConfig_Associator + + from METReconstruction.METRecoFlags import metFlags + standardConfigs = {k : v for k, v in metFlags.METAssocConfigs().items() if ("EMTopo" in k or "EMPFlow" in k)} + from METReconstruction.METAssocConfig import getMETAssocAlg + assocAlg = getMETAssocAlg(algname,standardConfigs) + metalgs[algname] = assocAlg + print ("Generate MET alg:", algname, assocAlg) + if not hasattr(sequence,algname): + sequence += assocAlg + def scheduleMETCustomVertex(vxColl,jetcoll='AntiKt4EMTopo', configlist="CustomMET", outputlist="CustomMET"): diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py index c0d25feedca..adb5bd4e2f1 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhys/python/PhysCommon.py @@ -19,6 +19,7 @@ EGammaCommon.makeEGammaDFCommon() MuonsCommon.makeMuonsDFCommon() from DerivationFrameworkJetEtMiss.JetCommon import OutputJets from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addDAODJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT, addEventCleanFlags +from DerivationFrameworkJetEtMiss.METCommon import scheduleStandardMETContent from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType from DerivationFrameworkTrigger.TriggerMatchingHelper import TriggerMatchingHelper @@ -144,6 +145,8 @@ getPFlowfJVT(jetalg='AntiKt4EMPFlow',sequence=DerivationFrameworkJob, algname='P # Event cleaning flags addEventCleanFlags() +scheduleStandardMETContent(sequence=DerivationFrameworkJob, algname="METAssociationAlg") + #==================================================================== # EGAMMA #==================================================================== diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py index 76a741c17ff..f75bef03932 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkPhysicsValidation/share/PHYSVAL.py @@ -19,7 +19,7 @@ EGammaCommon.makeEGammaDFCommon() MuonsCommon.makeMuonsDFCommon() from DerivationFrameworkJetEtMiss.JetCommon import OutputJets from DerivationFrameworkJetEtMiss.ExtendedJetCommon import addDAODJets, addDefaultTrimmedJets, addJetTruthLabel, addQGTaggerTool, getPFlowfJVT, addEventCleanFlags -from DerivationFrameworkJetEtMiss import METCommon +from DerivationFrameworkJetEtMiss.METCommon import scheduleStandardMETContent from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType from DerivationFrameworkTrigger.TriggerMatchingHelper import TriggerMatchingHelper @@ -147,6 +147,8 @@ getPFlowfJVT(jetalg='AntiKt4EMPFlow',sequence=SeqPHYSVAL, algname='PHYSVALJetFor # Event cleaning flags addEventCleanFlags() +scheduleStandardMETContent(sequence=SeqPHYSVAL, algname="METAssociationAlg") + #==================================================================== # EGAMMA #==================================================================== diff --git a/Reconstruction/MET/METReconstruction/Root/METAssociator.cxx b/Reconstruction/MET/METReconstruction/Root/METAssociator.cxx index 899ba44dd22..14bcc76e897 100644 --- a/Reconstruction/MET/METReconstruction/Root/METAssociator.cxx +++ b/Reconstruction/MET/METReconstruction/Root/METAssociator.cxx @@ -326,23 +326,26 @@ namespace met { if(obj->pt()<5e3 && obj->type()!=xAOD::Type::Muon) continue; constlist.clear(); ATH_MSG_VERBOSE( "Object type, pt, eta, phi = " << obj->type() << ", " << obj->pt() << ", " << obj->eta() << "," << obj->phi() ); - if(!m_fecollKey.key().empty()){ - if(!m_useTracks){ - ATH_MSG_ERROR("Attempting to build FlowElement MET without a track collection."); - return StatusCode::FAILURE; + if(m_pflow){ + if(!m_fecollKey.key().empty()){ + if(!m_useTracks){ + ATH_MSG_ERROR("Attempting to build FlowElement MET without a track collection."); + return StatusCode::FAILURE; + } + std::map momentumOverride; + ATH_CHECK( this->extractFE(obj, constlist, constits, momentumOverride) ); + MissingETComposition::insert(metMap, obj, constlist, momentumOverride); } - std::map momentumOverride; - ATH_CHECK( this->extractFE(obj, constlist, constits, momentumOverride) ); - MissingETComposition::insert(metMap, obj, constlist, momentumOverride); - } - else if (m_pflow) { - if(!m_useTracks){ - ATH_MSG_DEBUG("Attempting to build PFlow without a track collection."); - return StatusCode::FAILURE; - }else{ - std::map momentumOverride; - ATH_CHECK( this->extractPFO(obj,constlist,constits,momentumOverride) ); - MissingETComposition::insert(metMap,obj,constlist,momentumOverride); + else{ + // Old PFO EDM + if(!m_useTracks){ + ATH_MSG_DEBUG("Attempting to build PFlow without a track collection."); + return StatusCode::FAILURE; + }else{ + std::map momentumOverride; + ATH_CHECK( this->extractPFO(obj,constlist,constits,momentumOverride) ); + MissingETComposition::insert(metMap,obj,constlist,momentumOverride); + } } } else { std::vector tclist; diff --git a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx index b8785b9021a..65e504350bf 100644 --- a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx +++ b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx @@ -99,7 +99,7 @@ namespace met { StatusCode METTauAssociator::executeTool(xAOD::MissingETContainer* /*metCont*/, xAOD::MissingETAssociationMap* metMap) const { ATH_MSG_VERBOSE ("In execute: " << name() << "..."); - + SG::ReadHandle tauCont(m_tauContKey); if (!tauCont.isValid()) { ATH_MSG_WARNING("Unable to retrieve input tau container " << m_input_data_key); @@ -279,6 +279,10 @@ namespace met { const met::METAssociator::ConstitHolder& constits) const { //const TauJet* tau = static_cast(obj); + if(!tau->jetLink().isValid()){ + ATH_MSG_ERROR("Tau seed jet link is invalid. Cannot extract FlowElements."); + return StatusCode::FAILURE; + } const Jet* seedjet = *tau->jetLink(); TLorentzVector momentum; for(const xAOD::FlowElement* pfo : *constits.feCont) { diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py index 80696c25e66..82a30929d2b 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METAssocConfig.py @@ -164,7 +164,6 @@ class METAssocConfig: # Set some sensible defaults modConstKey_tmp = modConstKey modClusColls_tmp = modClusColls - from METReconstruction.METRecoFlags import metFlags if doPFlow: if modConstKey_tmp == "": modConstKey_tmp = "CHSParticleFlowObjects" if 'OverlapRemoved' not in suffix else "OverlapRemovedCHSParticleFlowObjects" else: -- GitLab From 16126cae09dba79c0e1c89b934dc07610989e19e Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 25 Jun 2021 11:07:08 +0200 Subject: [PATCH 19/36] Use tau 4-vector, not seed jet, for FE extraction --- .../MET/METReconstruction/Root/METTauAssociator.cxx | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx index 65e504350bf..331ef95d171 100644 --- a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx +++ b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx @@ -278,18 +278,13 @@ namespace met { std::vector& felist, const met::METAssociator::ConstitHolder& constits) const { - //const TauJet* tau = static_cast(obj); - if(!tau->jetLink().isValid()){ - ATH_MSG_ERROR("Tau seed jet link is invalid. Cannot extract FlowElements."); - return StatusCode::FAILURE; - } - const Jet* seedjet = *tau->jetLink(); + TLorentzVector momentum; for(const xAOD::FlowElement* pfo : *constits.feCont) { bool match = false; if (!pfo->isCharged()) { - if(xAOD::P4Helpers::isInDeltaR(*seedjet,*pfo,0.2,m_useRapidity) && pfo->e()>0) { - ATH_MSG_VERBOSE("Found nPFO with dR " << seedjet->p4().DeltaR(pfo->p4())); + if(xAOD::P4Helpers::isInDeltaR(*tau,*pfo,0.2,m_useRapidity) && pfo->e()>0) { + ATH_MSG_VERBOSE("Found nPFO with dR " << tau->p4().DeltaR(pfo->p4())); match = true; } } @@ -298,7 +293,7 @@ namespace met { for( const xAOD::TauTrack* ttrk : tau->tracks(xAOD::TauJetParameters::coreTrack) ){//all tracks <0.2, no quality const TrackParticle* tautrk = ttrk->track(); if(tautrk==pfotrk) { - ATH_MSG_VERBOSE("Found cPFO with dR " << seedjet->p4().DeltaR(ttrk->p4())); + ATH_MSG_VERBOSE("Found cPFO with dR " << tau->p4().DeltaR(ttrk->p4())); // We set a small -ve pt for cPFOs that were rejected // by the ChargedHadronSubtractionTool const static SG::AuxElement::ConstAccessor PVMatchedAcc("matchedToPV"); -- GitLab From 33b7ed155d7bf9ffb2d312e79073ee9e0d5e21fb Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 25 Jun 2021 11:09:28 +0200 Subject: [PATCH 20/36] Remove disembodied btag content from AOD --- .../share/BTaggingReconstructionOutputAODList_jobOptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/share/BTaggingReconstructionOutputAODList_jobOptions.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/share/BTaggingReconstructionOutputAODList_jobOptions.py index d67a04a4849..990b8d73b30 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/share/BTaggingReconstructionOutputAODList_jobOptions.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/share/BTaggingReconstructionOutputAODList_jobOptions.py @@ -19,7 +19,7 @@ if len(BTaggingAODList) == 0: BTagConf = getConfiguration() for coll in JetCollectionList: BTagConf.RegisterOutputContainersForJetCollection(coll[:-4]) - BTaggingAODList = BTaggingFlags.btaggingAODList + BTaggingAODList = BTaggingFlags.btaggingAODList if jetFlags.writeJetsToAOD() else [] # BTaggingAODList += ["xAOD::BTaggingAuxContainer#*"] # BTaggingAODList += ["xAOD::BTaggingContainer#*"] -- GitLab From 49a61128c4e15032bbc7cefa59a6d164e1c80a64 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 25 Jun 2021 14:05:48 +0200 Subject: [PATCH 21/36] 1 file + 4 - Revert "Use tau 4-vector, not seed jet, for FE extraction" This reverts commit 16126cae09dba79c0e1c89b934dc07610989e19e. --- .../MET/METReconstruction/Root/METTauAssociator.cxx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx index 331ef95d171..65e504350bf 100644 --- a/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx +++ b/Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx @@ -278,13 +278,18 @@ namespace met { std::vector& felist, const met::METAssociator::ConstitHolder& constits) const { - + //const TauJet* tau = static_cast(obj); + if(!tau->jetLink().isValid()){ + ATH_MSG_ERROR("Tau seed jet link is invalid. Cannot extract FlowElements."); + return StatusCode::FAILURE; + } + const Jet* seedjet = *tau->jetLink(); TLorentzVector momentum; for(const xAOD::FlowElement* pfo : *constits.feCont) { bool match = false; if (!pfo->isCharged()) { - if(xAOD::P4Helpers::isInDeltaR(*tau,*pfo,0.2,m_useRapidity) && pfo->e()>0) { - ATH_MSG_VERBOSE("Found nPFO with dR " << tau->p4().DeltaR(pfo->p4())); + if(xAOD::P4Helpers::isInDeltaR(*seedjet,*pfo,0.2,m_useRapidity) && pfo->e()>0) { + ATH_MSG_VERBOSE("Found nPFO with dR " << seedjet->p4().DeltaR(pfo->p4())); match = true; } } @@ -293,7 +298,7 @@ namespace met { for( const xAOD::TauTrack* ttrk : tau->tracks(xAOD::TauJetParameters::coreTrack) ){//all tracks <0.2, no quality const TrackParticle* tautrk = ttrk->track(); if(tautrk==pfotrk) { - ATH_MSG_VERBOSE("Found cPFO with dR " << tau->p4().DeltaR(ttrk->p4())); + ATH_MSG_VERBOSE("Found cPFO with dR " << seedjet->p4().DeltaR(ttrk->p4())); // We set a small -ve pt for cPFOs that were rejected // by the ChargedHadronSubtractionTool const static SG::AuxElement::ConstAccessor PVMatchedAcc("matchedToPV"); -- GitLab From 2bc8625188d2d04193f96402dffbdb04bc4051a2 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 25 Jun 2021 14:28:15 +0200 Subject: [PATCH 22/36] Use FE links in MET association by default --- .../python/LegacyRunII/METRecoFlags.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py index 69ec466956f..effb73404fe 100644 --- a/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py +++ b/Reconstruction/MET/METReconstruction/python/LegacyRunII/METRecoFlags.py @@ -64,27 +64,27 @@ class METAssocOutputList(JobProperty): class UseFELinks(JobProperty): statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class UseFEElectronLinks(JobProperty): statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class UseFEPhotonLinks(JobProperty): statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class UseFETauLinks(JobProperty): statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class UseFEMuonLinks(JobProperty): statusOn = True allowedTypes = ['bool'] - StoredValue = False + StoredValue = True class DoORMet(JobProperty): statusOn = True -- GitLab From 7596a71796f08da5e5a3361f15dc5fda24657290 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 25 Jun 2021 14:39:53 +0200 Subject: [PATCH 23/36] Support new MET workflow in smart slimming --- .../python/ContainersOnTheFly.py | 12 ++++++++++++ .../DerivationFrameworkCore/python/SlimmingHelper.py | 2 -- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py index 0ac32901007..50d4e28bc33 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/ContainersOnTheFly.py @@ -117,4 +117,16 @@ ContainersOnTheFly = [ ["BTagging_AntiKt4EMPFlow_201903Aux","xAOD::BTaggingAuxContainer"], ["DiTauJetsLowPt","xAOD::DiTauJetContainer"], ["DiTauJetsLowPtAux","xAOD::DiTauJetAuxContainer"], + ["MET_Reference_AntiKt4EMTopo",'xAOD::MissingETContainer'], + ["MET_Reference_AntiKt4EMTopoAux",'xAOD::MissingETAuxContainer'], + ["MET_Core_AntiKt4EMTopo",'xAOD::MissingETContainer'], + ["MET_Core_AntiKt4EMTopoAux",'xAOD::MissingETAuxContainer'], + ["METAssoc_AntiKt4EMTopo",'xAOD::MissingETAssociationMap'], + ["METAssoc_AntiKt4EMTopoAux",'xAOD::MissingETAuxAssociationMap'], + ["MET_Reference_AntiKt4EMPFlow",'xAOD::MissingETContainer'], + ["MET_Reference_AntiKt4EMPFlowAux",'xAOD::MissingETAuxContainer'], + ["MET_Core_AntiKt4EMPFlow",'xAOD::MissingETContainer'], + ["MET_Core_AntiKt4EMPFlowAux",'xAOD::MissingETAuxContainer'], + ["METAssoc_AntiKt4EMPFlow",'xAOD::MissingETAssociationMap'], + ["METAssoc_AntiKt4EMPFlowAux",'xAOD::MissingETAuxAssociationMap'], ] diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/SlimmingHelper.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/SlimmingHelper.py index 5d8673e04ed..be34af6084c 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/SlimmingHelper.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/SlimmingHelper.py @@ -344,11 +344,9 @@ class SlimmingHelper: items.extend(DiTauJetsLowPtCPContent) elif collectionName=="MET_Reference_AntiKt4LCTopo": from DerivationFrameworkJetEtMiss.MET_Reference_AntiKt4LCTopoCPContent import MET_Reference_AntiKt4LCTopoCPContent - #from DerivationFrameworkCore.MET_Reference_AntiKt4LCTopoCPContent import MET_Reference_AntiKt4LCTopoCPContent items.extend(MET_Reference_AntiKt4LCTopoCPContent) elif collectionName=="MET_Reference_AntiKt4EMTopo": from DerivationFrameworkJetEtMiss.MET_Reference_AntiKt4EMTopoCPContent import MET_Reference_AntiKt4EMTopoCPContent - #from DerivationFrameworkCore.MET_Reference_AntiKt4EMTopoCPContent import MET_Reference_AntiKt4EMTopoCPContent items.extend(MET_Reference_AntiKt4EMTopoCPContent) elif collectionName=="MET_Reference_AntiKt4EMPFlow": from DerivationFrameworkJetEtMiss.MET_Reference_AntiKt4EMPFlowCPContent import MET_Reference_AntiKt4EMPFlowCPContent -- GitLab From b8ada000e8fdc2c902fde057cb698cc2fed29661 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Sun, 27 Jun 2021 14:19:54 +0200 Subject: [PATCH 24/36] Remove jets from xAODDigest and references --- .../PROCTools/data/master_q221_AOD_digest.ref | 52 +- .../data/master_q431_AOD_digest_500events.ref | 1002 ++++++++--------- Tools/PROCTools/python/xAODDigest.py | 19 +- 3 files changed, 531 insertions(+), 542 deletions(-) diff --git a/Tools/PROCTools/data/master_q221_AOD_digest.ref b/Tools/PROCTools/data/master_q221_AOD_digest.ref index 1214852cfec..f0a42e541f5 100644 --- a/Tools/PROCTools/data/master_q221_AOD_digest.ref +++ b/Tools/PROCTools/data/master_q221_AOD_digest.ref @@ -1,26 +1,26 @@ - run event nTopo nIdTracks nJets nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot - 284500 87473001 122 129 4 1 8 2 6 7 4 3 - 284500 87473014 83 79 6 0 10 1 9 7 5 2 - 284500 87473022 38 30 4 0 4 2 2 4 3 1 - 284500 87473032 30 33 4 1 10 4 6 6 3 3 - 284500 87473037 62 43 7 0 13 2 11 5 3 2 - 284500 87473040 107 93 10 1 17 1 16 11 6 5 - 284500 87473051 140 112 11 1 16 1 15 23 16 7 - 284500 87473063 62 77 5 2 7 1 6 6 4 2 - 284500 87473068 25 33 1 1 0 0 0 0 0 0 - 284500 87473075 60 87 6 2 5 0 5 6 5 1 - 284500 87473084 78 86 7 2 14 1 13 9 3 6 - 284500 87473091 41 49 3 0 4 2 2 4 2 2 - 284500 87473096 66 75 3 2 3 0 3 4 3 1 - 284500 87473104 64 63 6 0 6 2 4 4 3 1 - 284500 87473114 89 77 7 2 12 1 11 9 6 3 - 284500 87473121 93 100 6 3 15 4 11 8 6 2 - 284500 87473132 84 60 9 1 12 0 12 4 4 0 - 284500 87473137 94 71 8 3 15 0 15 9 9 0 - 284500 87473144 78 68 7 1 9 3 6 9 7 2 - 284500 87473154 86 88 7 0 13 2 11 9 4 5 - 284500 87473162 53 53 4 0 7 0 7 3 2 1 - 284500 87473167 77 55 6 3 14 2 12 13 8 5 - 284500 87473171 77 69 8 3 4 2 2 5 4 1 - 284500 87473184 75 86 5 2 8 1 7 5 3 2 - 284500 87473192 55 52 4 1 7 4 3 5 4 1 + run event nTopo nIdTracks nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot + 284500 87473001 122 129 1 8 2 6 7 4 3 + 284500 87473014 83 79 0 10 1 9 7 5 2 + 284500 87473022 38 30 0 4 2 2 4 3 1 + 284500 87473032 30 33 1 10 4 6 6 3 3 + 284500 87473037 62 43 0 13 2 11 5 3 2 + 284500 87473040 107 93 1 17 1 16 11 6 5 + 284500 87473051 140 112 1 16 1 15 23 16 7 + 284500 87473063 62 77 2 7 1 6 6 4 2 + 284500 87473068 25 33 1 0 0 0 0 0 0 + 284500 87473075 60 87 2 5 0 5 6 5 1 + 284500 87473084 78 86 2 14 1 13 9 3 6 + 284500 87473091 41 49 0 4 2 2 4 2 2 + 284500 87473096 66 75 2 3 0 3 4 3 1 + 284500 87473104 64 63 0 6 2 4 4 3 1 + 284500 87473114 89 77 2 12 1 11 9 6 3 + 284500 87473121 93 100 3 15 4 11 8 6 2 + 284500 87473132 84 60 1 12 0 12 4 4 0 + 284500 87473137 94 71 3 15 0 15 9 9 0 + 284500 87473144 78 68 1 9 3 6 9 7 2 + 284500 87473154 86 88 0 13 2 11 9 4 5 + 284500 87473162 53 53 0 7 0 7 3 2 1 + 284500 87473167 77 55 3 14 2 12 13 8 5 + 284500 87473171 77 69 3 4 2 2 5 4 1 + 284500 87473184 75 86 2 8 1 7 5 3 2 + 284500 87473192 55 52 1 7 4 3 5 4 1 diff --git a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref index d75a36b298a..a5d774de3e2 100644 --- a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref +++ b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref @@ -1,501 +1,501 @@ - run event nTopo nIdTracks nJets nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot - 330470 1183721871 761 838 18 5 16 0 16 36 0 36 - 330470 1183722156 360 390 6 1 3 0 3 12 0 12 - 330470 1183722158 1 0 0 0 0 0 0 0 0 0 - 330470 1183722342 394 428 16 0 2 0 2 15 0 15 - 330470 1183723134 463 502 9 3 3 0 3 16 0 16 - 330470 1183723677 583 589 17 4 13 0 13 33 0 33 - 330470 1183724572 518 617 11 3 7 0 7 15 0 15 - 330470 1183725127 367 465 13 2 9 0 9 16 0 16 - 330470 1183726136 561 625 14 5 6 0 6 18 0 18 - 330470 1183727515 408 388 6 0 7 0 7 19 0 19 - 330470 1183727920 565 681 20 3 7 0 7 23 0 23 - 330470 1183727953 532 599 11 4 7 0 7 24 0 24 - 330470 1183728466 399 447 14 1 11 0 11 14 0 14 - 330470 1183728476 539 534 12 0 14 0 14 25 0 25 - 330470 1183729021 390 421 15 0 12 0 12 14 0 14 - 330470 1183729025 420 475 11 0 8 0 8 14 0 14 - 330470 1183730486 406 399 17 3 0 0 0 20 0 20 - 330470 1183731705 735 771 35 3 14 0 14 42 0 42 - 330470 1183731814 591 538 12 3 6 0 6 29 0 29 - 330470 1183731884 420 373 6 2 2 0 2 12 0 12 - 330470 1183732647 467 507 12 1 8 0 8 20 0 20 - 330470 1183733040 381 302 6 2 5 0 5 10 0 10 - 330470 1183733070 431 571 16 1 16 0 16 24 0 24 - 330470 1183733727 678 795 19 1 5 0 5 35 0 35 - 330470 1183734651 361 382 14 2 5 0 5 18 0 18 - 330470 1183734704 438 445 16 5 2 0 2 23 0 23 - 330470 1183734871 556 608 14 2 14 0 14 21 0 21 - 330470 1183735332 406 391 9 1 5 0 5 10 0 10 - 330470 1183735593 480 459 15 1 5 0 5 26 0 26 - 330470 1183735786 311 217 7 1 0 0 0 8 0 8 - 330470 1183736050 589 692 5 1 11 0 11 29 0 29 - 330470 1183736197 453 487 9 5 7 0 7 15 0 15 - 330470 1183736364 427 408 15 1 6 0 6 16 0 16 - 330470 1183736418 466 490 12 3 13 0 13 17 0 17 - 330470 1183736475 741 705 15 1 2 0 2 22 0 22 - 330470 1183737047 481 541 19 1 6 0 6 24 0 24 - 330470 1183737710 492 511 15 3 22 0 22 20 0 20 - 330470 1183738386 525 474 10 2 20 0 20 30 0 30 - 330470 1183738728 1 0 0 0 0 0 0 0 0 0 - 330470 1183738949 368 450 9 1 5 0 5 11 0 11 - 330470 1183739966 531 446 14 1 12 0 12 24 0 24 - 330470 1183740967 558 640 17 0 4 0 4 19 0 19 - 330470 1183741011 240 350 6 3 5 0 5 13 0 13 - 330470 1183742016 289 307 6 1 4 0 4 6 0 6 - 330470 1183742376 372 402 12 1 2 0 2 10 0 10 - 330470 1183742489 152 127 2 1 1 0 1 1 0 1 - 330470 1183742713 364 436 7 2 11 0 11 16 0 16 - 330470 1183743040 285 326 5 0 3 0 3 5 0 5 - 330470 1183743941 404 370 14 2 15 0 15 13 0 13 - 330470 1183744491 530 658 17 0 13 0 13 16 0 16 - 330470 1183744557 302 356 8 0 4 0 4 11 0 11 - 330470 1183744835 411 415 8 1 8 0 8 20 0 20 - 330470 1183744941 316 384 14 2 7 0 7 17 0 17 - 330470 1183745001 320 386 8 0 10 0 10 12 0 12 - 330470 1183745791 361 405 8 0 19 0 19 20 0 20 - 330470 1183745889 371 388 11 1 5 0 5 10 0 10 - 330470 1183746019 446 485 11 1 7 0 7 24 0 24 - 330470 1183746343 492 493 12 0 3 0 3 16 0 16 - 330470 1183746391 364 445 10 2 15 0 15 20 0 20 - 330470 1183746668 459 388 13 0 7 0 7 20 0 20 - 330470 1183746710 6 0 0 0 0 0 0 0 0 0 - 330470 1183746776 348 366 12 1 9 0 9 27 0 27 - 330470 1183747953 302 377 3 2 4 0 4 10 0 10 - 330470 1183748096 455 491 11 0 5 0 5 17 0 17 - 330470 1183748136 663 650 15 1 12 0 12 26 0 26 - 330470 1183748263 396 411 10 2 8 0 8 16 0 16 - 330470 1183748421 460 422 10 1 8 0 8 15 0 15 - 330470 1183748705 490 535 11 2 9 0 9 20 0 20 - 330470 1183750758 436 393 10 1 4 0 4 15 0 15 - 330470 1183750781 377 365 12 1 5 0 5 16 0 16 - 330470 1183750906 702 757 34 3 10 0 10 29 0 29 - 330470 1183751782 239 246 2 0 0 0 0 6 0 6 - 330470 1183752624 347 366 7 3 5 0 5 15 0 15 - 330470 1183753006 357 398 11 3 4 0 4 14 0 14 - 330470 1183753030 398 359 13 2 23 0 23 20 0 20 - 330470 1183753541 400 467 9 2 8 0 8 11 0 11 - 330470 1183754806 470 423 14 0 2 0 2 17 0 17 - 330470 1183755085 482 510 14 3 15 0 15 27 0 27 - 330470 1183756180 447 379 15 0 2 0 2 16 0 16 - 330470 1183756295 367 448 13 3 7 0 7 12 0 12 - 330470 1183756303 565 584 12 1 24 0 24 24 0 24 - 330470 1183756939 606 587 16 1 19 0 19 26 0 26 - 330470 1183756951 283 273 3 1 2 0 2 4 0 4 - 330470 1183757556 300 277 7 1 5 0 5 10 0 10 - 330470 1183758317 685 739 16 1 13 0 13 29 0 29 - 330470 1183758663 340 311 8 0 5 0 5 11 0 11 - 330470 1183758709 340 254 11 2 4 0 4 12 0 12 - 330470 1183758819 446 534 14 4 24 0 24 19 0 19 - 330470 1183759087 476 464 15 3 8 0 8 19 0 19 - 330470 1183759951 610 742 20 6 18 0 18 32 0 32 - 330470 1183760662 421 438 15 1 8 0 8 18 0 18 - 330470 1183760713 430 487 17 0 11 0 11 21 0 21 - 330470 1183761092 301 437 10 3 6 0 6 8 0 8 - 330470 1183762287 384 448 14 3 4 0 4 13 0 13 - 330470 1183762295 411 429 16 2 9 0 9 16 0 16 - 330470 1183762346 487 456 19 3 29 0 29 26 0 26 - 330470 1183762622 389 405 5 2 6 0 6 15 0 15 - 330470 1183762728 539 509 17 0 19 0 19 27 0 27 - 330470 1183764544 400 368 5 2 9 0 9 15 0 15 - 330470 1183764842 585 654 17 1 15 0 15 29 0 29 - 330470 1183765366 464 522 9 2 6 0 6 10 0 10 - 330470 1183765436 301 216 10 0 5 0 5 5 0 5 - 330470 1183767528 668 650 12 1 9 0 9 28 0 28 - 330470 1183767718 467 461 18 2 15 0 15 17 0 17 - 330470 1183768132 410 435 9 2 4 0 4 15 0 15 - 330470 1183768747 598 599 14 3 24 0 24 25 0 25 - 330470 1183768758 656 734 17 3 15 0 15 24 0 24 - 330470 1183769295 342 340 7 2 0 0 0 6 0 6 - 330470 1183769514 383 377 9 3 2 0 2 14 0 14 - 330470 1183769648 527 579 8 4 6 0 6 17 0 17 - 330470 1183769939 348 362 10 2 8 0 8 11 0 11 - 330470 1183770542 525 557 14 2 12 0 12 28 0 28 - 330470 1183771482 391 433 11 1 8 0 8 17 0 17 - 330470 1183771836 373 452 8 3 1 0 1 13 0 13 - 330470 1183771838 409 313 11 0 3 0 3 18 0 18 - 330470 1183771849 555 441 12 2 9 0 9 25 0 25 - 330470 1183773222 341 390 4 3 2 0 2 1 0 1 - 330470 1183773321 583 546 17 1 7 0 7 33 0 33 - 330470 1183773556 421 381 7 0 7 0 7 17 0 17 - 330470 1183773832 307 209 7 0 2 0 2 13 0 13 - 330470 1183774235 325 346 8 1 11 0 11 13 0 13 - 330470 1183775004 453 401 8 1 1 0 1 17 0 17 - 330470 1183775209 57 0 0 0 0 0 0 0 0 0 - 330470 1183776444 450 417 13 3 4 0 4 14 0 14 - 330470 1183776871 425 441 12 3 9 0 9 18 0 18 - 330470 1183777434 310 328 9 0 4 0 4 13 0 13 - 330470 1183777582 422 479 9 2 9 0 9 14 0 14 - 330470 1183778621 584 652 19 1 6 0 6 24 0 24 - 330470 1183779564 332 314 7 3 5 0 5 7 0 7 - 330470 1183779664 432 348 15 0 10 0 10 21 0 21 - 330470 1183779916 499 524 11 3 5 0 5 17 0 17 - 330470 1183780039 444 377 12 4 2 0 2 16 0 16 - 330470 1183780441 560 553 12 4 8 0 8 29 0 29 - 330470 1183781429 432 497 11 1 19 0 19 28 0 28 - 330470 1183781526 711 906 13 0 13 0 13 36 0 36 - 330470 1183782439 478 550 15 1 6 0 6 18 0 18 - 330470 1183782592 487 566 9 1 6 0 6 16 0 16 - 330470 1183782928 539 647 15 3 8 0 8 25 0 25 - 330470 1183783289 507 599 14 1 15 0 15 20 0 20 - 330470 1183783835 437 477 13 3 15 0 15 30 0 30 - 330470 1183783921 518 489 9 1 22 0 22 32 0 32 - 330470 1183784212 561 540 22 0 36 0 36 28 0 28 - 330470 1183784686 458 494 20 7 5 0 5 23 0 23 - 330470 1183784788 350 327 8 2 18 0 18 16 0 16 - 330470 1183785404 682 727 7 4 11 0 11 32 0 32 - 330470 1183786663 355 435 14 2 2 0 2 6 0 6 - 330470 1183787021 684 606 16 2 9 0 9 33 0 33 - 330470 1183787124 431 382 10 2 3 0 3 17 0 17 - 330470 1183787218 252 201 6 0 3 0 3 9 0 9 - 330470 1183787604 393 409 13 1 6 0 6 18 0 18 - 330470 1183787946 321 325 5 0 2 0 2 9 0 9 - 330470 1183789290 453 441 15 0 7 0 7 24 0 24 - 330470 1183789772 509 561 20 1 17 0 17 29 0 29 - 330470 1183791251 244 235 6 0 3 0 3 10 0 10 - 330470 1183791330 473 698 15 2 9 0 9 16 0 16 - 330470 1183791750 557 620 13 0 7 0 7 22 0 22 - 330470 1183792274 381 398 13 0 24 0 24 27 0 27 - 330470 1183792395 364 289 13 0 17 0 17 14 0 14 - 330470 1183792990 468 516 15 4 24 0 24 28 0 28 - 330470 1183793190 396 539 11 1 10 0 10 14 0 14 - 330470 1183793693 492 621 23 2 16 0 16 29 0 29 - 330470 1183793783 562 527 13 6 20 0 20 27 0 27 - 330470 1183794278 454 567 11 0 7 0 7 9 0 9 - 330470 1183794508 448 473 13 2 17 0 17 19 0 19 - 330470 1183794655 393 364 7 1 3 0 3 5 0 5 - 330470 1183794666 774 927 28 2 12 0 12 33 0 33 - 330470 1183795240 458 462 12 4 9 0 9 23 0 23 - 330470 1183795260 773 652 23 2 6 0 6 37 0 37 - 330470 1183795329 458 360 18 0 4 0 4 14 0 14 - 330470 1183795353 507 619 16 0 13 0 13 31 0 31 - 330470 1183797124 420 346 6 1 4 0 4 11 0 11 - 330470 1183797477 347 448 16 3 13 0 13 13 0 13 - 330470 1183797613 396 353 12 2 4 0 4 19 0 19 - 330470 1183797726 498 459 17 0 5 0 5 19 0 19 - 330470 1183797746 356 340 10 1 1 0 1 7 0 7 - 330470 1183797788 582 502 21 2 10 0 10 34 0 34 - 330470 1183798102 796 914 22 4 12 0 12 37 0 37 - 330470 1183798170 408 363 11 2 5 0 5 14 0 14 - 330470 1183799182 527 499 9 0 3 0 3 22 0 22 - 330470 1183799941 511 521 17 1 14 0 14 17 0 17 - 330470 1183800136 567 652 20 3 13 0 13 33 0 33 - 330470 1183800710 470 476 12 1 5 0 5 17 0 17 - 330470 1183801077 415 446 9 1 5 0 5 22 0 22 - 330470 1183801428 382 355 10 0 4 0 4 9 0 9 - 330470 1183802242 434 392 12 3 8 0 8 19 0 19 - 330470 1183804252 552 594 17 2 12 0 12 21 0 21 - 330470 1183804485 453 515 13 1 16 0 16 21 0 21 - 330470 1183804522 298 235 7 1 0 0 0 7 0 7 - 330470 1183806136 476 516 14 4 5 0 5 18 0 18 - 330470 1183806285 10 0 0 0 0 0 0 0 0 0 - 330470 1183806454 571 713 15 4 13 0 13 27 0 27 - 330470 1183806526 264 322 3 1 2 0 2 7 0 7 - 330470 1183807145 492 462 19 0 15 0 15 33 0 33 - 330470 1183807361 528 612 10 3 9 0 9 27 0 27 - 330470 1183807825 540 591 15 1 14 0 14 30 0 30 - 330470 1183808819 67 0 1 0 0 0 0 4 0 4 - 330470 1183809482 344 321 8 0 7 0 7 19 0 19 - 330470 1183810229 534 495 10 2 9 0 9 31 0 31 - 330470 1183810298 469 447 11 2 16 0 16 18 0 18 - 330470 1183810366 418 450 13 1 2 0 2 11 0 11 - 330470 1183810794 564 518 11 2 4 0 4 20 0 20 - 330470 1183810833 344 389 10 1 9 0 9 12 0 12 - 330470 1183811141 533 498 14 5 8 0 8 11 0 11 - 330470 1183812547 491 468 19 5 18 0 18 24 0 24 - 330470 1183812810 277 347 4 0 1 0 1 8 0 8 - 330470 1183812846 410 466 10 1 7 0 7 20 0 20 - 330470 1183813497 472 511 5 1 7 0 7 21 0 21 - 330470 1183814282 230 216 1 2 0 0 0 1 0 1 - 330470 1183814497 446 496 8 1 6 0 6 8 0 8 - 330470 1183814582 455 506 17 2 12 0 12 24 0 24 - 330470 1183815531 430 435 11 2 11 0 11 25 0 25 - 330470 1183815710 298 328 7 1 4 0 4 9 0 9 - 330470 1183815765 436 475 10 3 16 0 16 21 0 21 - 330470 1183815791 645 693 22 1 9 0 9 23 0 23 - 330470 1183815887 348 314 7 1 2 0 2 11 0 11 - 330470 1183816290 430 439 13 1 6 0 6 18 0 18 - 330470 1183817753 363 436 7 1 4 0 4 11 0 11 - 330470 1183818559 391 537 7 2 7 0 7 19 0 19 - 330470 1183819555 464 473 13 0 9 0 9 20 0 20 - 330470 1183819588 406 334 12 1 6 0 6 8 0 8 - 330470 1183820651 471 488 10 2 6 0 6 17 0 17 - 330470 1183821157 321 214 8 2 2 0 2 11 0 11 - 330470 1183821186 602 615 17 1 9 0 9 30 0 30 - 330470 1183822476 453 502 13 0 9 0 9 20 0 20 - 330470 1183823625 409 340 6 3 10 0 10 16 0 16 - 330470 1183824371 362 307 10 0 2 0 2 12 0 12 - 330470 1183824531 393 374 17 3 13 0 13 17 0 17 - 330470 1183824603 479 406 5 1 14 0 14 27 0 27 - 330470 1183824788 473 364 17 3 6 0 6 28 0 28 - 330470 1183824934 357 458 10 2 7 0 7 13 0 13 - 330470 1183825276 370 333 6 1 2 0 2 10 0 10 - 330470 1183826504 533 505 16 4 7 0 7 26 0 26 - 330470 1183826935 290 253 15 0 7 0 7 17 0 17 - 330470 1183827424 359 351 15 1 22 0 22 16 0 16 - 330470 1183828215 521 430 15 2 12 0 12 30 0 30 - 330470 1183828765 562 596 12 3 4 0 4 25 0 25 - 330470 1183828961 522 573 12 2 4 0 4 19 0 19 - 330470 1183829595 473 419 16 0 5 0 5 17 0 17 - 330470 1183829748 592 625 14 0 10 0 10 23 0 23 - 330470 1183830135 428 471 13 1 14 0 14 22 0 22 - 330470 1183830977 336 261 11 0 3 0 3 13 0 13 - 330470 1183830990 540 529 11 4 15 0 15 27 0 27 - 330470 1183831582 393 456 10 2 7 0 7 22 0 22 - 330470 1183832519 522 517 16 3 20 0 20 25 0 25 - 330470 1183832772 304 355 12 0 24 0 24 17 0 17 - 330470 1183834476 519 547 17 9 9 0 9 25 0 25 - 330470 1183835286 339 349 8 1 1 0 1 13 0 13 - 330470 1183836095 394 319 14 0 7 0 7 23 0 23 - 330470 1183836112 514 527 11 1 10 0 10 20 0 20 - 330470 1183836199 475 479 14 0 9 0 9 16 0 16 - 330470 1183836240 489 587 13 5 5 0 5 13 0 13 - 330470 1183836600 493 435 19 1 6 0 6 30 0 30 - 330470 1183837702 471 434 15 6 17 0 17 30 0 30 - 330470 1183837736 456 490 8 0 8 0 8 16 0 16 - 330470 1183839277 582 568 21 0 17 0 17 41 0 41 - 330470 1183839321 414 350 9 4 2 0 2 19 0 19 - 330470 1183839551 486 438 14 0 5 0 5 22 0 22 - 330470 1183840149 458 457 10 2 9 0 9 24 0 24 - 330470 1183840173 2 0 0 0 0 0 0 0 0 0 - 330470 1183840255 384 492 17 1 23 0 23 25 0 25 - 330470 1183840606 166 244 5 0 4 0 4 5 0 5 - 330470 1183841326 447 461 14 0 5 0 5 13 0 13 - 330470 1183841473 532 470 11 4 9 0 9 18 0 18 - 330470 1183841864 392 328 3 1 4 0 4 16 0 16 - 330470 1183842339 196 156 3 0 0 0 0 3 0 3 - 330470 1183842483 550 508 14 0 5 0 5 19 0 19 - 330470 1183842622 404 446 8 1 9 0 9 21 0 21 - 330470 1183842772 432 473 10 0 16 0 16 23 0 23 - 330470 1183843837 357 374 8 0 7 0 7 13 0 13 - 330470 1183844385 400 394 14 1 4 0 4 8 0 8 - 330470 1183846886 385 267 13 0 4 0 4 20 0 20 - 330470 1183847401 470 461 10 1 8 0 8 18 0 18 - 330470 1183847806 433 487 10 1 15 0 15 20 0 20 - 330470 1183848014 277 274 7 1 14 0 14 11 0 11 - 330470 1183848066 352 395 8 1 10 0 10 20 0 20 - 330470 1183848576 546 592 17 5 5 0 5 24 0 24 - 330470 1183848643 540 479 11 5 5 0 5 31 0 31 - 330470 1183848807 343 359 6 0 1 0 1 15 0 15 - 330470 1183849444 393 341 17 2 3 0 3 22 0 22 - 330470 1183849956 253 281 11 2 10 0 10 11 0 11 - 330470 1183850785 343 373 7 1 6 0 6 12 0 12 - 330470 1183851527 609 568 19 1 9 0 9 27 0 27 - 330470 1183852090 470 450 14 3 4 0 4 17 0 17 - 330470 1183852355 410 422 7 0 3 0 3 14 0 14 - 330470 1183852362 567 667 17 2 16 0 16 29 0 29 - 330470 1183852486 387 411 12 2 4 0 4 15 0 15 - 330470 1183852552 509 493 11 4 18 0 18 20 0 20 - 330470 1183853281 404 390 6 2 5 0 5 14 0 14 - 330470 1183853303 555 532 17 5 6 0 6 25 0 25 - 330470 1183853317 313 327 11 4 4 0 4 15 0 15 - 330470 1183853842 629 583 22 1 10 0 10 28 0 28 - 330470 1183854086 313 365 10 1 6 0 6 11 0 11 - 330470 1183854099 444 523 8 0 2 0 2 13 0 13 - 330470 1183854665 506 448 12 0 6 0 6 14 0 14 - 330470 1183855151 279 213 6 0 2 0 2 3 0 3 - 330470 1183855909 300 282 7 5 2 0 2 6 0 6 - 330470 1183856263 586 622 11 4 10 0 10 29 0 29 - 330470 1183856484 298 260 6 4 7 0 7 10 0 10 - 330470 1183856702 357 286 9 2 1 0 1 8 0 8 - 330470 1183856842 380 407 11 0 7 0 7 20 0 20 - 330470 1183857840 423 330 6 0 1 0 1 13 0 13 - 330470 1183858892 460 505 12 2 8 0 8 12 0 12 - 330470 1183859367 554 542 12 0 4 0 4 26 0 26 - 330470 1183859426 632 577 18 1 23 0 23 32 0 32 - 330470 1183859771 540 599 23 3 13 0 13 27 0 27 - 330470 1183861290 541 453 18 3 8 0 8 25 0 25 - 330470 1183862039 312 357 8 1 9 0 9 13 0 13 - 330470 1183862102 432 490 7 2 5 0 5 15 0 15 - 330470 1183864358 393 496 10 2 6 0 6 19 0 19 - 330470 1183864963 403 474 11 1 7 0 7 11 0 11 - 330470 1183865268 406 469 9 2 3 0 3 10 0 10 - 330470 1183865985 317 289 8 0 2 0 2 13 0 13 - 330470 1183867774 340 449 10 1 8 0 8 11 0 11 - 330470 1183868866 493 561 10 0 7 0 7 18 0 18 - 330470 1183869024 565 550 13 4 11 0 11 27 0 27 - 330470 1183869310 402 348 9 3 1 0 1 16 0 16 - 330470 1183869356 265 340 5 2 1 0 1 6 0 6 - 330470 1183870427 309 230 7 2 5 0 5 12 0 12 - 330470 1183871236 389 314 8 0 5 0 5 14 0 14 - 330470 1183872430 298 310 7 2 2 0 2 11 0 11 - 330470 1183873300 384 372 11 2 5 0 5 15 0 15 - 330470 1183874095 543 641 16 4 8 0 8 25 0 25 - 330470 1183874756 311 209 7 1 1 0 1 9 0 9 - 330470 1183875240 638 761 11 1 9 0 9 28 0 28 - 330470 1183875307 387 282 11 1 2 0 2 13 0 13 - 330470 1183875842 334 413 6 0 3 0 3 18 0 18 - 330470 1183876008 349 262 8 0 8 0 8 15 0 15 - 330470 1183876257 276 370 12 0 15 0 15 17 0 17 - 330470 1183876690 399 425 10 0 4 0 4 11 0 11 - 330470 1183878183 469 388 14 2 7 0 7 16 0 16 - 330470 1183878278 337 375 9 1 5 0 5 10 0 10 - 330470 1183878363 529 580 11 5 15 0 15 26 0 26 - 330470 1183879080 615 645 15 3 9 0 9 30 0 30 - 330470 1183879154 597 622 8 4 8 0 8 28 0 28 - 330470 1183879547 423 444 8 2 0 0 0 13 0 13 - 330470 1183879670 489 538 12 2 13 0 13 21 0 21 - 330470 1183879957 494 592 20 0 12 0 12 27 0 27 - 330470 1183880152 349 453 12 3 1 0 1 16 0 16 - 330470 1183880330 714 575 19 4 25 0 25 52 0 52 - 330470 1183880565 526 371 18 1 10 0 10 35 0 35 - 330470 1183880598 344 343 12 1 0 0 0 8 0 8 - 330470 1183881102 302 279 7 1 1 0 1 8 0 8 - 330470 1183881663 380 455 12 0 10 0 10 15 0 15 - 330470 1183882016 429 472 16 0 4 0 4 13 0 13 - 330470 1183882345 412 578 14 0 3 0 3 18 0 18 - 330470 1183882414 401 321 13 3 1 0 1 12 0 12 - 330470 1183882641 360 285 13 1 7 0 7 17 0 17 - 330470 1183882886 422 490 9 2 2 0 2 10 0 10 - 330470 1183884717 238 261 5 1 2 0 2 6 0 6 - 330470 1183885069 292 240 8 2 12 0 12 13 0 13 - 330470 1183885910 310 361 11 1 11 0 11 16 0 16 - 330470 1183889121 367 381 17 2 11 0 11 20 0 20 - 330470 1183889788 361 481 10 3 12 0 12 21 0 21 - 330470 1183890058 429 394 15 0 6 0 6 21 0 21 - 330470 1183890245 558 580 14 1 5 0 5 23 0 23 - 330470 1183891126 511 526 15 4 10 0 10 18 0 18 - 330470 1183891888 517 590 18 2 13 0 13 15 0 15 - 330470 1183893310 354 416 10 0 4 0 4 15 0 15 - 330470 1183893518 503 620 10 4 9 0 9 12 0 12 - 330470 1183894187 466 443 12 1 13 0 13 15 0 15 - 330470 1183895022 461 458 11 2 5 0 5 14 0 14 - 330470 1183896389 346 409 9 0 7 0 7 14 0 14 - 330470 1183896930 499 497 15 2 4 0 4 19 0 19 - 330470 1183896962 496 485 13 3 4 0 4 29 0 29 - 330470 1183898226 431 450 9 4 2 0 2 11 0 11 - 330470 1183899486 545 696 19 4 16 0 16 28 0 28 - 330470 1183899562 274 242 8 2 7 0 7 12 0 12 - 330470 1183899751 344 355 10 2 6 0 6 13 0 13 - 330470 1183899810 410 356 16 0 5 0 5 23 0 23 - 330470 1183900525 426 349 10 4 9 0 9 18 0 18 - 330470 1183900622 378 293 10 7 10 0 10 8 0 8 - 330470 1183900768 526 626 11 1 5 0 5 20 0 20 - 330470 1183901965 365 383 13 3 5 0 5 15 0 15 - 330470 1183902483 403 566 8 2 3 0 3 16 0 16 - 330470 1183903458 514 630 16 4 12 0 12 19 0 19 - 330470 1183904017 510 574 14 2 9 0 9 20 0 20 - 330470 1183904322 462 486 6 2 2 0 2 8 0 8 - 330470 1183905778 417 512 16 1 7 0 7 14 0 14 - 330470 1183905825 411 391 13 2 5 0 5 13 0 13 - 330470 1183906093 541 525 14 1 5 0 5 23 0 23 - 330470 1183906408 465 517 16 2 12 0 12 17 0 17 - 330470 1183906803 370 327 15 0 22 0 22 32 0 32 - 330470 1183907843 453 474 17 1 10 0 10 9 0 9 - 330470 1183908667 350 467 15 1 6 0 6 9 0 9 - 330470 1183908690 449 527 12 2 5 0 5 22 0 22 - 330470 1183908710 426 486 8 2 4 0 4 9 0 9 - 330470 1183908744 541 568 9 1 3 0 3 19 0 19 - 330470 1183909765 478 402 19 1 12 0 12 28 0 28 - 330470 1183910082 699 605 15 5 5 0 5 26 0 26 - 330470 1183910510 247 326 6 1 7 0 7 9 0 9 - 330470 1183910733 396 439 7 1 10 0 10 12 0 12 - 330470 1183912333 584 522 17 4 15 0 15 42 0 42 - 330470 1183914006 420 408 14 0 15 0 15 24 0 24 - 330470 1183914114 562 564 14 4 13 0 13 26 0 26 - 330470 1183916856 326 382 4 0 2 0 2 14 0 14 - 330470 1183918650 391 423 15 1 8 0 8 16 0 16 - 330470 1183918694 364 428 7 0 2 0 2 7 0 7 - 330470 1183919637 448 541 7 2 5 0 5 14 0 14 - 330470 1183919773 240 206 4 0 2 0 2 6 0 6 - 330470 1183919850 297 332 8 0 3 0 3 8 0 8 - 330470 1183920419 468 458 8 0 2 0 2 14 0 14 - 330470 1183920452 514 500 14 1 5 0 5 17 0 17 - 330470 1183921161 491 546 11 2 5 0 5 23 0 23 - 330470 1183921212 602 623 16 5 16 0 16 25 0 25 - 330470 1183921894 119 0 0 1 0 0 0 3 0 3 - 330470 1183922353 586 549 16 1 9 0 9 22 0 22 - 330470 1183923963 422 455 10 0 5 0 5 12 0 12 - 330470 1183924996 367 387 10 6 2 0 2 7 0 7 - 330470 1183926015 402 365 15 0 2 0 2 19 0 19 - 330470 1183927700 330 334 9 3 6 0 6 4 0 4 - 330470 1183927897 390 348 8 0 3 0 3 10 0 10 - 330470 1183929011 454 475 14 0 12 0 12 30 0 30 - 330470 1183929579 449 374 8 3 2 0 2 16 0 16 - 330470 1183929756 645 746 12 2 14 0 14 28 0 28 - 330470 1183930152 444 423 16 2 4 0 4 13 0 13 - 330470 1183930444 347 386 6 4 3 0 3 14 0 14 - 330470 1183930564 539 436 21 1 11 0 11 36 0 36 - 330470 1183931811 465 378 21 0 8 0 8 18 0 18 - 330470 1183932465 456 544 19 3 11 0 11 17 0 17 - 330470 1183933264 514 449 11 2 4 0 4 10 0 10 - 330470 1183934061 556 617 15 2 15 0 15 31 0 31 - 330470 1183934188 559 646 19 0 11 0 11 28 0 28 - 330470 1183935176 505 637 10 1 7 0 7 21 0 21 - 330470 1183935243 406 424 10 3 15 0 15 26 0 26 - 330470 1183936048 505 452 22 0 13 0 13 24 0 24 - 330470 1183937915 358 335 9 0 5 0 5 9 0 9 - 330470 1183937927 530 546 16 2 8 0 8 24 0 24 - 330470 1183938712 427 400 10 1 2 0 2 20 0 20 - 330470 1183938824 345 414 10 2 3 0 3 11 0 11 - 330470 1183939219 533 507 9 2 9 0 9 16 0 16 - 330470 1183939285 273 165 6 0 5 0 5 8 0 8 - 330470 1183939881 561 508 11 3 6 0 6 22 0 22 - 330470 1183941479 270 333 5 0 2 0 2 6 0 6 - 330470 1183943435 21 0 0 0 0 0 0 0 0 0 - 330470 1183944121 428 402 13 2 5 0 5 25 0 25 - 330470 1183944525 423 493 9 1 6 0 6 13 0 13 - 330470 1183946835 778 882 22 3 24 0 24 38 0 38 - 330470 1183949177 403 475 8 0 7 0 7 17 0 17 - 330470 1183949782 548 525 20 2 12 0 12 20 0 20 - 330470 1183952907 561 641 14 4 9 0 9 16 0 16 - 330470 1183953399 578 476 14 0 13 0 13 31 0 31 - 330470 1183953421 469 339 15 2 3 0 3 11 0 11 - 330470 1183953881 339 372 7 2 2 0 2 6 0 6 - 330470 1183954827 344 436 11 1 7 0 7 14 0 14 - 330470 1183957781 3 0 0 0 0 0 0 0 0 0 - 330470 1183958083 367 380 10 1 10 0 10 13 0 13 - 330470 1183960085 586 580 16 4 7 0 7 13 0 13 - 330470 1183960556 370 357 8 1 4 0 4 8 0 8 - 330470 1183961006 467 453 19 1 15 0 15 19 0 19 - 330470 1183961573 616 722 14 4 11 0 11 22 0 22 - 330470 1183961597 351 258 9 1 3 0 3 14 0 14 - 330470 1183963195 522 575 18 1 13 0 13 20 0 20 - 330470 1183969128 303 352 8 1 12 0 12 17 0 17 - 330470 1183969905 585 604 12 1 14 0 14 23 0 23 - 330470 1183970393 350 369 9 0 8 0 8 14 0 14 - 330470 1183970582 174 226 4 1 2 0 2 5 0 5 - 330470 1183973235 544 535 13 1 5 0 5 17 0 17 - 330470 1183974800 386 406 11 1 4 0 4 15 0 15 - 330470 1183975144 422 519 11 0 8 0 8 28 0 28 - 330470 1183977930 266 297 3 0 6 0 6 8 0 8 - 330470 1183979636 434 503 9 1 4 0 4 10 0 10 - 330470 1183982156 373 461 5 1 2 0 2 10 0 10 - 330470 1183982855 448 401 13 2 2 0 2 14 0 14 - 330470 1183983079 512 542 9 1 7 0 7 29 0 29 - 330470 1183983113 387 369 11 1 3 0 3 17 0 17 - 330470 1183984897 342 295 7 0 14 0 14 15 0 15 - 330470 1183985311 421 580 9 1 11 0 11 13 0 13 - 330470 1183987027 468 473 14 0 4 0 4 17 0 17 - 330470 1183988197 390 420 8 4 4 0 4 19 0 19 - 330470 1183991258 380 392 8 2 1 0 1 13 0 13 - 330470 1183991399 859 817 33 0 9 0 9 44 0 44 - 330470 1183994870 492 542 11 1 12 0 12 25 0 25 - 330470 1183995076 239 205 3 1 0 0 0 5 0 5 - 330470 1183995604 394 352 18 0 2 0 2 13 0 13 - 330470 1183995956 394 390 8 1 8 0 8 12 0 12 - 330470 1183997552 522 536 13 0 4 0 4 23 0 23 - 330470 1183997623 408 332 15 2 6 0 6 14 0 14 - 330470 1183997905 350 316 10 0 1 0 1 6 0 6 - 330470 1184001332 450 420 13 4 11 0 11 26 0 26 - 330470 1184003671 421 385 14 1 6 0 6 16 0 16 - 330470 1184007839 421 445 11 2 9 0 9 15 0 15 - 330470 1184010792 477 469 9 0 5 0 5 15 0 15 - 330470 1184011907 359 423 11 1 2 0 2 16 0 16 - 330470 1184012123 368 332 11 1 10 0 10 22 0 22 - 330470 1184013681 311 242 9 0 1 0 1 12 0 12 - 330470 1184014074 358 358 12 0 3 0 3 12 0 12 - 330470 1184016450 487 518 16 1 13 0 13 29 0 29 - 330470 1184019719 414 374 13 1 3 0 3 20 0 20 - 330470 1184020401 563 453 15 3 7 0 7 28 0 28 - 330470 1184026109 415 334 13 0 11 0 11 20 0 20 - 330470 1184026603 601 620 17 2 6 0 6 26 0 26 - 330470 1184027737 477 484 11 0 0 0 0 16 0 16 - 330470 1184028312 570 597 21 1 10 0 10 30 0 30 - 330470 1184044299 105 0 0 0 0 0 0 0 0 0 - 330470 1184045730 361 462 10 1 5 0 5 14 0 14 - 330470 1184048892 508 456 16 1 8 0 8 30 0 30 - 330470 1184054880 375 335 6 0 2 0 2 6 0 6 - 330470 1184055196 330 273 9 1 4 0 4 11 0 11 - 330470 1184064491 68 0 1 0 0 0 0 0 0 0 - 330470 1184065397 91 0 0 0 0 0 0 3 0 3 + run event nTopo nIdTracks nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot + 330470 1183721871 761 838 5 16 0 16 36 0 36 + 330470 1183722156 360 390 1 3 0 3 12 0 12 + 330470 1183722158 1 0 0 0 0 0 0 0 0 + 330470 1183722342 394 429 0 2 0 2 15 0 15 + 330470 1183723134 463 502 4 3 0 3 16 0 16 + 330470 1183723677 583 589 3 13 0 13 33 0 33 + 330470 1183724572 518 617 3 7 0 7 15 0 15 + 330470 1183725127 367 465 2 9 0 9 16 0 16 + 330470 1183726136 561 625 5 6 0 6 18 0 18 + 330470 1183727515 408 388 0 7 0 7 19 0 19 + 330470 1183727920 565 681 2 7 0 7 23 0 23 + 330470 1183727953 532 599 4 7 0 7 24 0 24 + 330470 1183728466 399 447 1 11 0 11 14 0 14 + 330470 1183728476 539 534 0 14 0 14 25 0 25 + 330470 1183729021 390 421 0 12 0 12 14 0 14 + 330470 1183729025 420 474 0 8 0 8 14 0 14 + 330470 1183730486 406 399 3 0 0 0 20 0 20 + 330470 1183731705 735 771 3 14 0 14 42 0 42 + 330470 1183731814 591 537 3 6 0 6 29 0 29 + 330470 1183731884 420 374 2 2 0 2 12 0 12 + 330470 1183732647 467 507 1 8 0 8 20 0 20 + 330470 1183733040 381 302 2 5 0 5 10 0 10 + 330470 1183733070 431 570 1 16 0 16 24 0 24 + 330470 1183733727 678 795 1 5 0 5 35 0 35 + 330470 1183734651 361 382 2 5 0 5 18 0 18 + 330470 1183734704 438 445 5 2 0 2 23 0 23 + 330470 1183734871 556 608 2 14 0 14 21 0 21 + 330470 1183735332 406 391 1 5 0 5 10 0 10 + 330470 1183735593 480 459 1 5 0 5 26 0 26 + 330470 1183735786 311 217 1 0 0 0 8 0 8 + 330470 1183736050 589 692 1 11 0 11 29 0 29 + 330470 1183736197 453 487 5 7 0 7 15 0 15 + 330470 1183736364 427 408 1 6 0 6 16 0 16 + 330470 1183736418 466 491 2 13 0 13 17 0 17 + 330470 1183736475 741 705 1 2 0 2 22 0 22 + 330470 1183737047 481 542 1 6 0 6 24 0 24 + 330470 1183737710 492 512 3 22 0 22 20 0 20 + 330470 1183738386 525 474 2 20 0 20 30 0 30 + 330470 1183738728 1 0 0 0 0 0 0 0 0 + 330470 1183738949 368 450 1 5 0 5 11 0 11 + 330470 1183739966 531 447 1 12 0 12 24 0 24 + 330470 1183740967 558 639 0 4 0 4 19 0 19 + 330470 1183741011 240 350 3 5 0 5 13 0 13 + 330470 1183742016 289 307 1 4 0 4 6 0 6 + 330470 1183742376 372 401 1 2 0 2 10 0 10 + 330470 1183742489 152 127 1 1 0 1 1 0 1 + 330470 1183742713 364 436 2 11 0 11 16 0 16 + 330470 1183743040 285 326 0 3 0 3 5 0 5 + 330470 1183743941 404 371 2 15 0 15 13 0 13 + 330470 1183744491 530 658 0 13 0 13 16 0 16 + 330470 1183744557 302 356 0 4 0 4 11 0 11 + 330470 1183744835 411 416 1 8 0 8 20 0 20 + 330470 1183744941 316 384 2 7 0 7 17 0 17 + 330470 1183745001 320 386 0 10 0 10 12 0 12 + 330470 1183745791 361 406 0 19 0 19 20 0 20 + 330470 1183745889 371 388 1 5 0 5 10 0 10 + 330470 1183746019 446 485 0 7 0 7 24 0 24 + 330470 1183746343 492 493 0 3 0 3 16 0 16 + 330470 1183746391 364 445 2 15 0 15 20 0 20 + 330470 1183746668 459 388 0 7 0 7 20 0 20 + 330470 1183746710 6 0 0 0 0 0 0 0 0 + 330470 1183746776 348 366 1 9 0 9 27 0 27 + 330470 1183747953 302 376 2 4 0 4 10 0 10 + 330470 1183748096 455 491 0 5 0 5 17 0 17 + 330470 1183748136 663 650 1 12 0 12 26 0 26 + 330470 1183748263 396 411 2 8 0 8 16 0 16 + 330470 1183748421 460 422 1 8 0 8 15 0 15 + 330470 1183748705 490 535 2 9 0 9 20 0 20 + 330470 1183750758 436 393 1 4 0 4 15 0 15 + 330470 1183750781 377 365 1 5 0 5 16 0 16 + 330470 1183750906 702 757 3 10 0 10 29 0 29 + 330470 1183751782 239 246 0 0 0 0 6 0 6 + 330470 1183752624 347 366 3 5 0 5 15 0 15 + 330470 1183753006 357 398 3 4 0 4 14 0 14 + 330470 1183753030 398 359 2 23 0 23 20 0 20 + 330470 1183753541 400 466 2 8 0 8 11 0 11 + 330470 1183754806 470 423 0 2 0 2 17 0 17 + 330470 1183755085 482 510 3 15 0 15 27 0 27 + 330470 1183756180 447 379 0 2 0 2 16 0 16 + 330470 1183756295 367 449 3 7 0 7 12 0 12 + 330470 1183756303 565 585 1 24 0 24 24 0 24 + 330470 1183756939 606 588 1 19 0 19 26 0 26 + 330470 1183756951 283 273 1 2 0 2 4 0 4 + 330470 1183757556 300 278 1 5 0 5 10 0 10 + 330470 1183758317 685 739 1 13 0 13 29 0 29 + 330470 1183758663 340 311 0 5 0 5 11 0 11 + 330470 1183758709 340 254 2 4 0 4 12 0 12 + 330470 1183758819 446 535 4 24 0 24 19 0 19 + 330470 1183759087 476 464 3 8 0 8 19 0 19 + 330470 1183759951 610 743 5 18 0 18 32 0 32 + 330470 1183760662 421 437 1 8 0 8 18 0 18 + 330470 1183760713 430 486 0 11 0 11 21 0 21 + 330470 1183761092 301 437 3 6 0 6 8 0 8 + 330470 1183762287 384 448 3 4 0 4 13 0 13 + 330470 1183762295 411 429 2 9 0 9 16 0 16 + 330470 1183762346 487 456 3 29 0 29 26 0 26 + 330470 1183762622 389 405 2 6 0 6 15 0 15 + 330470 1183762728 539 509 0 19 0 19 27 0 27 + 330470 1183764544 400 368 2 9 0 9 15 0 15 + 330470 1183764842 585 654 1 15 0 15 29 0 29 + 330470 1183765366 464 522 2 6 0 6 10 0 10 + 330470 1183765436 301 216 0 5 0 5 5 0 5 + 330470 1183767528 668 650 1 9 0 9 28 0 28 + 330470 1183767718 467 461 2 15 0 15 17 0 17 + 330470 1183768132 410 435 2 4 0 4 15 0 15 + 330470 1183768747 598 599 3 24 0 24 25 0 25 + 330470 1183768758 656 734 3 15 0 15 24 0 24 + 330470 1183769295 342 341 2 0 0 0 6 0 6 + 330470 1183769514 383 377 3 2 0 2 14 0 14 + 330470 1183769648 527 578 4 6 0 6 17 0 17 + 330470 1183769939 348 362 3 8 0 8 11 0 11 + 330470 1183770542 525 557 2 12 0 12 28 0 28 + 330470 1183771482 391 433 1 8 0 8 17 0 17 + 330470 1183771836 373 452 3 1 0 1 13 0 13 + 330470 1183771838 409 313 0 3 0 3 18 0 18 + 330470 1183771849 555 440 2 9 0 9 25 0 25 + 330470 1183773222 341 390 4 2 0 2 1 0 1 + 330470 1183773321 583 547 1 7 0 7 33 0 33 + 330470 1183773556 421 381 0 7 0 7 17 0 17 + 330470 1183773832 307 209 0 2 0 2 13 0 13 + 330470 1183774235 325 347 1 11 0 11 13 0 13 + 330470 1183775004 453 401 2 1 0 1 17 0 17 + 330470 1183775209 57 0 0 0 0 0 0 0 0 + 330470 1183776444 450 417 3 4 0 4 14 0 14 + 330470 1183776871 425 441 3 9 0 9 18 0 18 + 330470 1183777434 310 328 0 4 0 4 13 0 13 + 330470 1183777582 422 479 2 9 0 9 14 0 14 + 330470 1183778621 584 652 1 6 0 6 24 0 24 + 330470 1183779564 332 314 3 5 0 5 7 0 7 + 330470 1183779664 432 348 0 10 0 10 21 0 21 + 330470 1183779916 499 524 3 5 0 5 17 0 17 + 330470 1183780039 444 377 3 2 0 2 16 0 16 + 330470 1183780441 560 553 3 8 0 8 29 0 29 + 330470 1183781429 432 497 1 19 0 19 28 0 28 + 330470 1183781526 711 906 0 13 0 13 36 0 36 + 330470 1183782439 478 550 1 6 0 6 18 0 18 + 330470 1183782592 487 566 1 6 0 6 16 0 16 + 330470 1183782928 539 647 3 8 0 8 25 0 25 + 330470 1183783289 507 599 1 15 0 15 20 0 20 + 330470 1183783835 437 477 3 15 0 15 30 0 30 + 330470 1183783921 518 489 1 22 0 22 32 0 32 + 330470 1183784212 561 540 0 36 0 36 28 0 28 + 330470 1183784686 458 494 6 5 0 5 23 0 23 + 330470 1183784788 350 326 2 18 0 18 16 0 16 + 330470 1183785404 682 726 4 11 0 11 32 0 32 + 330470 1183786663 355 434 2 2 0 2 6 0 6 + 330470 1183787021 684 606 2 9 0 9 33 0 33 + 330470 1183787124 431 383 2 3 0 3 17 0 17 + 330470 1183787218 252 201 0 3 0 3 9 0 9 + 330470 1183787604 393 409 1 6 0 6 18 0 18 + 330470 1183787946 321 325 1 2 0 2 9 0 9 + 330470 1183789290 453 441 0 7 0 7 24 0 24 + 330470 1183789772 509 561 1 17 0 17 29 0 29 + 330470 1183791251 244 235 0 3 0 3 10 0 10 + 330470 1183791330 473 698 2 9 0 9 16 0 16 + 330470 1183791750 557 619 0 7 0 7 22 0 22 + 330470 1183792274 381 398 0 24 0 24 27 0 27 + 330470 1183792395 364 289 0 17 0 17 14 0 14 + 330470 1183792990 468 516 4 24 0 24 28 0 28 + 330470 1183793190 396 539 1 10 0 10 14 0 14 + 330470 1183793693 492 622 2 16 0 16 29 0 29 + 330470 1183793783 562 527 7 20 0 20 27 0 27 + 330470 1183794278 454 566 0 7 0 7 9 0 9 + 330470 1183794508 448 472 2 17 0 17 19 0 19 + 330470 1183794655 393 364 1 3 0 3 5 0 5 + 330470 1183794666 774 928 2 12 0 12 33 0 33 + 330470 1183795240 458 462 4 9 0 9 23 0 23 + 330470 1183795260 773 651 2 6 0 6 37 0 37 + 330470 1183795329 458 360 0 4 0 4 14 0 14 + 330470 1183795353 507 620 0 13 0 13 31 0 31 + 330470 1183797124 420 346 1 4 0 4 11 0 11 + 330470 1183797477 347 449 3 13 0 13 13 0 13 + 330470 1183797613 396 353 2 4 0 4 19 0 19 + 330470 1183797726 498 459 0 5 0 5 19 0 19 + 330470 1183797746 356 340 1 1 0 1 7 0 7 + 330470 1183797788 582 502 2 10 0 10 34 0 34 + 330470 1183798102 796 915 4 12 0 12 37 0 37 + 330470 1183798170 408 363 2 5 0 5 14 0 14 + 330470 1183799182 527 500 0 3 0 3 22 0 22 + 330470 1183799941 511 521 1 14 0 14 17 0 17 + 330470 1183800136 567 652 3 13 0 13 33 0 33 + 330470 1183800710 470 475 1 5 0 5 17 0 17 + 330470 1183801077 415 446 1 5 0 5 22 0 22 + 330470 1183801428 382 355 0 4 0 4 9 0 9 + 330470 1183802242 434 392 3 8 0 8 19 0 19 + 330470 1183804252 552 594 2 12 0 12 21 0 21 + 330470 1183804485 453 514 1 16 0 16 21 0 21 + 330470 1183804522 298 235 1 0 0 0 7 0 7 + 330470 1183806136 476 516 4 5 0 5 18 0 18 + 330470 1183806285 10 0 0 0 0 0 0 0 0 + 330470 1183806454 571 713 4 13 0 13 27 0 27 + 330470 1183806526 264 322 1 2 0 2 7 0 7 + 330470 1183807145 492 462 0 15 0 15 33 0 33 + 330470 1183807361 528 612 3 9 0 9 27 0 27 + 330470 1183807825 540 592 1 14 0 14 30 0 30 + 330470 1183808819 67 0 0 0 0 0 4 0 4 + 330470 1183809482 344 321 0 7 0 7 19 0 19 + 330470 1183810229 534 493 2 9 0 9 31 0 31 + 330470 1183810298 469 447 2 16 0 16 18 0 18 + 330470 1183810366 418 451 1 2 0 2 11 0 11 + 330470 1183810794 564 518 2 4 0 4 20 0 20 + 330470 1183810833 344 389 1 9 0 9 12 0 12 + 330470 1183811141 533 498 5 8 0 8 11 0 11 + 330470 1183812547 491 469 5 18 0 18 24 0 24 + 330470 1183812810 277 347 0 1 0 1 8 0 8 + 330470 1183812846 410 467 1 7 0 7 20 0 20 + 330470 1183813497 472 511 1 7 0 7 21 0 21 + 330470 1183814282 230 215 2 0 0 0 1 0 1 + 330470 1183814497 446 496 1 6 0 6 8 0 8 + 330470 1183814582 455 506 2 12 0 12 24 0 24 + 330470 1183815531 430 435 2 11 0 11 25 0 25 + 330470 1183815710 298 327 1 4 0 4 9 0 9 + 330470 1183815765 436 474 2 16 0 16 21 0 21 + 330470 1183815791 645 693 1 9 0 9 23 0 23 + 330470 1183815887 348 315 1 2 0 2 11 0 11 + 330470 1183816290 430 439 1 6 0 6 18 0 18 + 330470 1183817753 363 436 1 4 0 4 11 0 11 + 330470 1183818559 391 537 2 7 0 7 19 0 19 + 330470 1183819555 464 473 0 9 0 9 20 0 20 + 330470 1183819588 406 334 1 6 0 6 8 0 8 + 330470 1183820651 471 487 2 6 0 6 17 0 17 + 330470 1183821157 321 214 2 2 0 2 11 0 11 + 330470 1183821186 602 615 1 9 0 9 30 0 30 + 330470 1183822476 453 502 0 9 0 9 20 0 20 + 330470 1183823625 409 340 3 10 0 10 16 0 16 + 330470 1183824371 362 307 0 2 0 2 12 0 12 + 330470 1183824531 393 374 3 13 0 13 17 0 17 + 330470 1183824603 479 406 1 14 0 14 27 0 27 + 330470 1183824788 473 364 3 6 0 6 28 0 28 + 330470 1183824934 357 458 2 7 0 7 13 0 13 + 330470 1183825276 370 333 1 2 0 2 10 0 10 + 330470 1183826504 533 506 4 7 0 7 26 0 26 + 330470 1183826935 290 253 0 7 0 7 17 0 17 + 330470 1183827424 359 352 1 22 0 22 16 0 16 + 330470 1183828215 521 429 2 12 0 12 30 0 30 + 330470 1183828765 562 596 3 4 0 4 25 0 25 + 330470 1183828961 522 573 2 4 0 4 19 0 19 + 330470 1183829595 473 420 0 5 0 5 17 0 17 + 330470 1183829748 592 623 0 10 0 10 23 0 23 + 330470 1183830135 428 471 1 14 0 14 22 0 22 + 330470 1183830977 336 262 0 3 0 3 13 0 13 + 330470 1183830990 540 529 5 15 0 15 27 0 27 + 330470 1183831582 393 457 2 7 0 7 22 0 22 + 330470 1183832519 522 517 3 20 0 20 25 0 25 + 330470 1183832772 304 355 0 25 0 25 16 0 16 + 330470 1183834476 519 547 9 9 0 9 25 0 25 + 330470 1183835286 339 349 2 1 0 1 13 0 13 + 330470 1183836095 394 319 0 7 0 7 23 0 23 + 330470 1183836112 514 527 1 10 0 10 20 0 20 + 330470 1183836199 475 480 0 9 0 9 16 0 16 + 330470 1183836240 489 587 4 5 0 5 13 0 13 + 330470 1183836600 493 435 1 6 0 6 30 0 30 + 330470 1183837702 471 434 6 17 0 17 30 0 30 + 330470 1183837736 456 491 0 8 0 8 16 0 16 + 330470 1183839277 582 568 0 17 0 17 41 0 41 + 330470 1183839321 414 349 4 2 0 2 19 0 19 + 330470 1183839551 486 438 0 5 0 5 22 0 22 + 330470 1183840149 458 457 2 9 0 9 24 0 24 + 330470 1183840173 2 0 0 0 0 0 0 0 0 + 330470 1183840255 384 492 1 23 0 23 25 0 25 + 330470 1183840606 166 244 0 4 0 4 5 0 5 + 330470 1183841326 447 463 0 5 0 5 13 0 13 + 330470 1183841473 532 470 4 9 0 9 18 0 18 + 330470 1183841864 392 328 1 4 0 4 16 0 16 + 330470 1183842339 196 156 0 0 0 0 3 0 3 + 330470 1183842483 550 508 0 5 0 5 19 0 19 + 330470 1183842622 404 446 1 9 0 9 21 0 21 + 330470 1183842772 432 475 0 16 0 16 23 0 23 + 330470 1183843837 357 373 0 7 0 7 13 0 13 + 330470 1183844385 400 394 1 4 0 4 8 0 8 + 330470 1183846886 385 267 0 4 0 4 20 0 20 + 330470 1183847401 470 459 1 8 0 8 18 0 18 + 330470 1183847806 433 487 1 15 0 15 20 0 20 + 330470 1183848014 277 274 1 14 0 14 11 0 11 + 330470 1183848066 352 395 1 10 0 10 20 0 20 + 330470 1183848576 546 592 5 5 0 5 24 0 24 + 330470 1183848643 540 479 5 5 0 5 31 0 31 + 330470 1183848807 343 359 0 1 0 1 15 0 15 + 330470 1183849444 393 341 2 3 0 3 22 0 22 + 330470 1183849956 253 281 2 10 0 10 11 0 11 + 330470 1183850785 343 373 1 6 0 6 12 0 12 + 330470 1183851527 609 568 1 9 0 9 27 0 27 + 330470 1183852090 470 449 3 4 0 4 17 0 17 + 330470 1183852355 410 422 0 3 0 3 14 0 14 + 330470 1183852362 567 667 2 16 0 16 29 0 29 + 330470 1183852486 387 412 2 4 0 4 15 0 15 + 330470 1183852552 509 492 3 18 0 18 20 0 20 + 330470 1183853281 404 390 2 5 0 5 14 0 14 + 330470 1183853303 555 532 5 6 0 6 25 0 25 + 330470 1183853317 313 327 4 4 0 4 15 0 15 + 330470 1183853842 629 583 1 10 0 10 28 0 28 + 330470 1183854086 313 365 1 6 0 6 11 0 11 + 330470 1183854099 444 523 0 2 0 2 13 0 13 + 330470 1183854665 506 448 0 6 0 6 14 0 14 + 330470 1183855151 279 213 0 2 0 2 3 0 3 + 330470 1183855909 300 282 4 2 0 2 6 0 6 + 330470 1183856263 586 623 5 10 0 10 29 0 29 + 330470 1183856484 298 260 4 7 0 7 10 0 10 + 330470 1183856702 357 285 2 1 0 1 8 0 8 + 330470 1183856842 380 406 0 7 0 7 20 0 20 + 330470 1183857840 423 330 0 1 0 1 13 0 13 + 330470 1183858892 460 505 2 8 0 8 12 0 12 + 330470 1183859367 554 542 0 4 0 4 26 0 26 + 330470 1183859426 632 577 1 23 0 23 32 0 32 + 330470 1183859771 540 601 3 13 0 13 27 0 27 + 330470 1183861290 541 452 3 8 0 8 25 0 25 + 330470 1183862039 312 357 1 9 0 9 13 0 13 + 330470 1183862102 432 490 1 5 0 5 15 0 15 + 330470 1183864358 393 496 2 6 0 6 19 0 19 + 330470 1183864963 403 476 1 7 0 7 11 0 11 + 330470 1183865268 406 469 2 3 0 3 10 0 10 + 330470 1183865985 317 289 0 2 0 2 13 0 13 + 330470 1183867774 340 449 1 8 0 8 11 0 11 + 330470 1183868866 493 561 0 7 0 7 18 0 18 + 330470 1183869024 565 550 4 11 0 11 27 0 27 + 330470 1183869310 402 348 3 1 0 1 16 0 16 + 330470 1183869356 265 340 2 1 0 1 6 0 6 + 330470 1183870427 309 230 2 5 0 5 12 0 12 + 330470 1183871236 389 314 0 5 0 5 14 0 14 + 330470 1183872430 298 310 2 2 0 2 11 0 11 + 330470 1183873300 384 372 2 5 0 5 15 0 15 + 330470 1183874095 543 641 4 8 0 8 25 0 25 + 330470 1183874756 311 208 1 1 0 1 9 0 9 + 330470 1183875240 638 761 1 9 0 9 28 0 28 + 330470 1183875307 387 282 1 2 0 2 13 0 13 + 330470 1183875842 334 413 0 3 0 3 18 0 18 + 330470 1183876008 349 262 0 8 0 8 15 0 15 + 330470 1183876257 276 370 0 15 0 15 17 0 17 + 330470 1183876690 399 425 0 4 0 4 11 0 11 + 330470 1183878183 469 388 2 7 0 7 16 0 16 + 330470 1183878278 337 374 1 5 0 5 10 0 10 + 330470 1183878363 529 580 5 15 0 15 26 0 26 + 330470 1183879080 615 645 3 9 0 9 30 0 30 + 330470 1183879154 597 620 4 8 0 8 28 0 28 + 330470 1183879547 423 444 2 0 0 0 13 0 13 + 330470 1183879670 489 538 2 13 0 13 21 0 21 + 330470 1183879957 494 592 0 12 0 12 27 0 27 + 330470 1183880152 349 453 3 1 0 1 16 0 16 + 330470 1183880330 714 575 4 25 0 25 52 0 52 + 330470 1183880565 526 371 1 10 0 10 35 0 35 + 330470 1183880598 344 343 1 0 0 0 8 0 8 + 330470 1183881102 302 279 1 1 0 1 8 0 8 + 330470 1183881663 380 455 0 10 0 10 15 0 15 + 330470 1183882016 429 472 0 4 0 4 13 0 13 + 330470 1183882345 412 577 0 3 0 3 18 0 18 + 330470 1183882414 401 321 3 1 0 1 12 0 12 + 330470 1183882641 360 285 1 7 0 7 17 0 17 + 330470 1183882886 422 490 2 2 0 2 10 0 10 + 330470 1183884717 238 260 1 2 0 2 6 0 6 + 330470 1183885069 292 240 3 12 0 12 13 0 13 + 330470 1183885910 310 361 1 11 0 11 16 0 16 + 330470 1183889121 367 381 2 11 0 11 20 0 20 + 330470 1183889788 361 481 3 12 0 12 21 0 21 + 330470 1183890058 429 394 0 6 0 6 21 0 21 + 330470 1183890245 558 580 1 5 0 5 23 0 23 + 330470 1183891126 511 526 4 10 0 10 18 0 18 + 330470 1183891888 517 590 2 13 0 13 15 0 15 + 330470 1183893310 354 416 0 4 0 4 15 0 15 + 330470 1183893518 503 621 4 9 0 9 12 0 12 + 330470 1183894187 466 444 1 13 0 13 15 0 15 + 330470 1183895022 461 458 2 5 0 5 14 0 14 + 330470 1183896389 346 409 0 7 0 7 14 0 14 + 330470 1183896930 499 497 2 4 0 4 19 0 19 + 330470 1183896962 496 485 3 4 0 4 29 0 29 + 330470 1183898226 431 451 4 2 0 2 11 0 11 + 330470 1183899486 545 695 4 16 0 16 28 0 28 + 330470 1183899562 274 242 2 7 0 7 12 0 12 + 330470 1183899751 344 355 2 6 0 6 13 0 13 + 330470 1183899810 410 356 0 5 0 5 23 0 23 + 330470 1183900525 426 349 3 9 0 9 18 0 18 + 330470 1183900622 378 293 7 10 0 10 8 0 8 + 330470 1183900768 526 625 1 5 0 5 20 0 20 + 330470 1183901965 365 383 3 5 0 5 15 0 15 + 330470 1183902483 403 565 2 3 0 3 16 0 16 + 330470 1183903458 514 630 3 12 0 12 19 0 19 + 330470 1183904017 510 574 2 9 0 9 20 0 20 + 330470 1183904322 462 487 2 2 0 2 8 0 8 + 330470 1183905778 417 512 1 7 0 7 14 0 14 + 330470 1183905825 411 390 2 5 0 5 13 0 13 + 330470 1183906093 541 524 1 5 0 5 23 0 23 + 330470 1183906408 465 516 2 12 0 12 17 0 17 + 330470 1183906803 370 327 0 22 0 22 32 0 32 + 330470 1183907843 453 475 1 11 0 11 9 0 9 + 330470 1183908667 350 466 1 6 0 6 9 0 9 + 330470 1183908690 449 527 2 5 0 5 22 0 22 + 330470 1183908710 426 487 2 4 0 4 9 0 9 + 330470 1183908744 541 568 1 3 0 3 19 0 19 + 330470 1183909765 478 403 1 12 0 12 28 0 28 + 330470 1183910082 699 605 5 5 0 5 26 0 26 + 330470 1183910510 247 326 1 7 0 7 9 0 9 + 330470 1183910733 396 439 1 10 0 10 12 0 12 + 330470 1183912333 584 523 4 15 0 15 42 0 42 + 330470 1183914006 420 408 0 15 0 15 24 0 24 + 330470 1183914114 562 564 4 13 0 13 26 0 26 + 330470 1183916856 326 382 0 2 0 2 14 0 14 + 330470 1183918650 391 423 1 8 0 8 16 0 16 + 330470 1183918694 364 429 0 2 0 2 7 0 7 + 330470 1183919637 448 541 2 5 0 5 14 0 14 + 330470 1183919773 240 206 0 2 0 2 6 0 6 + 330470 1183919850 297 332 0 3 0 3 8 0 8 + 330470 1183920419 468 458 0 2 0 2 14 0 14 + 330470 1183920452 514 501 1 5 0 5 17 0 17 + 330470 1183921161 491 546 2 5 0 5 23 0 23 + 330470 1183921212 602 623 5 16 0 16 25 0 25 + 330470 1183921894 119 0 1 0 0 0 3 0 3 + 330470 1183922353 586 549 1 9 0 9 22 0 22 + 330470 1183923963 422 456 0 5 0 5 12 0 12 + 330470 1183924996 367 387 6 2 0 2 7 0 7 + 330470 1183926015 402 365 0 2 0 2 19 0 19 + 330470 1183927700 330 334 3 6 0 6 4 0 4 + 330470 1183927897 390 348 0 3 0 3 10 0 10 + 330470 1183929011 454 475 0 12 0 12 30 0 30 + 330470 1183929579 449 374 3 2 0 2 16 0 16 + 330470 1183929756 645 746 2 14 0 14 28 0 28 + 330470 1183930152 444 423 2 4 0 4 13 0 13 + 330470 1183930444 347 386 4 3 0 3 14 0 14 + 330470 1183930564 539 436 1 11 0 11 36 0 36 + 330470 1183931811 465 377 0 8 0 8 18 0 18 + 330470 1183932465 456 544 3 11 0 11 17 0 17 + 330470 1183933264 514 449 2 4 0 4 10 0 10 + 330470 1183934061 556 615 1 15 0 15 31 0 31 + 330470 1183934188 559 646 0 11 0 11 28 0 28 + 330470 1183935176 505 637 1 7 0 7 21 0 21 + 330470 1183935243 406 423 3 15 0 15 26 0 26 + 330470 1183936048 505 452 0 13 0 13 24 0 24 + 330470 1183937915 358 335 0 5 0 5 9 0 9 + 330470 1183937927 530 546 2 8 0 8 24 0 24 + 330470 1183938712 427 400 1 2 0 2 20 0 20 + 330470 1183938824 345 414 2 3 0 3 11 0 11 + 330470 1183939219 533 507 3 9 0 9 16 0 16 + 330470 1183939285 273 165 0 5 0 5 8 0 8 + 330470 1183939881 561 507 3 6 0 6 22 0 22 + 330470 1183941479 270 332 0 2 0 2 6 0 6 + 330470 1183943435 21 0 0 0 0 0 0 0 0 + 330470 1183944121 428 402 2 5 0 5 25 0 25 + 330470 1183944525 423 494 1 6 0 6 13 0 13 + 330470 1183946835 778 882 3 24 0 24 38 0 38 + 330470 1183949177 403 474 0 7 0 7 17 0 17 + 330470 1183949782 548 525 2 12 0 12 20 0 20 + 330470 1183952907 561 641 4 9 0 9 16 0 16 + 330470 1183953399 578 476 0 13 0 13 31 0 31 + 330470 1183953421 469 339 2 3 0 3 11 0 11 + 330470 1183953881 339 372 2 2 0 2 6 0 6 + 330470 1183954827 344 435 1 7 0 7 14 0 14 + 330470 1183957781 3 0 0 0 0 0 0 0 0 + 330470 1183958083 367 380 1 10 0 10 13 0 13 + 330470 1183960085 586 580 4 7 0 7 13 0 13 + 330470 1183960556 370 357 1 4 0 4 8 0 8 + 330470 1183961006 467 453 1 15 0 15 19 0 19 + 330470 1183961573 616 722 4 11 0 11 22 0 22 + 330470 1183961597 351 258 1 3 0 3 14 0 14 + 330470 1183963195 522 576 1 13 0 13 20 0 20 + 330470 1183969128 303 351 1 12 0 12 17 0 17 + 330470 1183969905 585 604 2 14 0 14 23 0 23 + 330470 1183970393 350 369 0 8 0 8 14 0 14 + 330470 1183970582 174 226 1 2 0 2 5 0 5 + 330470 1183973235 544 535 1 5 0 5 17 0 17 + 330470 1183974800 386 406 1 4 0 4 15 0 15 + 330470 1183975144 422 517 0 8 0 8 28 0 28 + 330470 1183977930 266 297 0 6 0 6 8 0 8 + 330470 1183979636 434 504 1 4 0 4 10 0 10 + 330470 1183982156 373 461 1 2 0 2 10 0 10 + 330470 1183982855 448 401 2 2 0 2 14 0 14 + 330470 1183983079 512 542 2 7 0 7 29 0 29 + 330470 1183983113 387 369 1 3 0 3 17 0 17 + 330470 1183984897 342 295 0 14 0 14 15 0 15 + 330470 1183985311 421 580 1 11 0 11 13 0 13 + 330470 1183987027 468 473 0 4 0 4 17 0 17 + 330470 1183988197 390 420 4 4 0 4 19 0 19 + 330470 1183991258 380 393 2 1 0 1 13 0 13 + 330470 1183991399 859 816 0 9 0 9 44 0 44 + 330470 1183994870 492 543 1 12 0 12 25 0 25 + 330470 1183995076 239 205 1 0 0 0 5 0 5 + 330470 1183995604 394 352 0 2 0 2 13 0 13 + 330470 1183995956 394 390 1 8 0 8 12 0 12 + 330470 1183997552 522 536 0 4 0 4 23 0 23 + 330470 1183997623 408 332 2 6 0 6 14 0 14 + 330470 1183997905 350 316 0 1 0 1 6 0 6 + 330470 1184001332 450 420 4 11 0 11 26 0 26 + 330470 1184003671 421 385 1 6 0 6 16 0 16 + 330470 1184007839 421 444 2 9 0 9 15 0 15 + 330470 1184010792 477 470 0 5 0 5 15 0 15 + 330470 1184011907 359 423 1 2 0 2 16 0 16 + 330470 1184012123 368 332 1 10 0 10 22 0 22 + 330470 1184013681 311 242 0 1 0 1 12 0 12 + 330470 1184014074 358 358 0 3 0 3 12 0 12 + 330470 1184016450 487 519 1 13 0 13 29 0 29 + 330470 1184019719 414 374 1 3 0 3 20 0 20 + 330470 1184020401 563 453 2 7 0 7 28 0 28 + 330470 1184026109 415 334 0 11 0 11 20 0 20 + 330470 1184026603 601 621 2 6 0 6 26 0 26 + 330470 1184027737 477 484 0 0 0 0 16 0 16 + 330470 1184028312 570 597 1 10 0 10 30 0 30 + 330470 1184044299 105 0 0 0 0 0 0 0 0 + 330470 1184045730 361 462 1 5 0 5 14 0 14 + 330470 1184048892 508 456 1 8 0 8 30 0 30 + 330470 1184054880 375 336 0 2 0 2 6 0 6 + 330470 1184055196 330 273 1 4 0 4 11 0 11 + 330470 1184064491 68 0 0 0 0 0 0 0 0 + 330470 1184065397 91 0 0 0 0 0 3 0 3 diff --git a/Tools/PROCTools/python/xAODDigest.py b/Tools/PROCTools/python/xAODDigest.py index 761f5430425..86978652204 100755 --- a/Tools/PROCTools/python/xAODDigest.py +++ b/Tools/PROCTools/python/xAODDigest.py @@ -32,15 +32,6 @@ def xAODDigest(evt, counter=False, extravars=False): "xAOD::TrackParticleContainer", "InDetTrackParticles") nIdTracks = len(idTracks) - jets = safeRetrieve(evt, "xAOD::JetContainer", "AntiKt4EMTopoJets") - nJets = len(jets) - if jets: - jet1pt = jets[0].pt() - jet1eta = jets[0].eta() - jet1phi = jets[0].phi() - else: - jet1pt = jet1eta = jet1phi = 0 - muons = safeRetrieve(evt, "xAOD::MuonContainer", "Muons") nMuons = len(muons) if muons: @@ -93,13 +84,12 @@ def xAODDigest(evt, counter=False, extravars=False): nFakePhotons = nPhot - nTruePhotons if extravars: - result.append((runnbr, evtnbr, nclus, nIdTracks, - nJets, jet1pt, jet1eta, jet1phi, + result.append((runnbr, evtnbr, nclus, nIdTracks, nMuons, muon1pt, muon1eta, muon1phi, nElec, elec1pt, elec1eta, elec1phi, nTrueElectrons, nFakeElectrons, nPhot, phot1pt, phot1eta, phot1phi ,nTruePhotons, nFakePhotons)) else: - result.append((runnbr, evtnbr, nclus, nIdTracks, nJets, nMuons, + result.append((runnbr, evtnbr, nclus, nIdTracks, nMuons, nElec, nTrueElectrons, nFakeElectrons, nPhot, nTruePhotons, nFakePhotons)) @@ -165,8 +155,7 @@ def main(): outstr = sys.stdout if args.extravars: - header = ("run", "event", "nTopo", "nIdTracks", - "nJets", "jet1pt", "jet1eta", "jet1phi", + header = ("run", "event", "nTopo", "nIdTracks", "nMuons", "muon1pt", "muon1eta", "muon1phi", "nElec", "elec1pt", "elec1eta", "elec1phi", "nTrueElec", "nFakeElec", "nPhot", "phot1pt", "phot1eta", "phot1phi", "nTruePhot", "nFakePhot") @@ -175,7 +164,7 @@ def main(): row_format_data = "{:d} {:d} " + "{:20.4f}" * (len(header)-2) row_format_data += os.linesep else: - header = ("run", "event", "nTopo", "nIdTracks", "nJets", "nMuons", + header = ("run", "event", "nTopo", "nIdTracks", "nMuons", "nElec", "nTrueElec", "nFakeElec", "nPhot", "nTruePhot", "nFakePhot") row_format_header = "{:>12}" * len(header) -- GitLab From 09a4f761da4813a5790283e60f45790b2c42c008 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Tue, 29 Jun 2021 19:35:45 +0200 Subject: [PATCH 25/36] Resolve q431 digest ref conflict --- .../data/master_q431_AOD_digest_500events.ref | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref index a5d774de3e2..07b51408212 100644 --- a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref +++ b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref @@ -5,7 +5,7 @@ 330470 1183722342 394 429 0 2 0 2 15 0 15 330470 1183723134 463 502 4 3 0 3 16 0 16 330470 1183723677 583 589 3 13 0 13 33 0 33 - 330470 1183724572 518 617 3 7 0 7 15 0 15 + 330470 1183724572 518 617 4 7 0 7 15 0 15 330470 1183725127 367 465 2 9 0 9 16 0 16 330470 1183726136 561 625 5 6 0 6 18 0 18 330470 1183727515 408 388 0 7 0 7 19 0 19 @@ -13,18 +13,18 @@ 330470 1183727953 532 599 4 7 0 7 24 0 24 330470 1183728466 399 447 1 11 0 11 14 0 14 330470 1183728476 539 534 0 14 0 14 25 0 25 - 330470 1183729021 390 421 0 12 0 12 14 0 14 + 330470 1183729021 390 421 1 12 0 12 14 0 14 330470 1183729025 420 474 0 8 0 8 14 0 14 330470 1183730486 406 399 3 0 0 0 20 0 20 - 330470 1183731705 735 771 3 14 0 14 42 0 42 - 330470 1183731814 591 537 3 6 0 6 29 0 29 + 330470 1183731705 735 771 4 14 0 14 42 0 42 + 330470 1183731814 591 537 4 6 0 6 29 0 29 330470 1183731884 420 374 2 2 0 2 12 0 12 330470 1183732647 467 507 1 8 0 8 20 0 20 330470 1183733040 381 302 2 5 0 5 10 0 10 330470 1183733070 431 570 1 16 0 16 24 0 24 330470 1183733727 678 795 1 5 0 5 35 0 35 - 330470 1183734651 361 382 2 5 0 5 18 0 18 - 330470 1183734704 438 445 5 2 0 2 23 0 23 + 330470 1183734651 361 382 3 5 0 5 18 0 18 + 330470 1183734704 438 445 6 2 0 2 23 0 23 330470 1183734871 556 608 2 14 0 14 21 0 21 330470 1183735332 406 391 1 5 0 5 10 0 10 330470 1183735593 480 459 1 5 0 5 26 0 26 @@ -109,7 +109,7 @@ 330470 1183769295 342 341 2 0 0 0 6 0 6 330470 1183769514 383 377 3 2 0 2 14 0 14 330470 1183769648 527 578 4 6 0 6 17 0 17 - 330470 1183769939 348 362 3 8 0 8 11 0 11 + 330470 1183769939 348 362 4 8 0 8 11 0 11 330470 1183770542 525 557 2 12 0 12 28 0 28 330470 1183771482 391 433 1 8 0 8 17 0 17 330470 1183771836 373 452 3 1 0 1 13 0 13 @@ -123,22 +123,22 @@ 330470 1183775004 453 401 2 1 0 1 17 0 17 330470 1183775209 57 0 0 0 0 0 0 0 0 330470 1183776444 450 417 3 4 0 4 14 0 14 - 330470 1183776871 425 441 3 9 0 9 18 0 18 + 330470 1183776871 425 441 4 9 0 9 18 0 18 330470 1183777434 310 328 0 4 0 4 13 0 13 330470 1183777582 422 479 2 9 0 9 14 0 14 330470 1183778621 584 652 1 6 0 6 24 0 24 330470 1183779564 332 314 3 5 0 5 7 0 7 - 330470 1183779664 432 348 0 10 0 10 21 0 21 + 330470 1183779664 432 348 1 10 0 10 21 0 21 330470 1183779916 499 524 3 5 0 5 17 0 17 330470 1183780039 444 377 3 2 0 2 16 0 16 330470 1183780441 560 553 3 8 0 8 29 0 29 330470 1183781429 432 497 1 19 0 19 28 0 28 330470 1183781526 711 906 0 13 0 13 36 0 36 - 330470 1183782439 478 550 1 6 0 6 18 0 18 - 330470 1183782592 487 566 1 6 0 6 16 0 16 + 330470 1183782439 478 550 2 6 0 6 18 0 18 + 330470 1183782592 487 566 3 6 0 6 16 0 16 330470 1183782928 539 647 3 8 0 8 25 0 25 330470 1183783289 507 599 1 15 0 15 20 0 20 - 330470 1183783835 437 477 3 15 0 15 30 0 30 + 330470 1183783835 437 477 4 15 0 15 30 0 30 330470 1183783921 518 489 1 22 0 22 32 0 32 330470 1183784212 561 540 0 36 0 36 28 0 28 330470 1183784686 458 494 6 5 0 5 23 0 23 @@ -178,7 +178,7 @@ 330470 1183798102 796 915 4 12 0 12 37 0 37 330470 1183798170 408 363 2 5 0 5 14 0 14 330470 1183799182 527 500 0 3 0 3 22 0 22 - 330470 1183799941 511 521 1 14 0 14 17 0 17 + 330470 1183799941 511 521 3 14 0 14 17 0 17 330470 1183800136 567 652 3 13 0 13 33 0 33 330470 1183800710 470 475 1 5 0 5 17 0 17 330470 1183801077 415 446 1 5 0 5 22 0 22 @@ -212,7 +212,7 @@ 330470 1183815531 430 435 2 11 0 11 25 0 25 330470 1183815710 298 327 1 4 0 4 9 0 9 330470 1183815765 436 474 2 16 0 16 21 0 21 - 330470 1183815791 645 693 1 9 0 9 23 0 23 + 330470 1183815791 645 693 2 9 0 9 23 0 23 330470 1183815887 348 315 1 2 0 2 11 0 11 330470 1183816290 430 439 1 6 0 6 18 0 18 330470 1183817753 363 436 1 4 0 4 11 0 11 @@ -225,7 +225,7 @@ 330470 1183822476 453 502 0 9 0 9 20 0 20 330470 1183823625 409 340 3 10 0 10 16 0 16 330470 1183824371 362 307 0 2 0 2 12 0 12 - 330470 1183824531 393 374 3 13 0 13 17 0 17 + 330470 1183824531 393 374 4 13 0 13 17 0 17 330470 1183824603 479 406 1 14 0 14 27 0 27 330470 1183824788 473 364 3 6 0 6 28 0 28 330470 1183824934 357 458 2 7 0 7 13 0 13 @@ -242,7 +242,7 @@ 330470 1183830977 336 262 0 3 0 3 13 0 13 330470 1183830990 540 529 5 15 0 15 27 0 27 330470 1183831582 393 457 2 7 0 7 22 0 22 - 330470 1183832519 522 517 3 20 0 20 25 0 25 + 330470 1183832519 522 517 4 20 0 20 25 0 25 330470 1183832772 304 355 0 25 0 25 16 0 16 330470 1183834476 519 547 9 9 0 9 25 0 25 330470 1183835286 339 349 2 1 0 1 13 0 13 @@ -257,7 +257,7 @@ 330470 1183839321 414 349 4 2 0 2 19 0 19 330470 1183839551 486 438 0 5 0 5 22 0 22 330470 1183840149 458 457 2 9 0 9 24 0 24 - 330470 1183840173 2 0 0 0 0 0 0 0 0 + 330470 1183840173 2 0 1 0 0 0 0 0 0 330470 1183840255 384 492 1 23 0 23 25 0 25 330470 1183840606 166 244 0 4 0 4 5 0 5 330470 1183841326 447 463 0 5 0 5 13 0 13 @@ -270,7 +270,7 @@ 330470 1183843837 357 373 0 7 0 7 13 0 13 330470 1183844385 400 394 1 4 0 4 8 0 8 330470 1183846886 385 267 0 4 0 4 20 0 20 - 330470 1183847401 470 459 1 8 0 8 18 0 18 + 330470 1183847401 470 459 2 8 0 8 18 0 18 330470 1183847806 433 487 1 15 0 15 20 0 20 330470 1183848014 277 274 1 14 0 14 11 0 11 330470 1183848066 352 395 1 10 0 10 20 0 20 @@ -295,18 +295,18 @@ 330470 1183854665 506 448 0 6 0 6 14 0 14 330470 1183855151 279 213 0 2 0 2 3 0 3 330470 1183855909 300 282 4 2 0 2 6 0 6 - 330470 1183856263 586 623 5 10 0 10 29 0 29 + 330470 1183856263 586 623 4 10 0 10 29 0 29 330470 1183856484 298 260 4 7 0 7 10 0 10 330470 1183856702 357 285 2 1 0 1 8 0 8 330470 1183856842 380 406 0 7 0 7 20 0 20 330470 1183857840 423 330 0 1 0 1 13 0 13 330470 1183858892 460 505 2 8 0 8 12 0 12 - 330470 1183859367 554 542 0 4 0 4 26 0 26 + 330470 1183859367 554 542 1 4 0 4 26 0 26 330470 1183859426 632 577 1 23 0 23 32 0 32 330470 1183859771 540 601 3 13 0 13 27 0 27 330470 1183861290 541 452 3 8 0 8 25 0 25 330470 1183862039 312 357 1 9 0 9 13 0 13 - 330470 1183862102 432 490 1 5 0 5 15 0 15 + 330470 1183862102 432 490 2 5 0 5 15 0 15 330470 1183864358 393 496 2 6 0 6 19 0 19 330470 1183864963 403 476 1 7 0 7 11 0 11 330470 1183865268 406 469 2 3 0 3 10 0 10 @@ -319,11 +319,11 @@ 330470 1183870427 309 230 2 5 0 5 12 0 12 330470 1183871236 389 314 0 5 0 5 14 0 14 330470 1183872430 298 310 2 2 0 2 11 0 11 - 330470 1183873300 384 372 2 5 0 5 15 0 15 + 330470 1183873300 384 372 3 5 0 5 15 0 15 330470 1183874095 543 641 4 8 0 8 25 0 25 330470 1183874756 311 208 1 1 0 1 9 0 9 330470 1183875240 638 761 1 9 0 9 28 0 28 - 330470 1183875307 387 282 1 2 0 2 13 0 13 + 330470 1183875307 387 282 2 2 0 2 13 0 13 330470 1183875842 334 413 0 3 0 3 18 0 18 330470 1183876008 349 262 0 8 0 8 15 0 15 330470 1183876257 276 370 0 15 0 15 17 0 17 @@ -352,7 +352,7 @@ 330470 1183885910 310 361 1 11 0 11 16 0 16 330470 1183889121 367 381 2 11 0 11 20 0 20 330470 1183889788 361 481 3 12 0 12 21 0 21 - 330470 1183890058 429 394 0 6 0 6 21 0 21 + 330470 1183890058 429 394 1 6 0 6 21 0 21 330470 1183890245 558 580 1 5 0 5 23 0 23 330470 1183891126 511 526 4 10 0 10 18 0 18 330470 1183891888 517 590 2 13 0 13 15 0 15 @@ -415,11 +415,11 @@ 330470 1183929756 645 746 2 14 0 14 28 0 28 330470 1183930152 444 423 2 4 0 4 13 0 13 330470 1183930444 347 386 4 3 0 3 14 0 14 - 330470 1183930564 539 436 1 11 0 11 36 0 36 + 330470 1183930564 539 436 2 11 0 11 36 0 36 330470 1183931811 465 377 0 8 0 8 18 0 18 330470 1183932465 456 544 3 11 0 11 17 0 17 330470 1183933264 514 449 2 4 0 4 10 0 10 - 330470 1183934061 556 615 1 15 0 15 31 0 31 + 330470 1183934061 556 615 2 15 0 15 31 0 31 330470 1183934188 559 646 0 11 0 11 28 0 28 330470 1183935176 505 637 1 7 0 7 21 0 21 330470 1183935243 406 423 3 15 0 15 26 0 26 @@ -440,7 +440,7 @@ 330470 1183949782 548 525 2 12 0 12 20 0 20 330470 1183952907 561 641 4 9 0 9 16 0 16 330470 1183953399 578 476 0 13 0 13 31 0 31 - 330470 1183953421 469 339 2 3 0 3 11 0 11 + 330470 1183953421 469 339 3 3 0 3 11 0 11 330470 1183953881 339 372 2 2 0 2 6 0 6 330470 1183954827 344 435 1 7 0 7 14 0 14 330470 1183957781 3 0 0 0 0 0 0 0 0 @@ -473,13 +473,13 @@ 330470 1183994870 492 543 1 12 0 12 25 0 25 330470 1183995076 239 205 1 0 0 0 5 0 5 330470 1183995604 394 352 0 2 0 2 13 0 13 - 330470 1183995956 394 390 1 8 0 8 12 0 12 + 330470 1183995956 394 390 2 8 0 8 12 0 12 330470 1183997552 522 536 0 4 0 4 23 0 23 330470 1183997623 408 332 2 6 0 6 14 0 14 330470 1183997905 350 316 0 1 0 1 6 0 6 330470 1184001332 450 420 4 11 0 11 26 0 26 330470 1184003671 421 385 1 6 0 6 16 0 16 - 330470 1184007839 421 444 2 9 0 9 15 0 15 + 330470 1184007839 421 444 3 9 0 9 15 0 15 330470 1184010792 477 470 0 5 0 5 15 0 15 330470 1184011907 359 423 1 2 0 2 16 0 16 330470 1184012123 368 332 1 10 0 10 22 0 22 -- GitLab From 32bea98378fe61b8ba2604c0de72ab3cae4e430e Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 13:47:41 +0200 Subject: [PATCH 26/36] Minor restructure of new MET config --- .../METReconstruction/python/METAssocCfg.py | 20 ++- .../python/METAssociatorCfg.py | 86 ++++++------- .../MET/METReconstruction/share/METRecCfg.py | 118 +++++++++++++++++- 3 files changed, 171 insertions(+), 53 deletions(-) diff --git a/Reconstruction/MET/METReconstruction/python/METAssocCfg.py b/Reconstruction/MET/METReconstruction/python/METAssocCfg.py index 60e9bff83fa..075997728b2 100644 --- a/Reconstruction/MET/METReconstruction/python/METAssocCfg.py +++ b/Reconstruction/MET/METReconstruction/python/METAssocCfg.py @@ -39,6 +39,7 @@ class AssocConfig: def getAssociator(config,suffix,doPFlow=False, trkseltool=None, trkisotool=None,caloisotool=None, + useFELinks=False, modConstKey="", modClusColls={}): tool = None @@ -47,15 +48,18 @@ def getAssociator(config,suffix,doPFlow=False, if doModClus: modLCClus = modClusColls['LC{0}Clusters'.format(modConstKey)] modEMClus = modClusColls['EM{0}Clusters'.format(modConstKey)] + + from METReconstruction.METRecoFlags import metFlags # Construct tool and set defaults for case-specific configuration if config.objType == 'Ele': - from ROOT import met - tool = CompFactory.getComp("met::METElectronAssociator")('MET_ElectronAssociator_'+suffix,TCMatchMethod=met.ClusterLink) + tool = CompFactory.getComp("met::METElectronAssociator")('MET_ElectronAssociator_'+suffix,TCMatchMethod=1) + tool.UseFEElectronLinks = metFlags.UseFEElectronLinks() if config.objType == 'Gamma': - from ROOT import met - tool = CompFactory.getComp("met::METPhotonAssociator")('MET_PhotonAssociator_'+suffix,TCMatchMethod=met.ClusterLink) + tool = CompFactory.getComp("met::METPhotonAssociator")('MET_PhotonAssociator_'+suffix,TCMatchMethod=1) + tool.UseFEPhotonLinks = metFlags.UseFEPhotonLinks() if config.objType == 'Tau': tool = CompFactory.getComp("met::METTauAssociator")('MET_TauAssociator_'+suffix) + tool.UseFETauLinks = metFlags.UseFETauLinks() if config.objType == 'LCJet': tool = CompFactory.getComp("met::METJetAssocTool")('MET_LCJetAssocTool_'+suffix) if config.objType == 'EMJet': @@ -64,6 +68,7 @@ def getAssociator(config,suffix,doPFlow=False, tool = CompFactory.getComp("met::METJetAssocTool")('MET_PFlowJetAssocTool_'+suffix) if config.objType == 'Muon': tool = CompFactory.getComp("met::METMuonAssociator")('MET_MuonAssociator_'+suffix) + tool.UseFEMuonLinks = metFlags.UseFEMuonLinks() if config.objType == 'Soft': tool = CompFactory.getComp("met::METSoftAssociator")('MET_SoftAssociator_'+suffix) tool.DecorateSoftConst = True @@ -78,6 +83,7 @@ def getAssociator(config,suffix,doPFlow=False, tool.FlowElementCollection = modConstKey if modConstKey!="" else defaultInputKey["PFlowObj"] else: tool.UseModifiedClus = doModClus + tool.UseFELinks = useFELinks # set input/output key names if config.inputKey == '': tool.InputCollection = defaultInputKey[config.objType] @@ -109,7 +115,6 @@ class METAssocConfig: # def outputMap(self): return 'METAssoc_'+self.suffix - return 'METAssoc_'+self.suffix # def setupAssociators(self,buildconfigs): print("{} Setting up associators for MET config {}".format(prefix,self.suffix)) @@ -120,6 +125,7 @@ class METAssocConfig: else: associator = getAssociator(config=config,suffix=self.suffix, doPFlow=self.doPFlow, + useFELinks=self.useFELinks, trkseltool=self.trkseltool, trkisotool=self.trkisotool, caloisotool=self.caloisotool, @@ -135,6 +141,7 @@ class METAssocConfig: # def __init__(self,suffix,inputFlags,buildconfigs=[], doPFlow=False, doTruth=False, + usePFOLinks=False, trksel=None, modConstKey="", modClusColls={} @@ -153,7 +160,8 @@ class METAssocConfig: else: print ("{} Creating MET Assoc config {}".format(prefix,suffix)) self.suffix = suffix - self.doPFlow = doPFlow + self.doPFlow = doPFlow + self.useFELinks = usePFOLinks self.modConstKey=modConstKey_tmp self.modClusColls=modClusColls_tmp self.doTruth = doTruth diff --git a/Reconstruction/MET/METReconstruction/python/METAssociatorCfg.py b/Reconstruction/MET/METReconstruction/python/METAssociatorCfg.py index 4cf56b15d4c..a8059433f51 100644 --- a/Reconstruction/MET/METReconstruction/python/METAssociatorCfg.py +++ b/Reconstruction/MET/METReconstruction/python/METAssociatorCfg.py @@ -1,13 +1,12 @@ # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -#from METReconstruction.METRecoFlags import metFlags +from METReconstruction.METRecoFlags import metFlags from METReconstruction.METAssocCfg import AssocConfig, METAssocConfig,getMETAssocAlg from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from METUtilities.METMakerConfig import getMETMakerAlg -#attempt at migrating to the new configuration system -def METAssociatorCfg(configFlags): +def METAssociatorCfg(configFlags, jetType): sequencename = "METAssociation" components = ComponentAccumulator() @@ -24,50 +23,42 @@ def METAssociatorCfg(configFlags): 'EMOriginCorrClusters':'EMOriginTopoClusters' } - ############################################################################ - # AntiKt4LCTopo - JetType = 'LCJet' - associators = [AssocConfig(JetType), - AssocConfig('Muon'), - AssocConfig('Ele'), - AssocConfig('Gamma'), - AssocConfig('Tau'), - AssocConfig('Soft')] - cfg_akt4lc = METAssocConfig('AntiKt4LCTopo', - configFlags, - associators, - doPFlow=False, - modConstKey=modConstKey, - modClusColls=modClusColls - ) - components_akt4lc= getAssocCA(cfg_akt4lc,sequencename='METAssoc_AntiKt4LCTopo',METName='AntiKt4LCTopo') - components.merge(components_akt4lc) + if jetType == "AntiKt4LCTopo": + associators = [AssocConfig('LCJet'), + AssocConfig('Muon'), + AssocConfig('Ele'), + AssocConfig('Gamma'), + AssocConfig('Tau'), + AssocConfig('Soft')] + cfg_akt4lc = METAssocConfig('AntiKt4LCTopo', + configFlags, + associators, + doPFlow=False, + modConstKey=modConstKey, + modClusColls=modClusColls + ) + components_akt4lc= getAssocCA(cfg_akt4lc,sequencename='METAssoc_AntiKt4LCTopo',METName='AntiKt4LCTopo') + components.merge(components_akt4lc) - ############################################################################ - # AntiKt4EMTopo - JetType = 'EMJet' - - associators = [AssocConfig(JetType), - AssocConfig('Muon'), - AssocConfig('Ele'), - AssocConfig('Gamma'), - AssocConfig('Tau'), - AssocConfig('Soft')] - cfg_akt4em = METAssocConfig('AntiKt4EMTopo', - configFlags, - associators, - doPFlow=False, - modConstKey=modConstKey, - modClusColls=modClusColls - ) - components_akt4em= getAssocCA(cfg_akt4em,sequencename='METAssoc_AntiKt4EMTopo',METName='AntiKt4EMTopo') - components.merge(components_akt4em) + elif jetType == "AntiKt4EMTopo": + associators = [AssocConfig('EMJet'), + AssocConfig('Muon'), + AssocConfig('Ele'), + AssocConfig('Gamma'), + AssocConfig('Tau'), + AssocConfig('Soft')] + cfg_akt4em = METAssocConfig('AntiKt4EMTopo', + configFlags, + associators, + doPFlow=False, + modConstKey=modConstKey, + modClusColls=modClusColls + ) + components_akt4em= getAssocCA(cfg_akt4em,sequencename='METAssoc_AntiKt4EMTopo',METName='AntiKt4EMTopo') + components.merge(components_akt4em) - ############################################################################ - # PFlow - if configFlags.MET.DoPFlow and configFlags.MET.UseTracks: - JetType = 'PFlowJet' - associators = [AssocConfig(JetType), + elif jetType == "AntiKt4EMPFlow": + associators = [AssocConfig('PFlowJet'), AssocConfig('Muon'), AssocConfig('Ele'), AssocConfig('Gamma'), @@ -76,10 +67,13 @@ def METAssociatorCfg(configFlags): cfg_akt4pf = METAssocConfig('AntiKt4EMPFlow', configFlags, associators, - doPFlow=True + doPFlow=True, + usePFOLinks=metFlags.UseFELinks() ) components_akt4pf= getAssocCA(cfg_akt4pf,sequencename='METAssoc_AntiKt4EMPFlow',METName='AntiKt4EMPFlow') components.merge(components_akt4pf) + else: + raise RuntimeError("Jet type not recognized by METAssociatorCfg: {}".format(jetType) ) return components diff --git a/Reconstruction/MET/METReconstruction/share/METRecCfg.py b/Reconstruction/MET/METReconstruction/share/METRecCfg.py index 535654a16e7..2f7ec92a3a3 100644 --- a/Reconstruction/MET/METReconstruction/share/METRecCfg.py +++ b/Reconstruction/MET/METReconstruction/share/METRecCfg.py @@ -1 +1,117 @@ -# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration from AthenaCommon import Logging from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator from AthenaConfiguration.ComponentFactory import CompFactory if __name__=="__main__": # Setting needed for the ComponentAccumulator to do its thing from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior=True # Set message levels from AthenaCommon import Constants msgLvl = "WARNING" from AthenaCommon.Logging import log log.setLevel(msgLvl) # Config flags steer the job at various levels from AthenaConfiguration.AllConfigFlags import ConfigFlags ConfigFlags.Input.isMC = True ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/ASG/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.AOD.e5458_s3126_r9364_r9315/AOD.11182705._000001.pool.root.1"] # Flags relating to multithreaded execution nthreads=0 ConfigFlags.Concurrency.NumThreads =nthreads if nthreads>0: ConfigFlags.Concurrency.NumThreads = 1 ConfigFlags.Concurrency.NumConcurrentEvents = 1 ConfigFlags.MET.UseTracks = True ConfigFlags.MET.DoPFlow = True if ConfigFlags.Beam.Type == 'cosmics' or ConfigFlags.Beam.Type == 'singlebeam':# used to have " or not rec.doInDet()" on the end ConfigFlags.MET.UseTracks = False ConfigFlags.MET.DoPFlow = False print("METReconstruction_jobOptions: detected cosmics/single-beam configuration -- switch off track-based MET reco") ConfigFlags.lock() # Get a ComponentAccumulator setting up the fundamental Athena job from AthenaConfiguration.MainServicesConfig import MainServicesCfg cfg=MainServicesCfg(ConfigFlags) # Add the components for reading in pool files from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg cfg.merge(PoolReadCfg(ConfigFlags)) StoreGateSvc=CompFactory.StoreGateSvc cfg.addService(StoreGateSvc("DetectorStore")) #Setup up general geometry modelConfig=ComponentAccumulator() from AtlasGeoModel.GeoModelConfig import GeoModelCfg modelConfig=GeoModelCfg(ConfigFlags) cfg.merge(modelConfig) from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg cfg.merge(MagneticFieldSvcCfg(ConfigFlags)) from TrkConfig.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg cfg.merge(TrackingGeometrySvcCfg(ConfigFlags)) from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg cfg.merge(MuonGeoModelCfg(ConfigFlags)) # Nowadays the jet calibration tool requires the EventInfo # to be decorated with lumi info, which is not in Run 2 AODs from LumiBlockComps.LuminosityCondAlgConfig import LuminosityCondAlgCfg cfg.merge(LuminosityCondAlgCfg(ConfigFlags)) from AthenaConfiguration.ComponentFactory import CompFactory muWriter = CompFactory.LumiBlockMuWriter("LumiBlockMuWriter",LumiDataKey="LuminosityCondData") cfg.addEventAlgo(muWriter,"AthAlgSeq") # Get Jet Inputs from JetRecConfig.StandardJetDefs import EMTopoOrigin, LCTopoOrigin, CHSPFlow from JetRecConfig import JetRecConfig for jetdef in [EMTopoOrigin,LCTopoOrigin,CHSPFlow]: cfg.merge(JetRecConfig.JetInputCfg( [jetdef], ConfigFlags)) # Need to rename the collections in the xAOD in order to avoid conflicts from SGComps.AddressRemappingConfig import InputRenameCfg cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_Track','MET_Track_Old')) cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_TrackAux.','MET_Track_OldAux.')) cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_EMTopo','MET_EMTopo_Old')) cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_EMTopoAux.','MET_EMTopo_OldAux.')) cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_LocHadTopo','MET_LocHadTopo_Old')) cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_LocHadTopoAux.','MET_LocHadTopo_OldAux.')) from METReconstruction.METTrack_Cfg import METTrack_Cfg cfg.merge(METTrack_Cfg(ConfigFlags)) from METReconstruction.METCalo_Cfg import METCalo_Cfg cfg.merge(METCalo_Cfg(ConfigFlags)) if ConfigFlags.Input.isMC: from METReconstruction.METTruth_Cfg import METTruth_Cfg cfg.merge(METTruth_Cfg(ConfigFlags)) from METReconstruction.METAssociatorCfg import METAssociatorCfg cfg.merge(METAssociatorCfg(ConfigFlags)) outputlist = ["EventInfo#*"] outputlist+=["xAOD::MissingETContainer#"+"MET_Track","xAOD::MissingETAuxContainer#"+"MET_Track"+"Aux."] outputlist+=["xAOD::MissingETContainer#"+"MET_Track_Old","xAOD::MissingETAuxContainer#"+"MET_Track_Old"+"Aux."] outputlist+=["xAOD::MissingETContainer#"+"MET_EMTopo","xAOD::MissingETAuxContainer#"+"MET_EMTopo"+"Aux."] outputlist+=["xAOD::MissingETContainer#"+"MET_EMTopo_Old","xAOD::MissingETAuxContainer#"+"MET_EMTopo_Old"+"Aux."] outputlist+=["xAOD::MissingETContainer#"+"MET_AntiKt4EMPFlow","xAOD::MissingETAuxContainer#"+"MET_AntiKt4EMPFlow"+"Aux."] from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg cfg.merge(OutputStreamCfg(ConfigFlags,"xAOD",ItemList=outputlist)) # Optionally, print the contents of the store every event cfg.getService("StoreGateSvc").Dump = False #cfg.printConfig() cfg.run(maxEvents=20) \ No newline at end of file +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + +from AthenaCommon import Logging +from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator +from AthenaConfiguration.ComponentFactory import CompFactory + + +if __name__=="__main__": + # Setting needed for the ComponentAccumulator to do its thing + from AthenaCommon.Configurable import Configurable + Configurable.configurableRun3Behavior=True + + # Set message levels + from AthenaCommon import Constants + msgLvl = "WARNING" + from AthenaCommon.Logging import log + log.setLevel(msgLvl) + + # Config flags steer the job at various levels + from AthenaConfiguration.AllConfigFlags import ConfigFlags + ConfigFlags.Input.isMC = True + ConfigFlags.Input.Files = ["/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/ASG/mc16_13TeV.410501.PowhegPythia8EvtGen_A14_ttbar_hdamp258p75_nonallhad.merge.AOD.e5458_s3126_r9364_r9315/AOD.11182705._000001.pool.root.1"] + + # Flags relating to multithreaded execution + nthreads=0 + ConfigFlags.Concurrency.NumThreads =nthreads + if nthreads>0: + ConfigFlags.Concurrency.NumThreads = 1 + ConfigFlags.Concurrency.NumConcurrentEvents = 1 + ConfigFlags.MET.UseTracks = True + ConfigFlags.MET.DoPFlow = True + if ConfigFlags.Beam.Type == 'cosmics' or ConfigFlags.Beam.Type == 'singlebeam':# used to have " or not rec.doInDet()" on the end + ConfigFlags.MET.UseTracks = False + ConfigFlags.MET.DoPFlow = False + print("METReconstruction_jobOptions: detected cosmics/single-beam configuration -- switch off track-based MET reco") + + ConfigFlags.lock() + + # Get a ComponentAccumulator setting up the fundamental Athena job + from AthenaConfiguration.MainServicesConfig import MainServicesCfg + cfg=MainServicesCfg(ConfigFlags) + + # Add the components for reading in pool files + from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg + cfg.merge(PoolReadCfg(ConfigFlags)) + StoreGateSvc=CompFactory.StoreGateSvc + cfg.addService(StoreGateSvc("DetectorStore")) + + #Setup up general geometry + modelConfig=ComponentAccumulator() + from AtlasGeoModel.GeoModelConfig import GeoModelCfg + modelConfig=GeoModelCfg(ConfigFlags) + cfg.merge(modelConfig) + + from MagFieldServices.MagFieldServicesConfig import MagneticFieldSvcCfg + cfg.merge(MagneticFieldSvcCfg(ConfigFlags)) + + from TrkConfig.AtlasTrackingGeometrySvcConfig import TrackingGeometrySvcCfg + cfg.merge(TrackingGeometrySvcCfg(ConfigFlags)) + + from MuonConfig.MuonGeometryConfig import MuonGeoModelCfg + cfg.merge(MuonGeoModelCfg(ConfigFlags)) + + # Nowadays the jet calibration tool requires the EventInfo + # to be decorated with lumi info, which is not in Run 2 AODs + from LumiBlockComps.LuminosityCondAlgConfig import LuminosityCondAlgCfg + cfg.merge(LuminosityCondAlgCfg(ConfigFlags)) + + from AthenaConfiguration.ComponentFactory import CompFactory + muWriter = CompFactory.LumiBlockMuWriter("LumiBlockMuWriter",LumiDataKey="LuminosityCondData") + cfg.addEventAlgo(muWriter,"AthAlgSeq") + + # Get Jet Inputs + from JetRecConfig.StandardJetDefs import EMTopoOrigin, LCTopoOrigin, CHSPFlow + from JetRecConfig import JetRecConfig + for jetdef in [EMTopoOrigin,LCTopoOrigin,CHSPFlow]: + cfg.merge(JetRecConfig.JetInputCfg( [jetdef], ConfigFlags)) + + # Need to rename the collections in the xAOD in order to avoid conflicts + from SGComps.AddressRemappingConfig import InputRenameCfg + cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_Track','MET_Track_Old')) + cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_TrackAux.','MET_Track_OldAux.')) + cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_EMTopo','MET_EMTopo_Old')) + cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_EMTopoAux.','MET_EMTopo_OldAux.')) + cfg.merge(InputRenameCfg('xAOD::MissingETContainer','MET_LocHadTopo','MET_LocHadTopo_Old')) + cfg.merge(InputRenameCfg('xAOD::MissingETAuxContainer','MET_LocHadTopoAux.','MET_LocHadTopo_OldAux.')) + + from METReconstruction.METTrack_Cfg import METTrack_Cfg + cfg.merge(METTrack_Cfg(ConfigFlags)) + + from METReconstruction.METCalo_Cfg import METCalo_Cfg + cfg.merge(METCalo_Cfg(ConfigFlags)) + + if ConfigFlags.Input.isMC: + from METReconstruction.METTruth_Cfg import METTruth_Cfg + cfg.merge(METTruth_Cfg(ConfigFlags)) + + from METReconstruction.METAssociatorCfg import METAssociatorCfg + cfg.merge(METAssociatorCfg(ConfigFlags, "AntiKt4EMTopo")) + cfg.merge(METAssociatorCfg(ConfigFlags, "AntiKt4LCTopo")) + if ConfigFlags.MET.DoPFlow: + cfg.merge(METAssociatorCfg(ConfigFlags, "AntiKt4EMPFlow")) + + outputlist = ["EventInfo#*"] + outputlist+=["xAOD::MissingETContainer#"+"MET_Track","xAOD::MissingETAuxContainer#"+"MET_Track"+"Aux."] + outputlist+=["xAOD::MissingETContainer#"+"MET_Track_Old","xAOD::MissingETAuxContainer#"+"MET_Track_Old"+"Aux."] + outputlist+=["xAOD::MissingETContainer#"+"MET_EMTopo","xAOD::MissingETAuxContainer#"+"MET_EMTopo"+"Aux."] + outputlist+=["xAOD::MissingETContainer#"+"MET_EMTopo_Old","xAOD::MissingETAuxContainer#"+"MET_EMTopo_Old"+"Aux."] + outputlist+=["xAOD::MissingETContainer#"+"MET_AntiKt4EMPFlow","xAOD::MissingETAuxContainer#"+"MET_AntiKt4EMPFlow"+"Aux."] + from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg + cfg.merge(OutputStreamCfg(ConfigFlags,"xAOD",ItemList=outputlist)) + + # Optionally, print the contents of the store every event + cfg.getService("StoreGateSvc").Dump = False + + #cfg.printConfig() + cfg.run(maxEvents=20) -- GitLab From ceea995a109163da1863ea042a4efde4c1b63ec6 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 13:48:04 +0200 Subject: [PATCH 27/36] Use FlowElements in new jet config --- Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py b/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py index 79da9a99c4f..6496c73fe14 100644 --- a/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py +++ b/Reconstruction/Jet/JetRecConfig/python/StandardJetConstits.py @@ -195,10 +195,10 @@ _stdSeqList = [ # EM-scale particle flow objects with charged hadron subtraction # For now we don't specify a scale, as only one works well, but # this could be incorporated into the naming scheme and config - JetInputConstitSeq("EMPFlow", xAODType.ParticleFlow,["CorrectPFO", "CHS"] , 'JetETMissParticleFlowObjects', 'CHSParticleFlowObjects'), + JetInputConstitSeq("EMPFlow", xAODType.FlowElement,["CorrectPFO", "CHS"] , 'JetETMissParticleFlowObjects', 'CHSParticleFlowObjects'), # Particle Flow Objects with Constituent Subtraction + SoftKiller - JetInputConstitSeq("EMPFlowCSSK", xAODType.ParticleFlow,["CorrectPFO", "CS","SK", "CHS"] , + JetInputConstitSeq("EMPFlowCSSK", xAODType.FlowElement,["CorrectPFO", "CS","SK", "CHS"] , 'JetETMissParticleFlowObjects', 'CSSKParticleFlowObjects', jetinputtype="EMPFlow"), -- GitLab From 2a44fc8008415d329db75a65b351ffeee7d25e5f Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 13:48:54 +0200 Subject: [PATCH 28/36] More flexible name config for JetConstitModSeq --- .../Root/JetConstituentModSequence.cxx | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx b/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx index 271d085570b..d9c7ba57912 100644 --- a/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx +++ b/Reconstruction/Jet/JetRecTools/Root/JetConstituentModSequence.cxx @@ -68,12 +68,22 @@ StatusCode JetConstituentModSequence::initialize() { } case xAOD::Type::ParticleFlow: { - m_inChargedPFOKey = m_inputContainer + "ChargedParticleFlowObjects"; - m_inNeutralPFOKey = m_inputContainer + "NeutralParticleFlowObjects"; + std::string inputContainerBase = m_inputContainer; + std::string outputContainerBase = m_outputContainer; - m_outChargedPFOKey = m_outputContainer+"ChargedParticleFlowObjects"; - m_outNeutralPFOKey = m_outputContainer+"NeutralParticleFlowObjects"; - m_outAllPFOKey = m_outputContainer+"ParticleFlowObjects"; + // Know what the user means if they give the full input/output container name in this format + size_t pos = inputContainerBase.find("ParticleFlowObjects"); + if(pos != std::string::npos) inputContainerBase.erase(pos); + + pos = outputContainerBase.find("ParticleFlowObjects"); + if(pos != std::string::npos) outputContainerBase.erase(pos); + + m_inChargedPFOKey = inputContainerBase + "ChargedParticleFlowObjects"; + m_inNeutralPFOKey = inputContainerBase + "NeutralParticleFlowObjects"; + + m_outChargedPFOKey = outputContainerBase + "ChargedParticleFlowObjects"; + m_outNeutralPFOKey = outputContainerBase + "NeutralParticleFlowObjects"; + m_outAllPFOKey = outputContainerBase + "ParticleFlowObjects"; ATH_CHECK(m_inChargedPFOKey.initialize()); ATH_CHECK(m_inNeutralPFOKey.initialize()); @@ -94,12 +104,23 @@ StatusCode JetConstituentModSequence::initialize() { { // TODO: This assumes a PFlow-style neutral and charged collection. // More general FlowElements (e.g. CaloClusters) may necessitate a rework here later. - m_inChargedFEKey = m_inputContainer + "ChargedParticleFlowObjects"; - m_inNeutralFEKey = m_inputContainer + "NeutralParticleFlowObjects"; - m_outChargedFEKey = m_outputContainer+"ChargedParticleFlowObjects"; - m_outNeutralFEKey = m_outputContainer+"NeutralParticleFlowObjects"; - m_outAllFEKey = m_outputContainer+"ParticleFlowObjects"; + std::string inputContainerBase = m_inputContainer; + std::string outputContainerBase = m_outputContainer; + + // Know what the user means if they give the full input/output container name in this format + size_t pos = inputContainerBase.find("ParticleFlowObjects"); + if(pos != std::string::npos) inputContainerBase.erase(pos); + + pos = outputContainerBase.find("ParticleFlowObjects"); + if(pos != std::string::npos) outputContainerBase.erase(pos); + + m_inChargedFEKey = inputContainerBase + "ChargedParticleFlowObjects"; + m_inNeutralFEKey = inputContainerBase + "NeutralParticleFlowObjects"; + + m_outChargedFEKey = outputContainerBase + "ChargedParticleFlowObjects"; + m_outNeutralFEKey = outputContainerBase + "NeutralParticleFlowObjects"; + m_outAllFEKey = outputContainerBase + "ParticleFlowObjects"; ATH_CHECK(m_inChargedFEKey.initialize()); ATH_CHECK(m_inNeutralFEKey.initialize()); -- GitLab From 3e58de0907acfc4d73e664009e526aba2e68fa46 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 13:49:26 +0200 Subject: [PATCH 29/36] Don't force top alg name in btag config --- .../JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py index 6d9503fe044..6790317a91d 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py @@ -97,11 +97,6 @@ def BTagRecoSplitCfg(inputFlags, JetCollection = ['AntiKt4EMTopo'], **kwargs): SecVertexers = [ "JetFitter" , "SV1" ] result.merge(JetBTaggerSplitAlgsCfg(inputFlags, JetCollection = JetCollection[0], TaggerList = taggerList, SecVertexers = SecVertexers, **kwargs)) - from AthenaCommon.ConcurrencyFlags import jobproperties - if jobproperties.ConcurrencyFlags.NumThreads() == 0 : - for el in result._allSequences: - el.name = "TopAlg" - return result -- GitLab From b6fc7e0a568a5f0042b084dd316214f1be369d86 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 13:50:14 +0200 Subject: [PATCH 30/36] Rebuild jets, btag, and MET for monitoring on AOD --- .../python/AthenaMonitoringCfg.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py index ac64bbf49f7..c6f34bb6d48 100644 --- a/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py +++ b/Control/AthenaMonitoring/python/AthenaMonitoringCfg.py @@ -10,6 +10,27 @@ def AthenaMonitoringCfg(flags): error = local_logger.error result = ComponentAccumulator() + if flags.DQ.Environment == 'AOD': + info('Scheduling rebuild of standard jets') + from JetRecConfig.JetRecConfig import JetRecCfg + from JetRecConfig.StandardSmallRJets import AntiKt4EMTopo, AntiKt4EMPFlow, AntiKt4LCTopo + result.merge(JetRecCfg(flags, AntiKt4EMTopo)) + result.merge(JetRecCfg(flags, AntiKt4LCTopo)) + result.merge(JetRecCfg(flags, AntiKt4EMPFlow)) + info('Scheduling b-tagging of rebuilt jets') + from BTagging.BTagRun3Config import BTagRecoSplitCfg + result.merge(BTagRecoSplitCfg(flags, ['AntiKt4EMTopo'])) + result.merge(BTagRecoSplitCfg(flags, ['AntiKt4EMPFlow'])) + info('Scheduling rebuild of standard MET') + from METReconstruction.METAssociatorCfg import METAssociatorCfg + result.merge(METAssociatorCfg(flags, 'AntiKt4EMTopo')) + result.merge(METAssociatorCfg(flags, 'AntiKt4LCTopo')) + result.merge(METAssociatorCfg(flags, 'AntiKt4EMPFlow')) + from CaloTools.CaloNoiseCondAlgConfig import CaloNoiseCondAlgCfg + result.merge(CaloNoiseCondAlgCfg(flags)) # Prereq for Calo MET + from METReconstruction.METCalo_Cfg import METCalo_Cfg + result.merge(METCalo_Cfg(flags)) + if flags.DQ.Steering.doPixelMon: info('Set up Pixel monitoring') from PixelMonitoring.PixelMonitoringConfig import PixelMonitoringConfig -- GitLab From feae3731d19f45871d0df1bc826bf94345ef01b2 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 18:51:31 +0200 Subject: [PATCH 31/36] Don't access seed jet directly in tau monitoring --- PhysicsAnalysis/TauID/TauDQA/src/NewCorePlots.cxx | 2 +- Reconstruction/tauMonitoring/src/tauMonitorAlgorithm.cxx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PhysicsAnalysis/TauID/TauDQA/src/NewCorePlots.cxx b/PhysicsAnalysis/TauID/TauDQA/src/NewCorePlots.cxx index 9dd38e5ab01..63ad5afdb56 100644 --- a/PhysicsAnalysis/TauID/TauDQA/src/NewCorePlots.cxx +++ b/PhysicsAnalysis/TauID/TauDQA/src/NewCorePlots.cxx @@ -230,7 +230,7 @@ namespace Tau{ rConvII = track->rConvII(); } - double dRJetSeedAxis = track->dRJetSeedAxis(tau); + double dRJetSeedAxis = track->p4().DeltaR(tau.p4(xAOD::TauJetParameters::JetSeed)); double qOverP = trackParticle->qOverP(); double trackPt = trackParticle->pt(); diff --git a/Reconstruction/tauMonitoring/src/tauMonitorAlgorithm.cxx b/Reconstruction/tauMonitoring/src/tauMonitorAlgorithm.cxx index 0f15b64e8ea..5a4d1774652 100644 --- a/Reconstruction/tauMonitoring/src/tauMonitorAlgorithm.cxx +++ b/Reconstruction/tauMonitoring/src/tauMonitorAlgorithm.cxx @@ -505,7 +505,7 @@ StatusCode tauMonitorAlgorithm::fillHistograms( const EventContext& ctx ) const rConv = track->rConv(); rConvII = track->rConvII(); } - trackdRJetSeedAxis = track->dRJetSeedAxis(*tau); + trackdRJetSeedAxis = track->p4().DeltaR(tau->p4(xAOD::TauJetParameters::JetSeed)); double qOverP = trackParticle->qOverP(); double trackPt = trackParticle->pt(); uint8_t nInnermostPixelLayerHits = 0; -- GitLab From 909172aeaaa209c19201249dac3ec640047d103a Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Wed, 30 Jun 2021 18:52:45 +0200 Subject: [PATCH 32/36] Revert "Don't force top alg name in btag config" This reverts commit 3e58de0907acfc4d73e664009e526aba2e68fa46. --- .../JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py index 6790317a91d..6d9503fe044 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py @@ -97,6 +97,11 @@ def BTagRecoSplitCfg(inputFlags, JetCollection = ['AntiKt4EMTopo'], **kwargs): SecVertexers = [ "JetFitter" , "SV1" ] result.merge(JetBTaggerSplitAlgsCfg(inputFlags, JetCollection = JetCollection[0], TaggerList = taggerList, SecVertexers = SecVertexers, **kwargs)) + from AthenaCommon.ConcurrencyFlags import jobproperties + if jobproperties.ConcurrencyFlags.NumThreads() == 0 : + for el in result._allSequences: + el.name = "TopAlg" + return result -- GitLab From ed7b9317c648fbc8a4955f4d14593381e3161627 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 1 Jul 2021 12:38:32 +0200 Subject: [PATCH 33/36] Make b-tagging thread check consistent with config --- .../JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py index 6d9503fe044..525de56aba4 100644 --- a/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py +++ b/PhysicsAnalysis/JetTagging/JetTagAlgs/BTagging/python/BTagRun3Config.py @@ -97,8 +97,7 @@ def BTagRecoSplitCfg(inputFlags, JetCollection = ['AntiKt4EMTopo'], **kwargs): SecVertexers = [ "JetFitter" , "SV1" ] result.merge(JetBTaggerSplitAlgsCfg(inputFlags, JetCollection = JetCollection[0], TaggerList = taggerList, SecVertexers = SecVertexers, **kwargs)) - from AthenaCommon.ConcurrencyFlags import jobproperties - if jobproperties.ConcurrencyFlags.NumThreads() == 0 : + if inputFlags.Concurrency.NumThreads == 0: for el in result._allSequences: el.name = "TopAlg" -- GitLab From 544b60d45ad8de9d105404413eb66ce8b5b2d961 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Thu, 1 Jul 2021 13:15:31 +0200 Subject: [PATCH 34/36] Remove jets from unit test xAODDigest ref --- .../share/new_jo_raw_reco_aod_digest.ref | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref b/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref index 653140ff0fd..3398134ba5e 100644 --- a/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref +++ b/Reconstruction/RecJobTransforms/share/new_jo_raw_reco_aod_digest.ref @@ -1,6 +1,6 @@ - run event nTopo nIdTracks nJets nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot - 327265 186524665 430 416 0 0 0 0 0 0 0 0 - 327265 186525031 451 429 0 0 0 0 0 0 0 0 - 327265 186542447 338 293 0 0 0 0 0 0 0 0 - 327265 186543405 425 320 0 0 0 0 0 0 0 0 - 327265 186548387 537 513 0 0 0 0 0 0 0 0 + run event nTopo nIdTracks nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot + 327265 186524665 430 416 0 0 0 0 0 0 0 + 327265 186525031 451 429 0 0 0 0 0 0 0 + 327265 186542447 338 293 0 0 0 0 0 0 0 + 327265 186543405 425 320 0 0 0 0 0 0 0 + 327265 186548387 537 513 0 0 0 0 0 0 0 -- GitLab From 0622db5f98185e8caed43f0d0371a307b7cb8902 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Fri, 2 Jul 2021 10:48:35 +0200 Subject: [PATCH 35/36] Sync updates to xAODDigest ref files --- .../PROCTools/data/master_q221_AOD_digest.ref | 6 +- .../data/master_q431_AOD_digest_500events.ref | 718 +++++++++--------- 2 files changed, 362 insertions(+), 362 deletions(-) diff --git a/Tools/PROCTools/data/master_q221_AOD_digest.ref b/Tools/PROCTools/data/master_q221_AOD_digest.ref index f0a42e541f5..2e686b42141 100644 --- a/Tools/PROCTools/data/master_q221_AOD_digest.ref +++ b/Tools/PROCTools/data/master_q221_AOD_digest.ref @@ -5,8 +5,8 @@ 284500 87473032 30 33 1 10 4 6 6 3 3 284500 87473037 62 43 0 13 2 11 5 3 2 284500 87473040 107 93 1 17 1 16 11 6 5 - 284500 87473051 140 112 1 16 1 15 23 16 7 - 284500 87473063 62 77 2 7 1 6 6 4 2 + 284500 87473051 140 111 1 16 1 15 23 16 7 + 284500 87473063 62 76 2 7 1 6 6 4 2 284500 87473068 25 33 1 0 0 0 0 0 0 284500 87473075 60 87 2 5 0 5 6 5 1 284500 87473084 78 86 2 14 1 13 9 3 6 @@ -15,7 +15,7 @@ 284500 87473104 64 63 0 6 2 4 4 3 1 284500 87473114 89 77 2 12 1 11 9 6 3 284500 87473121 93 100 3 15 4 11 8 6 2 - 284500 87473132 84 60 1 12 0 12 4 4 0 + 284500 87473132 84 59 1 12 0 12 4 4 0 284500 87473137 94 71 3 15 0 15 9 9 0 284500 87473144 78 68 1 9 3 6 9 7 2 284500 87473154 86 88 0 13 2 11 9 4 5 diff --git a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref index 07b51408212..15dd44dcc02 100644 --- a/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref +++ b/Tools/PROCTools/data/master_q431_AOD_digest_500events.ref @@ -1,501 +1,501 @@ run event nTopo nIdTracks nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot - 330470 1183721871 761 838 5 16 0 16 36 0 36 - 330470 1183722156 360 390 1 3 0 3 12 0 12 + 330470 1183721871 761 829 5 16 0 16 36 0 36 + 330470 1183722156 360 391 1 3 0 3 12 0 12 330470 1183722158 1 0 0 0 0 0 0 0 0 - 330470 1183722342 394 429 0 2 0 2 15 0 15 - 330470 1183723134 463 502 4 3 0 3 16 0 16 - 330470 1183723677 583 589 3 13 0 13 33 0 33 - 330470 1183724572 518 617 4 7 0 7 15 0 15 - 330470 1183725127 367 465 2 9 0 9 16 0 16 + 330470 1183722342 394 428 0 2 0 2 15 0 15 + 330470 1183723134 463 502 3 3 0 3 16 0 16 + 330470 1183723677 583 584 4 13 0 13 33 0 33 + 330470 1183724572 518 626 4 7 0 7 15 0 15 + 330470 1183725127 367 460 2 9 0 9 16 0 16 330470 1183726136 561 625 5 6 0 6 18 0 18 - 330470 1183727515 408 388 0 7 0 7 19 0 19 - 330470 1183727920 565 681 2 7 0 7 23 0 23 - 330470 1183727953 532 599 4 7 0 7 24 0 24 - 330470 1183728466 399 447 1 11 0 11 14 0 14 - 330470 1183728476 539 534 0 14 0 14 25 0 25 - 330470 1183729021 390 421 1 12 0 12 14 0 14 - 330470 1183729025 420 474 0 8 0 8 14 0 14 + 330470 1183727515 408 397 0 7 0 7 19 0 19 + 330470 1183727920 565 689 3 7 0 7 23 0 23 + 330470 1183727953 532 595 4 7 0 7 24 0 24 + 330470 1183728466 399 442 1 11 0 11 14 0 14 + 330470 1183728476 539 529 0 14 0 14 25 0 25 + 330470 1183729021 390 408 1 12 0 12 14 0 14 + 330470 1183729025 420 473 0 8 0 8 14 0 14 330470 1183730486 406 399 3 0 0 0 20 0 20 - 330470 1183731705 735 771 4 14 0 14 42 0 42 - 330470 1183731814 591 537 4 6 0 6 29 0 29 - 330470 1183731884 420 374 2 2 0 2 12 0 12 - 330470 1183732647 467 507 1 8 0 8 20 0 20 - 330470 1183733040 381 302 2 5 0 5 10 0 10 - 330470 1183733070 431 570 1 16 0 16 24 0 24 - 330470 1183733727 678 795 1 5 0 5 35 0 35 - 330470 1183734651 361 382 3 5 0 5 18 0 18 + 330470 1183731705 735 776 4 14 0 14 42 0 42 + 330470 1183731814 591 538 4 6 0 6 29 0 29 + 330470 1183731884 420 373 2 2 0 2 12 0 12 + 330470 1183732647 467 501 1 8 0 8 20 0 20 + 330470 1183733040 381 290 2 5 0 5 10 0 10 + 330470 1183733070 431 556 1 16 0 16 24 0 24 + 330470 1183733727 678 791 1 5 0 5 35 0 35 + 330470 1183734651 361 375 3 5 0 5 18 0 18 330470 1183734704 438 445 6 2 0 2 23 0 23 - 330470 1183734871 556 608 2 14 0 14 21 0 21 - 330470 1183735332 406 391 1 5 0 5 10 0 10 - 330470 1183735593 480 459 1 5 0 5 26 0 26 + 330470 1183734871 556 604 2 14 0 14 21 0 21 + 330470 1183735332 406 389 1 5 0 5 10 0 10 + 330470 1183735593 480 452 1 5 0 5 26 0 26 330470 1183735786 311 217 1 0 0 0 8 0 8 330470 1183736050 589 692 1 11 0 11 29 0 29 - 330470 1183736197 453 487 5 7 0 7 15 0 15 - 330470 1183736364 427 408 1 6 0 6 16 0 16 - 330470 1183736418 466 491 2 13 0 13 17 0 17 - 330470 1183736475 741 705 1 2 0 2 22 0 22 - 330470 1183737047 481 542 1 6 0 6 24 0 24 - 330470 1183737710 492 512 3 22 0 22 20 0 20 + 330470 1183736197 453 486 5 7 0 7 15 0 15 + 330470 1183736364 427 405 1 6 0 6 16 0 16 + 330470 1183736418 466 487 3 13 0 13 17 0 17 + 330470 1183736475 741 709 1 2 0 2 22 0 22 + 330470 1183737047 481 540 1 6 0 6 24 0 24 + 330470 1183737710 492 504 3 22 0 22 20 0 20 330470 1183738386 525 474 2 20 0 20 30 0 30 330470 1183738728 1 0 0 0 0 0 0 0 0 330470 1183738949 368 450 1 5 0 5 11 0 11 - 330470 1183739966 531 447 1 12 0 12 24 0 24 - 330470 1183740967 558 639 0 4 0 4 19 0 19 - 330470 1183741011 240 350 3 5 0 5 13 0 13 + 330470 1183739966 531 429 1 12 0 12 24 0 24 + 330470 1183740967 558 648 0 4 0 4 19 0 19 + 330470 1183741011 240 346 3 5 0 5 13 0 13 330470 1183742016 289 307 1 4 0 4 6 0 6 - 330470 1183742376 372 401 1 2 0 2 10 0 10 + 330470 1183742376 372 396 1 2 0 2 10 0 10 330470 1183742489 152 127 1 1 0 1 1 0 1 330470 1183742713 364 436 2 11 0 11 16 0 16 330470 1183743040 285 326 0 3 0 3 5 0 5 - 330470 1183743941 404 371 2 15 0 15 13 0 13 - 330470 1183744491 530 658 0 13 0 13 16 0 16 - 330470 1183744557 302 356 0 4 0 4 11 0 11 - 330470 1183744835 411 416 1 8 0 8 20 0 20 + 330470 1183743941 404 367 2 15 0 15 13 0 13 + 330470 1183744491 530 648 1 13 0 13 16 0 16 + 330470 1183744557 302 358 0 4 0 4 11 0 11 + 330470 1183744835 411 414 1 8 0 8 20 0 20 330470 1183744941 316 384 2 7 0 7 17 0 17 - 330470 1183745001 320 386 0 10 0 10 12 0 12 - 330470 1183745791 361 406 0 19 0 19 20 0 20 - 330470 1183745889 371 388 1 5 0 5 10 0 10 - 330470 1183746019 446 485 0 7 0 7 24 0 24 + 330470 1183745001 320 379 0 10 0 10 12 0 12 + 330470 1183745791 361 400 0 19 0 19 20 0 20 + 330470 1183745889 371 381 1 5 0 5 10 0 10 + 330470 1183746019 446 487 1 7 0 7 24 0 24 330470 1183746343 492 493 0 3 0 3 16 0 16 - 330470 1183746391 364 445 2 15 0 15 20 0 20 - 330470 1183746668 459 388 0 7 0 7 20 0 20 + 330470 1183746391 364 441 2 15 0 15 20 0 20 + 330470 1183746668 459 379 0 7 0 7 20 0 20 330470 1183746710 6 0 0 0 0 0 0 0 0 - 330470 1183746776 348 366 1 9 0 9 27 0 27 - 330470 1183747953 302 376 2 4 0 4 10 0 10 + 330470 1183746776 348 355 1 9 0 9 27 0 27 + 330470 1183747953 302 377 2 4 0 4 10 0 10 330470 1183748096 455 491 0 5 0 5 17 0 17 - 330470 1183748136 663 650 1 12 0 12 26 0 26 - 330470 1183748263 396 411 2 8 0 8 16 0 16 + 330470 1183748136 663 653 1 12 0 12 26 0 26 + 330470 1183748263 396 410 2 8 0 8 16 0 16 330470 1183748421 460 422 1 8 0 8 15 0 15 - 330470 1183748705 490 535 2 9 0 9 20 0 20 + 330470 1183748705 490 524 2 9 0 9 20 0 20 330470 1183750758 436 393 1 4 0 4 15 0 15 - 330470 1183750781 377 365 1 5 0 5 16 0 16 + 330470 1183750781 377 367 1 5 0 5 16 0 16 330470 1183750906 702 757 3 10 0 10 29 0 29 330470 1183751782 239 246 0 0 0 0 6 0 6 330470 1183752624 347 366 3 5 0 5 15 0 15 330470 1183753006 357 398 3 4 0 4 14 0 14 - 330470 1183753030 398 359 2 23 0 23 20 0 20 - 330470 1183753541 400 466 2 8 0 8 11 0 11 + 330470 1183753030 398 352 2 23 0 23 20 0 20 + 330470 1183753541 400 455 2 8 0 8 11 0 11 330470 1183754806 470 423 0 2 0 2 17 0 17 - 330470 1183755085 482 510 3 15 0 15 27 0 27 - 330470 1183756180 447 379 0 2 0 2 16 0 16 - 330470 1183756295 367 449 3 7 0 7 12 0 12 + 330470 1183755085 482 516 3 15 0 15 27 0 27 + 330470 1183756180 447 374 0 2 0 2 16 0 16 + 330470 1183756295 367 448 3 7 0 7 12 0 12 330470 1183756303 565 585 1 24 0 24 24 0 24 - 330470 1183756939 606 588 1 19 0 19 26 0 26 - 330470 1183756951 283 273 1 2 0 2 4 0 4 - 330470 1183757556 300 278 1 5 0 5 10 0 10 - 330470 1183758317 685 739 1 13 0 13 29 0 29 - 330470 1183758663 340 311 0 5 0 5 11 0 11 - 330470 1183758709 340 254 2 4 0 4 12 0 12 - 330470 1183758819 446 535 4 24 0 24 19 0 19 - 330470 1183759087 476 464 3 8 0 8 19 0 19 - 330470 1183759951 610 743 5 18 0 18 32 0 32 - 330470 1183760662 421 437 1 8 0 8 18 0 18 - 330470 1183760713 430 486 0 11 0 11 21 0 21 - 330470 1183761092 301 437 3 6 0 6 8 0 8 - 330470 1183762287 384 448 3 4 0 4 13 0 13 - 330470 1183762295 411 429 2 9 0 9 16 0 16 + 330470 1183756939 606 590 1 19 0 19 26 0 26 + 330470 1183756951 283 271 1 2 0 2 4 0 4 + 330470 1183757556 300 270 1 5 0 5 10 0 10 + 330470 1183758317 685 735 1 13 0 13 29 0 29 + 330470 1183758663 340 309 0 5 0 5 11 0 11 + 330470 1183758709 340 255 2 4 0 4 12 0 12 + 330470 1183758819 446 527 4 24 0 24 19 0 19 + 330470 1183759087 476 451 3 8 0 8 19 0 19 + 330470 1183759951 610 726 6 18 0 18 32 0 32 + 330470 1183760662 421 421 1 8 0 8 18 0 18 + 330470 1183760713 430 488 0 11 0 11 21 0 21 + 330470 1183761092 301 436 3 6 0 6 8 0 8 + 330470 1183762287 384 435 3 4 0 4 13 0 13 + 330470 1183762295 411 424 2 9 0 9 16 0 16 330470 1183762346 487 456 3 29 0 29 26 0 26 - 330470 1183762622 389 405 2 6 0 6 15 0 15 - 330470 1183762728 539 509 0 19 0 19 27 0 27 - 330470 1183764544 400 368 2 9 0 9 15 0 15 - 330470 1183764842 585 654 1 15 0 15 29 0 29 - 330470 1183765366 464 522 2 6 0 6 10 0 10 - 330470 1183765436 301 216 0 5 0 5 5 0 5 - 330470 1183767528 668 650 1 9 0 9 28 0 28 - 330470 1183767718 467 461 2 15 0 15 17 0 17 - 330470 1183768132 410 435 2 4 0 4 15 0 15 - 330470 1183768747 598 599 3 24 0 24 25 0 25 - 330470 1183768758 656 734 3 15 0 15 24 0 24 - 330470 1183769295 342 341 2 0 0 0 6 0 6 - 330470 1183769514 383 377 3 2 0 2 14 0 14 - 330470 1183769648 527 578 4 6 0 6 17 0 17 - 330470 1183769939 348 362 4 8 0 8 11 0 11 - 330470 1183770542 525 557 2 12 0 12 28 0 28 + 330470 1183762622 389 401 2 6 0 6 15 0 15 + 330470 1183762728 539 497 0 19 0 19 27 0 27 + 330470 1183764544 400 364 2 9 0 9 15 0 15 + 330470 1183764842 585 645 1 15 0 15 29 0 29 + 330470 1183765366 464 521 2 6 0 6 10 0 10 + 330470 1183765436 301 213 0 5 0 5 5 0 5 + 330470 1183767528 668 645 1 9 0 9 28 0 28 + 330470 1183767718 467 455 2 15 0 15 17 0 17 + 330470 1183768132 410 431 2 4 0 4 15 0 15 + 330470 1183768747 598 593 3 24 0 24 25 0 25 + 330470 1183768758 656 729 3 15 0 15 24 0 24 + 330470 1183769295 342 337 2 0 0 0 6 0 6 + 330470 1183769514 383 374 3 2 0 2 14 0 14 + 330470 1183769648 527 579 4 6 0 6 17 0 17 + 330470 1183769939 348 362 3 8 0 8 11 0 11 + 330470 1183770542 525 547 2 12 0 12 28 0 28 330470 1183771482 391 433 1 8 0 8 17 0 17 330470 1183771836 373 452 3 1 0 1 13 0 13 330470 1183771838 409 313 0 3 0 3 18 0 18 - 330470 1183771849 555 440 2 9 0 9 25 0 25 - 330470 1183773222 341 390 4 2 0 2 1 0 1 - 330470 1183773321 583 547 1 7 0 7 33 0 33 - 330470 1183773556 421 381 0 7 0 7 17 0 17 + 330470 1183771849 555 454 2 9 0 9 25 0 25 + 330470 1183773222 341 390 3 2 0 2 1 0 1 + 330470 1183773321 583 543 1 7 0 7 33 0 33 + 330470 1183773556 421 376 0 7 0 7 17 0 17 330470 1183773832 307 209 0 2 0 2 13 0 13 - 330470 1183774235 325 347 1 11 0 11 13 0 13 - 330470 1183775004 453 401 2 1 0 1 17 0 17 + 330470 1183774235 325 346 1 11 0 11 13 0 13 + 330470 1183775004 453 401 1 1 0 1 17 0 17 330470 1183775209 57 0 0 0 0 0 0 0 0 - 330470 1183776444 450 417 3 4 0 4 14 0 14 + 330470 1183776444 450 416 3 4 0 4 14 0 14 330470 1183776871 425 441 4 9 0 9 18 0 18 330470 1183777434 310 328 0 4 0 4 13 0 13 330470 1183777582 422 479 2 9 0 9 14 0 14 - 330470 1183778621 584 652 1 6 0 6 24 0 24 + 330470 1183778621 584 651 1 6 0 6 24 0 24 330470 1183779564 332 314 3 5 0 5 7 0 7 - 330470 1183779664 432 348 1 10 0 10 21 0 21 + 330470 1183779664 432 342 0 10 0 10 21 0 21 330470 1183779916 499 524 3 5 0 5 17 0 17 - 330470 1183780039 444 377 3 2 0 2 16 0 16 - 330470 1183780441 560 553 3 8 0 8 29 0 29 - 330470 1183781429 432 497 1 19 0 19 28 0 28 - 330470 1183781526 711 906 0 13 0 13 36 0 36 + 330470 1183780039 444 377 4 2 0 2 16 0 16 + 330470 1183780441 560 546 4 8 0 8 29 0 29 + 330470 1183781429 432 499 1 19 0 19 28 0 28 + 330470 1183781526 711 904 0 13 0 13 36 0 36 330470 1183782439 478 550 2 6 0 6 18 0 18 - 330470 1183782592 487 566 3 6 0 6 16 0 16 - 330470 1183782928 539 647 3 8 0 8 25 0 25 + 330470 1183782592 487 572 3 6 0 6 16 0 16 + 330470 1183782928 539 643 3 8 0 8 25 0 25 330470 1183783289 507 599 1 15 0 15 20 0 20 - 330470 1183783835 437 477 4 15 0 15 30 0 30 + 330470 1183783835 437 471 3 15 0 15 30 0 30 330470 1183783921 518 489 1 22 0 22 32 0 32 - 330470 1183784212 561 540 0 36 0 36 28 0 28 - 330470 1183784686 458 494 6 5 0 5 23 0 23 - 330470 1183784788 350 326 2 18 0 18 16 0 16 - 330470 1183785404 682 726 4 11 0 11 32 0 32 - 330470 1183786663 355 434 2 2 0 2 6 0 6 + 330470 1183784212 561 538 0 36 0 36 28 0 28 + 330470 1183784686 458 491 7 5 0 5 23 0 23 + 330470 1183784788 350 327 2 18 0 18 16 0 16 + 330470 1183785404 682 718 4 11 0 11 32 0 32 + 330470 1183786663 355 435 2 2 0 2 6 0 6 330470 1183787021 684 606 2 9 0 9 33 0 33 - 330470 1183787124 431 383 2 3 0 3 17 0 17 - 330470 1183787218 252 201 0 3 0 3 9 0 9 + 330470 1183787124 431 382 2 3 0 3 17 0 17 + 330470 1183787218 252 197 0 3 0 3 8 0 8 330470 1183787604 393 409 1 6 0 6 18 0 18 - 330470 1183787946 321 325 1 2 0 2 9 0 9 - 330470 1183789290 453 441 0 7 0 7 24 0 24 - 330470 1183789772 509 561 1 17 0 17 29 0 29 + 330470 1183787946 321 325 0 2 0 2 9 0 9 + 330470 1183789290 453 434 0 7 0 7 24 0 24 + 330470 1183789772 509 556 1 17 0 17 29 0 29 330470 1183791251 244 235 0 3 0 3 10 0 10 330470 1183791330 473 698 2 9 0 9 16 0 16 - 330470 1183791750 557 619 0 7 0 7 22 0 22 - 330470 1183792274 381 398 0 24 0 24 27 0 27 + 330470 1183791750 557 618 0 7 0 7 22 0 22 + 330470 1183792274 381 397 0 24 0 24 27 0 27 330470 1183792395 364 289 0 17 0 17 14 0 14 - 330470 1183792990 468 516 4 24 0 24 28 0 28 - 330470 1183793190 396 539 1 10 0 10 14 0 14 - 330470 1183793693 492 622 2 16 0 16 29 0 29 - 330470 1183793783 562 527 7 20 0 20 27 0 27 - 330470 1183794278 454 566 0 7 0 7 9 0 9 - 330470 1183794508 448 472 2 17 0 17 19 0 19 + 330470 1183792990 468 512 4 24 0 24 28 0 28 + 330470 1183793190 396 528 1 10 0 10 14 0 14 + 330470 1183793693 492 625 2 16 0 16 29 0 29 + 330470 1183793783 562 522 6 20 0 20 27 0 27 + 330470 1183794278 454 558 0 7 0 7 9 0 9 + 330470 1183794508 448 473 2 17 0 17 19 0 19 330470 1183794655 393 364 1 3 0 3 5 0 5 - 330470 1183794666 774 928 2 12 0 12 33 0 33 + 330470 1183794666 774 930 2 12 0 12 33 0 33 330470 1183795240 458 462 4 9 0 9 23 0 23 - 330470 1183795260 773 651 2 6 0 6 37 0 37 - 330470 1183795329 458 360 0 4 0 4 14 0 14 - 330470 1183795353 507 620 0 13 0 13 31 0 31 + 330470 1183795260 773 648 2 6 0 6 37 0 37 + 330470 1183795329 458 355 0 4 0 4 14 0 14 + 330470 1183795353 507 618 0 13 0 13 31 0 31 330470 1183797124 420 346 1 4 0 4 11 0 11 - 330470 1183797477 347 449 3 13 0 13 13 0 13 - 330470 1183797613 396 353 2 4 0 4 19 0 19 + 330470 1183797477 347 448 3 13 0 13 13 0 13 + 330470 1183797613 396 345 2 4 0 4 19 0 19 330470 1183797726 498 459 0 5 0 5 19 0 19 330470 1183797746 356 340 1 1 0 1 7 0 7 330470 1183797788 582 502 2 10 0 10 34 0 34 - 330470 1183798102 796 915 4 12 0 12 37 0 37 - 330470 1183798170 408 363 2 5 0 5 14 0 14 - 330470 1183799182 527 500 0 3 0 3 22 0 22 - 330470 1183799941 511 521 3 14 0 14 17 0 17 + 330470 1183798102 796 914 4 12 0 12 37 0 37 + 330470 1183798170 408 355 2 5 0 5 14 0 14 + 330470 1183799182 527 499 0 3 0 3 22 0 22 + 330470 1183799941 511 502 2 14 0 14 17 0 17 330470 1183800136 567 652 3 13 0 13 33 0 33 - 330470 1183800710 470 475 1 5 0 5 17 0 17 + 330470 1183800710 470 474 1 5 0 5 17 0 17 330470 1183801077 415 446 1 5 0 5 22 0 22 - 330470 1183801428 382 355 0 4 0 4 9 0 9 + 330470 1183801428 382 344 0 4 0 4 9 0 9 330470 1183802242 434 392 3 8 0 8 19 0 19 330470 1183804252 552 594 2 12 0 12 21 0 21 - 330470 1183804485 453 514 1 16 0 16 21 0 21 + 330470 1183804485 453 502 1 16 0 16 21 0 21 330470 1183804522 298 235 1 0 0 0 7 0 7 - 330470 1183806136 476 516 4 5 0 5 18 0 18 + 330470 1183806136 476 509 4 5 0 5 18 0 18 330470 1183806285 10 0 0 0 0 0 0 0 0 - 330470 1183806454 571 713 4 13 0 13 27 0 27 - 330470 1183806526 264 322 1 2 0 2 7 0 7 - 330470 1183807145 492 462 0 15 0 15 33 0 33 - 330470 1183807361 528 612 3 9 0 9 27 0 27 - 330470 1183807825 540 592 1 14 0 14 30 0 30 + 330470 1183806454 571 708 4 13 0 13 27 0 27 + 330470 1183806526 264 319 1 2 0 2 7 0 7 + 330470 1183807145 492 455 0 15 0 15 33 0 33 + 330470 1183807361 528 601 3 9 0 9 27 0 27 + 330470 1183807825 540 584 1 14 0 14 30 0 30 330470 1183808819 67 0 0 0 0 0 4 0 4 330470 1183809482 344 321 0 7 0 7 19 0 19 - 330470 1183810229 534 493 2 9 0 9 31 0 31 - 330470 1183810298 469 447 2 16 0 16 18 0 18 - 330470 1183810366 418 451 1 2 0 2 11 0 11 + 330470 1183810229 534 491 2 9 0 9 31 0 31 + 330470 1183810298 469 442 2 16 0 16 18 0 18 + 330470 1183810366 418 450 1 2 0 2 11 0 11 330470 1183810794 564 518 2 4 0 4 20 0 20 - 330470 1183810833 344 389 1 9 0 9 12 0 12 + 330470 1183810833 344 387 1 9 0 9 12 0 12 330470 1183811141 533 498 5 8 0 8 11 0 11 - 330470 1183812547 491 469 5 18 0 18 24 0 24 + 330470 1183812547 491 472 5 18 0 18 24 0 24 330470 1183812810 277 347 0 1 0 1 8 0 8 - 330470 1183812846 410 467 1 7 0 7 20 0 20 - 330470 1183813497 472 511 1 7 0 7 21 0 21 - 330470 1183814282 230 215 2 0 0 0 1 0 1 + 330470 1183812846 410 466 1 7 0 7 20 0 20 + 330470 1183813497 472 502 1 7 0 7 21 0 21 + 330470 1183814282 230 216 2 0 0 0 1 0 1 330470 1183814497 446 496 1 6 0 6 8 0 8 - 330470 1183814582 455 506 2 12 0 12 24 0 24 - 330470 1183815531 430 435 2 11 0 11 25 0 25 - 330470 1183815710 298 327 1 4 0 4 9 0 9 - 330470 1183815765 436 474 2 16 0 16 21 0 21 - 330470 1183815791 645 693 2 9 0 9 23 0 23 - 330470 1183815887 348 315 1 2 0 2 11 0 11 - 330470 1183816290 430 439 1 6 0 6 18 0 18 - 330470 1183817753 363 436 1 4 0 4 11 0 11 - 330470 1183818559 391 537 2 7 0 7 19 0 19 - 330470 1183819555 464 473 0 9 0 9 20 0 20 - 330470 1183819588 406 334 1 6 0 6 8 0 8 - 330470 1183820651 471 487 2 6 0 6 17 0 17 + 330470 1183814582 455 492 2 12 0 12 24 0 24 + 330470 1183815531 430 432 2 11 0 11 25 0 25 + 330470 1183815710 298 321 1 4 0 4 9 0 9 + 330470 1183815765 436 463 3 16 0 16 21 0 21 + 330470 1183815791 645 693 1 9 0 9 23 0 23 + 330470 1183815887 348 314 1 2 0 2 11 0 11 + 330470 1183816290 430 425 1 6 0 6 18 0 18 + 330470 1183817753 363 433 1 4 0 4 11 0 11 + 330470 1183818559 391 522 2 7 0 7 18 0 18 + 330470 1183819555 464 472 0 9 0 9 20 0 20 + 330470 1183819588 406 330 1 6 0 6 8 0 8 + 330470 1183820651 471 466 2 6 0 6 17 0 17 330470 1183821157 321 214 2 2 0 2 11 0 11 - 330470 1183821186 602 615 1 9 0 9 30 0 30 + 330470 1183821186 602 614 1 9 0 9 30 0 30 330470 1183822476 453 502 0 9 0 9 20 0 20 330470 1183823625 409 340 3 10 0 10 16 0 16 330470 1183824371 362 307 0 2 0 2 12 0 12 - 330470 1183824531 393 374 4 13 0 13 17 0 17 + 330470 1183824531 393 364 4 13 0 13 17 0 17 330470 1183824603 479 406 1 14 0 14 27 0 27 - 330470 1183824788 473 364 3 6 0 6 28 0 28 - 330470 1183824934 357 458 2 7 0 7 13 0 13 + 330470 1183824788 473 362 3 6 0 6 28 0 28 + 330470 1183824934 357 455 2 7 0 7 13 0 13 330470 1183825276 370 333 1 2 0 2 10 0 10 - 330470 1183826504 533 506 4 7 0 7 26 0 26 - 330470 1183826935 290 253 0 7 0 7 17 0 17 - 330470 1183827424 359 352 1 22 0 22 16 0 16 - 330470 1183828215 521 429 2 12 0 12 30 0 30 + 330470 1183826504 533 505 4 7 0 7 26 0 26 + 330470 1183826935 290 251 0 7 0 7 17 0 17 + 330470 1183827424 359 351 1 22 0 22 16 0 16 + 330470 1183828215 521 418 2 12 0 12 30 0 30 330470 1183828765 562 596 3 4 0 4 25 0 25 - 330470 1183828961 522 573 2 4 0 4 19 0 19 - 330470 1183829595 473 420 0 5 0 5 17 0 17 - 330470 1183829748 592 623 0 10 0 10 23 0 23 - 330470 1183830135 428 471 1 14 0 14 22 0 22 - 330470 1183830977 336 262 0 3 0 3 13 0 13 - 330470 1183830990 540 529 5 15 0 15 27 0 27 - 330470 1183831582 393 457 2 7 0 7 22 0 22 - 330470 1183832519 522 517 4 20 0 20 25 0 25 - 330470 1183832772 304 355 0 25 0 25 16 0 16 - 330470 1183834476 519 547 9 9 0 9 25 0 25 - 330470 1183835286 339 349 2 1 0 1 13 0 13 - 330470 1183836095 394 319 0 7 0 7 23 0 23 - 330470 1183836112 514 527 1 10 0 10 20 0 20 - 330470 1183836199 475 480 0 9 0 9 16 0 16 - 330470 1183836240 489 587 4 5 0 5 13 0 13 + 330470 1183828961 522 572 2 4 0 4 19 0 19 + 330470 1183829595 473 419 0 5 0 5 17 0 17 + 330470 1183829748 592 614 0 10 0 10 23 0 23 + 330470 1183830135 428 474 1 14 0 14 22 0 22 + 330470 1183830977 336 261 0 3 0 3 13 0 13 + 330470 1183830990 540 523 4 15 0 15 27 0 27 + 330470 1183831582 393 452 2 7 0 7 22 0 22 + 330470 1183832519 522 519 4 20 0 20 25 0 25 + 330470 1183832772 304 355 0 24 0 24 17 0 17 + 330470 1183834476 519 539 9 9 0 9 25 0 25 + 330470 1183835286 339 351 1 1 0 1 13 0 13 + 330470 1183836095 394 312 0 7 0 7 23 0 23 + 330470 1183836112 514 536 1 10 0 10 20 0 20 + 330470 1183836199 475 469 0 9 0 9 16 0 16 + 330470 1183836240 489 587 5 5 0 5 13 0 13 330470 1183836600 493 435 1 6 0 6 30 0 30 - 330470 1183837702 471 434 6 17 0 17 30 0 30 - 330470 1183837736 456 491 0 8 0 8 16 0 16 - 330470 1183839277 582 568 0 17 0 17 41 0 41 - 330470 1183839321 414 349 4 2 0 2 19 0 19 + 330470 1183837702 471 433 6 17 0 17 30 0 30 + 330470 1183837736 456 490 0 8 0 8 16 0 16 + 330470 1183839277 582 567 0 17 0 17 41 0 41 + 330470 1183839321 414 350 4 2 0 2 19 0 19 330470 1183839551 486 438 0 5 0 5 22 0 22 - 330470 1183840149 458 457 2 9 0 9 24 0 24 + 330470 1183840149 458 446 2 9 0 9 24 0 24 330470 1183840173 2 0 1 0 0 0 0 0 0 330470 1183840255 384 492 1 23 0 23 25 0 25 - 330470 1183840606 166 244 0 4 0 4 5 0 5 - 330470 1183841326 447 463 0 5 0 5 13 0 13 - 330470 1183841473 532 470 4 9 0 9 18 0 18 + 330470 1183840606 166 243 0 4 0 4 5 0 5 + 330470 1183841326 447 461 0 5 0 5 13 0 13 + 330470 1183841473 532 464 4 9 0 9 18 0 18 330470 1183841864 392 328 1 4 0 4 16 0 16 330470 1183842339 196 156 0 0 0 0 3 0 3 330470 1183842483 550 508 0 5 0 5 19 0 19 - 330470 1183842622 404 446 1 9 0 9 21 0 21 - 330470 1183842772 432 475 0 16 0 16 23 0 23 - 330470 1183843837 357 373 0 7 0 7 13 0 13 + 330470 1183842622 404 444 1 9 0 9 21 0 21 + 330470 1183842772 432 457 0 16 0 16 23 0 23 + 330470 1183843837 357 374 0 7 0 7 13 0 13 330470 1183844385 400 394 1 4 0 4 8 0 8 330470 1183846886 385 267 0 4 0 4 20 0 20 - 330470 1183847401 470 459 2 8 0 8 18 0 18 - 330470 1183847806 433 487 1 15 0 15 20 0 20 - 330470 1183848014 277 274 1 14 0 14 11 0 11 - 330470 1183848066 352 395 1 10 0 10 20 0 20 + 330470 1183847401 470 461 2 8 0 8 18 0 18 + 330470 1183847806 433 488 1 15 0 15 20 0 20 + 330470 1183848014 277 272 1 14 0 14 11 0 11 + 330470 1183848066 352 394 1 10 0 10 20 0 20 330470 1183848576 546 592 5 5 0 5 24 0 24 330470 1183848643 540 479 5 5 0 5 31 0 31 - 330470 1183848807 343 359 0 1 0 1 15 0 15 - 330470 1183849444 393 341 2 3 0 3 22 0 22 - 330470 1183849956 253 281 2 10 0 10 11 0 11 - 330470 1183850785 343 373 1 6 0 6 12 0 12 + 330470 1183848807 343 351 0 1 0 1 15 0 15 + 330470 1183849444 393 338 2 3 0 3 22 0 22 + 330470 1183849956 253 278 2 10 0 10 11 0 11 + 330470 1183850785 343 364 1 6 0 6 12 0 12 330470 1183851527 609 568 1 9 0 9 27 0 27 - 330470 1183852090 470 449 3 4 0 4 17 0 17 - 330470 1183852355 410 422 0 3 0 3 14 0 14 - 330470 1183852362 567 667 2 16 0 16 29 0 29 - 330470 1183852486 387 412 2 4 0 4 15 0 15 - 330470 1183852552 509 492 3 18 0 18 20 0 20 + 330470 1183852090 470 447 3 4 0 4 17 0 17 + 330470 1183852355 410 414 0 3 0 3 14 0 14 + 330470 1183852362 567 668 2 16 0 16 29 0 29 + 330470 1183852486 387 404 2 4 0 4 15 0 15 + 330470 1183852552 509 470 4 18 0 18 20 0 20 330470 1183853281 404 390 2 5 0 5 14 0 14 - 330470 1183853303 555 532 5 6 0 6 25 0 25 + 330470 1183853303 555 525 5 6 0 6 25 0 25 330470 1183853317 313 327 4 4 0 4 15 0 15 330470 1183853842 629 583 1 10 0 10 28 0 28 - 330470 1183854086 313 365 1 6 0 6 11 0 11 - 330470 1183854099 444 523 0 2 0 2 13 0 13 - 330470 1183854665 506 448 0 6 0 6 14 0 14 - 330470 1183855151 279 213 0 2 0 2 3 0 3 - 330470 1183855909 300 282 4 2 0 2 6 0 6 - 330470 1183856263 586 623 4 10 0 10 29 0 29 + 330470 1183854086 313 362 1 6 0 6 11 0 11 + 330470 1183854099 444 521 0 2 0 2 13 0 13 + 330470 1183854665 506 450 0 6 0 6 14 0 14 + 330470 1183855151 279 207 0 2 0 2 3 0 3 + 330470 1183855909 300 282 5 2 0 2 6 0 6 + 330470 1183856263 586 620 4 10 0 10 29 0 29 330470 1183856484 298 260 4 7 0 7 10 0 10 - 330470 1183856702 357 285 2 1 0 1 8 0 8 - 330470 1183856842 380 406 0 7 0 7 20 0 20 + 330470 1183856702 357 283 2 1 0 1 8 0 8 + 330470 1183856842 380 399 0 7 0 7 20 0 20 330470 1183857840 423 330 0 1 0 1 13 0 13 - 330470 1183858892 460 505 2 8 0 8 12 0 12 - 330470 1183859367 554 542 1 4 0 4 26 0 26 - 330470 1183859426 632 577 1 23 0 23 32 0 32 - 330470 1183859771 540 601 3 13 0 13 27 0 27 - 330470 1183861290 541 452 3 8 0 8 25 0 25 - 330470 1183862039 312 357 1 9 0 9 13 0 13 + 330470 1183858892 460 508 2 8 0 8 12 0 12 + 330470 1183859367 554 535 1 4 0 4 26 0 26 + 330470 1183859426 632 573 1 23 0 23 32 0 32 + 330470 1183859771 540 597 3 13 0 13 27 0 27 + 330470 1183861290 541 453 3 8 0 8 25 0 25 + 330470 1183862039 312 354 1 9 0 9 13 0 13 330470 1183862102 432 490 2 5 0 5 15 0 15 330470 1183864358 393 496 2 6 0 6 19 0 19 - 330470 1183864963 403 476 1 7 0 7 11 0 11 + 330470 1183864963 403 469 1 7 0 7 11 0 11 330470 1183865268 406 469 2 3 0 3 10 0 10 - 330470 1183865985 317 289 0 2 0 2 13 0 13 - 330470 1183867774 340 449 1 8 0 8 11 0 11 - 330470 1183868866 493 561 0 7 0 7 18 0 18 - 330470 1183869024 565 550 4 11 0 11 27 0 27 + 330470 1183865985 317 290 0 2 0 2 13 0 13 + 330470 1183867774 340 444 1 8 0 8 11 0 11 + 330470 1183868866 493 559 0 7 0 7 18 0 18 + 330470 1183869024 565 538 4 11 0 11 27 0 27 330470 1183869310 402 348 3 1 0 1 16 0 16 - 330470 1183869356 265 340 2 1 0 1 6 0 6 - 330470 1183870427 309 230 2 5 0 5 12 0 12 - 330470 1183871236 389 314 0 5 0 5 14 0 14 - 330470 1183872430 298 310 2 2 0 2 11 0 11 + 330470 1183869356 265 338 2 1 0 1 6 0 6 + 330470 1183870427 309 228 2 5 0 5 12 0 12 + 330470 1183871236 389 311 0 5 0 5 14 0 14 + 330470 1183872430 298 309 2 2 0 2 11 0 11 330470 1183873300 384 372 3 5 0 5 15 0 15 330470 1183874095 543 641 4 8 0 8 25 0 25 330470 1183874756 311 208 1 1 0 1 9 0 9 330470 1183875240 638 761 1 9 0 9 28 0 28 330470 1183875307 387 282 2 2 0 2 13 0 13 - 330470 1183875842 334 413 0 3 0 3 18 0 18 + 330470 1183875842 334 410 0 3 0 3 18 0 18 330470 1183876008 349 262 0 8 0 8 15 0 15 - 330470 1183876257 276 370 0 15 0 15 17 0 17 + 330470 1183876257 276 365 0 15 0 15 17 0 17 330470 1183876690 399 425 0 4 0 4 11 0 11 - 330470 1183878183 469 388 2 7 0 7 16 0 16 + 330470 1183878183 469 386 2 7 0 7 16 0 16 330470 1183878278 337 374 1 5 0 5 10 0 10 - 330470 1183878363 529 580 5 15 0 15 26 0 26 + 330470 1183878363 529 582 5 15 0 15 26 0 26 330470 1183879080 615 645 3 9 0 9 30 0 30 - 330470 1183879154 597 620 4 8 0 8 28 0 28 - 330470 1183879547 423 444 2 0 0 0 13 0 13 - 330470 1183879670 489 538 2 13 0 13 21 0 21 - 330470 1183879957 494 592 0 12 0 12 27 0 27 + 330470 1183879154 597 627 4 8 0 8 28 0 28 + 330470 1183879547 423 439 2 0 0 0 13 0 13 + 330470 1183879670 489 525 2 13 0 13 21 0 21 + 330470 1183879957 494 581 0 12 0 12 26 0 26 330470 1183880152 349 453 3 1 0 1 16 0 16 - 330470 1183880330 714 575 4 25 0 25 52 0 52 - 330470 1183880565 526 371 1 10 0 10 35 0 35 + 330470 1183880330 714 585 4 25 0 25 52 0 52 + 330470 1183880565 526 370 1 10 0 10 35 0 35 330470 1183880598 344 343 1 0 0 0 8 0 8 - 330470 1183881102 302 279 1 1 0 1 8 0 8 - 330470 1183881663 380 455 0 10 0 10 15 0 15 - 330470 1183882016 429 472 0 4 0 4 13 0 13 - 330470 1183882345 412 577 0 3 0 3 18 0 18 + 330470 1183881102 302 278 1 1 0 1 8 0 8 + 330470 1183881663 380 438 0 10 0 10 15 0 15 + 330470 1183882016 429 458 0 4 0 4 13 0 13 + 330470 1183882345 412 567 0 3 0 3 18 0 18 330470 1183882414 401 321 3 1 0 1 12 0 12 - 330470 1183882641 360 285 1 7 0 7 17 0 17 + 330470 1183882641 360 271 1 7 0 7 17 0 17 330470 1183882886 422 490 2 2 0 2 10 0 10 - 330470 1183884717 238 260 1 2 0 2 6 0 6 - 330470 1183885069 292 240 3 12 0 12 13 0 13 - 330470 1183885910 310 361 1 11 0 11 16 0 16 + 330470 1183884717 238 261 1 2 0 2 6 0 6 + 330470 1183885069 292 240 2 12 0 12 13 0 13 + 330470 1183885910 310 358 1 11 0 11 16 0 16 330470 1183889121 367 381 2 11 0 11 20 0 20 - 330470 1183889788 361 481 3 12 0 12 21 0 21 - 330470 1183890058 429 394 1 6 0 6 21 0 21 + 330470 1183889788 361 469 3 12 0 12 21 0 21 + 330470 1183890058 429 392 1 6 0 6 21 0 21 330470 1183890245 558 580 1 5 0 5 23 0 23 - 330470 1183891126 511 526 4 10 0 10 18 0 18 + 330470 1183891126 511 512 4 10 0 10 18 0 18 330470 1183891888 517 590 2 13 0 13 15 0 15 - 330470 1183893310 354 416 0 4 0 4 15 0 15 - 330470 1183893518 503 621 4 9 0 9 12 0 12 - 330470 1183894187 466 444 1 13 0 13 15 0 15 - 330470 1183895022 461 458 2 5 0 5 14 0 14 - 330470 1183896389 346 409 0 7 0 7 14 0 14 + 330470 1183893310 354 389 0 4 0 4 15 0 15 + 330470 1183893518 503 620 4 9 0 9 12 0 12 + 330470 1183894187 466 443 1 13 0 13 15 0 15 + 330470 1183895022 461 448 2 5 0 5 14 0 14 + 330470 1183896389 346 403 0 7 0 7 14 0 14 330470 1183896930 499 497 2 4 0 4 19 0 19 - 330470 1183896962 496 485 3 4 0 4 29 0 29 - 330470 1183898226 431 451 4 2 0 2 11 0 11 - 330470 1183899486 545 695 4 16 0 16 28 0 28 + 330470 1183896962 496 484 3 4 0 4 29 0 29 + 330470 1183898226 431 450 4 2 0 2 11 0 11 + 330470 1183899486 545 696 4 16 0 16 28 0 28 330470 1183899562 274 242 2 7 0 7 12 0 12 - 330470 1183899751 344 355 2 6 0 6 13 0 13 - 330470 1183899810 410 356 0 5 0 5 23 0 23 - 330470 1183900525 426 349 3 9 0 9 18 0 18 - 330470 1183900622 378 293 7 10 0 10 8 0 8 - 330470 1183900768 526 625 1 5 0 5 20 0 20 - 330470 1183901965 365 383 3 5 0 5 15 0 15 - 330470 1183902483 403 565 2 3 0 3 16 0 16 - 330470 1183903458 514 630 3 12 0 12 19 0 19 + 330470 1183899751 344 353 2 6 0 6 13 0 13 + 330470 1183899810 410 344 0 5 0 5 23 0 23 + 330470 1183900525 426 346 4 9 0 9 18 0 18 + 330470 1183900622 378 296 7 10 0 10 8 0 8 + 330470 1183900768 526 620 1 5 0 5 20 0 20 + 330470 1183901965 365 364 3 5 0 5 15 0 15 + 330470 1183902483 403 556 2 3 0 3 16 0 16 + 330470 1183903458 514 611 4 12 0 12 19 0 19 330470 1183904017 510 574 2 9 0 9 20 0 20 - 330470 1183904322 462 487 2 2 0 2 8 0 8 - 330470 1183905778 417 512 1 7 0 7 14 0 14 + 330470 1183904322 462 485 2 2 0 2 8 0 8 + 330470 1183905778 417 501 1 7 0 7 14 0 14 330470 1183905825 411 390 2 5 0 5 13 0 13 - 330470 1183906093 541 524 1 5 0 5 23 0 23 - 330470 1183906408 465 516 2 12 0 12 17 0 17 - 330470 1183906803 370 327 0 22 0 22 32 0 32 - 330470 1183907843 453 475 1 11 0 11 9 0 9 - 330470 1183908667 350 466 1 6 0 6 9 0 9 + 330470 1183906093 541 525 1 5 0 5 23 0 23 + 330470 1183906408 465 511 2 12 0 12 17 0 17 + 330470 1183906803 370 325 0 22 0 22 31 0 31 + 330470 1183907843 453 481 1 10 0 10 9 0 9 + 330470 1183908667 350 464 1 6 0 6 9 0 9 330470 1183908690 449 527 2 5 0 5 22 0 22 - 330470 1183908710 426 487 2 4 0 4 9 0 9 - 330470 1183908744 541 568 1 3 0 3 19 0 19 - 330470 1183909765 478 403 1 12 0 12 28 0 28 + 330470 1183908710 426 486 2 4 0 4 9 0 9 + 330470 1183908744 541 559 1 3 0 3 19 0 19 + 330470 1183909765 478 402 1 12 0 12 28 0 28 330470 1183910082 699 605 5 5 0 5 26 0 26 - 330470 1183910510 247 326 1 7 0 7 9 0 9 + 330470 1183910510 247 323 1 7 0 7 9 0 9 330470 1183910733 396 439 1 10 0 10 12 0 12 - 330470 1183912333 584 523 4 15 0 15 42 0 42 - 330470 1183914006 420 408 0 15 0 15 24 0 24 - 330470 1183914114 562 564 4 13 0 13 26 0 26 - 330470 1183916856 326 382 0 2 0 2 14 0 14 + 330470 1183912333 584 519 4 15 0 15 42 0 42 + 330470 1183914006 420 399 0 15 0 15 24 0 24 + 330470 1183914114 562 559 4 13 0 13 26 0 26 + 330470 1183916856 326 380 0 2 0 2 14 0 14 330470 1183918650 391 423 1 8 0 8 16 0 16 330470 1183918694 364 429 0 2 0 2 7 0 7 - 330470 1183919637 448 541 2 5 0 5 14 0 14 + 330470 1183919637 448 528 2 5 0 5 14 0 14 330470 1183919773 240 206 0 2 0 2 6 0 6 - 330470 1183919850 297 332 0 3 0 3 8 0 8 + 330470 1183919850 297 329 0 3 0 3 8 0 8 330470 1183920419 468 458 0 2 0 2 14 0 14 - 330470 1183920452 514 501 1 5 0 5 17 0 17 - 330470 1183921161 491 546 2 5 0 5 23 0 23 + 330470 1183920452 514 495 1 5 0 5 17 0 17 + 330470 1183921161 491 534 2 5 0 5 23 0 23 330470 1183921212 602 623 5 16 0 16 25 0 25 330470 1183921894 119 0 1 0 0 0 3 0 3 - 330470 1183922353 586 549 1 9 0 9 22 0 22 - 330470 1183923963 422 456 0 5 0 5 12 0 12 - 330470 1183924996 367 387 6 2 0 2 7 0 7 + 330470 1183922353 586 547 1 9 0 9 22 0 22 + 330470 1183923963 422 453 0 5 0 5 12 0 12 + 330470 1183924996 367 385 6 2 0 2 7 0 7 330470 1183926015 402 365 0 2 0 2 19 0 19 - 330470 1183927700 330 334 3 6 0 6 4 0 4 - 330470 1183927897 390 348 0 3 0 3 10 0 10 - 330470 1183929011 454 475 0 12 0 12 30 0 30 - 330470 1183929579 449 374 3 2 0 2 16 0 16 - 330470 1183929756 645 746 2 14 0 14 28 0 28 - 330470 1183930152 444 423 2 4 0 4 13 0 13 - 330470 1183930444 347 386 4 3 0 3 14 0 14 - 330470 1183930564 539 436 2 11 0 11 36 0 36 - 330470 1183931811 465 377 0 8 0 8 18 0 18 - 330470 1183932465 456 544 3 11 0 11 17 0 17 + 330470 1183927700 330 321 3 6 0 6 4 0 4 + 330470 1183927897 390 347 0 3 0 3 10 0 10 + 330470 1183929011 454 453 0 12 0 12 30 0 30 + 330470 1183929579 449 385 3 2 0 2 16 0 16 + 330470 1183929756 645 749 2 14 0 14 28 0 28 + 330470 1183930152 444 419 2 4 0 4 13 0 13 + 330470 1183930444 347 384 4 3 0 3 14 0 14 + 330470 1183930564 539 430 2 11 0 11 36 0 36 + 330470 1183931811 465 374 0 8 0 8 18 0 18 + 330470 1183932465 456 541 3 11 0 11 17 0 17 330470 1183933264 514 449 2 4 0 4 10 0 10 - 330470 1183934061 556 615 2 15 0 15 31 0 31 - 330470 1183934188 559 646 0 11 0 11 28 0 28 - 330470 1183935176 505 637 1 7 0 7 21 0 21 - 330470 1183935243 406 423 3 15 0 15 26 0 26 - 330470 1183936048 505 452 0 13 0 13 24 0 24 - 330470 1183937915 358 335 0 5 0 5 9 0 9 - 330470 1183937927 530 546 2 8 0 8 24 0 24 - 330470 1183938712 427 400 1 2 0 2 20 0 20 - 330470 1183938824 345 414 2 3 0 3 11 0 11 - 330470 1183939219 533 507 3 9 0 9 16 0 16 - 330470 1183939285 273 165 0 5 0 5 8 0 8 - 330470 1183939881 561 507 3 6 0 6 22 0 22 - 330470 1183941479 270 332 0 2 0 2 6 0 6 + 330470 1183934061 556 608 2 15 0 15 31 0 31 + 330470 1183934188 559 640 0 11 0 11 28 0 28 + 330470 1183935176 505 634 1 7 0 7 21 0 21 + 330470 1183935243 406 422 3 15 0 15 26 0 26 + 330470 1183936048 505 443 0 13 0 13 24 0 24 + 330470 1183937915 358 331 0 5 0 5 9 0 9 + 330470 1183937927 530 536 2 8 0 8 24 0 24 + 330470 1183938712 427 384 1 2 0 2 20 0 20 + 330470 1183938824 345 396 2 3 0 3 11 0 11 + 330470 1183939219 533 500 2 9 0 9 16 0 16 + 330470 1183939285 273 161 0 5 0 5 8 0 8 + 330470 1183939881 561 506 3 6 0 6 22 0 22 + 330470 1183941479 270 333 0 2 0 2 6 0 6 330470 1183943435 21 0 0 0 0 0 0 0 0 - 330470 1183944121 428 402 2 5 0 5 25 0 25 - 330470 1183944525 423 494 1 6 0 6 13 0 13 - 330470 1183946835 778 882 3 24 0 24 38 0 38 - 330470 1183949177 403 474 0 7 0 7 17 0 17 - 330470 1183949782 548 525 2 12 0 12 20 0 20 + 330470 1183944121 428 400 2 5 0 5 25 0 25 + 330470 1183944525 423 493 1 6 0 6 13 0 13 + 330470 1183946835 778 885 3 24 0 24 38 0 38 + 330470 1183949177 403 463 0 7 0 7 17 0 17 + 330470 1183949782 548 521 2 12 0 12 20 0 20 330470 1183952907 561 641 4 9 0 9 16 0 16 - 330470 1183953399 578 476 0 13 0 13 31 0 31 - 330470 1183953421 469 339 3 3 0 3 11 0 11 - 330470 1183953881 339 372 2 2 0 2 6 0 6 + 330470 1183953399 578 478 0 13 0 13 31 0 31 + 330470 1183953421 469 329 3 3 0 3 11 0 11 + 330470 1183953881 339 367 2 2 0 2 6 0 6 330470 1183954827 344 435 1 7 0 7 14 0 14 330470 1183957781 3 0 0 0 0 0 0 0 0 - 330470 1183958083 367 380 1 10 0 10 13 0 13 + 330470 1183958083 367 377 1 10 0 10 13 0 13 330470 1183960085 586 580 4 7 0 7 13 0 13 - 330470 1183960556 370 357 1 4 0 4 8 0 8 + 330470 1183960556 370 350 1 4 0 4 8 0 8 330470 1183961006 467 453 1 15 0 15 19 0 19 - 330470 1183961573 616 722 4 11 0 11 22 0 22 + 330470 1183961573 616 716 4 11 0 11 22 0 22 330470 1183961597 351 258 1 3 0 3 14 0 14 - 330470 1183963195 522 576 1 13 0 13 20 0 20 - 330470 1183969128 303 351 1 12 0 12 17 0 17 - 330470 1183969905 585 604 2 14 0 14 23 0 23 - 330470 1183970393 350 369 0 8 0 8 14 0 14 - 330470 1183970582 174 226 1 2 0 2 5 0 5 - 330470 1183973235 544 535 1 5 0 5 17 0 17 - 330470 1183974800 386 406 1 4 0 4 15 0 15 - 330470 1183975144 422 517 0 8 0 8 28 0 28 - 330470 1183977930 266 297 0 6 0 6 8 0 8 - 330470 1183979636 434 504 1 4 0 4 10 0 10 - 330470 1183982156 373 461 1 2 0 2 10 0 10 + 330470 1183963195 522 566 1 13 0 13 20 0 20 + 330470 1183969128 303 350 1 12 0 12 17 0 17 + 330470 1183969905 585 593 1 14 0 14 23 0 23 + 330470 1183970393 350 359 0 8 0 8 14 0 14 + 330470 1183970582 174 222 1 2 0 2 5 0 5 + 330470 1183973235 544 532 1 5 0 5 17 0 17 + 330470 1183974800 386 405 1 4 0 4 15 0 15 + 330470 1183975144 422 516 0 8 0 8 28 0 28 + 330470 1183977930 266 296 0 6 0 6 8 0 8 + 330470 1183979636 434 501 1 4 0 4 10 0 10 + 330470 1183982156 373 450 1 2 0 2 10 0 10 330470 1183982855 448 401 2 2 0 2 14 0 14 - 330470 1183983079 512 542 2 7 0 7 29 0 29 - 330470 1183983113 387 369 1 3 0 3 17 0 17 - 330470 1183984897 342 295 0 14 0 14 15 0 15 - 330470 1183985311 421 580 1 11 0 11 13 0 13 - 330470 1183987027 468 473 0 4 0 4 17 0 17 + 330470 1183983079 512 545 1 7 0 7 29 0 29 + 330470 1183983113 387 382 1 3 0 3 17 0 17 + 330470 1183984897 342 292 0 14 0 14 15 0 15 + 330470 1183985311 421 573 1 11 0 11 13 0 13 + 330470 1183987027 468 480 0 4 0 4 17 0 17 330470 1183988197 390 420 4 4 0 4 19 0 19 - 330470 1183991258 380 393 2 1 0 1 13 0 13 - 330470 1183991399 859 816 0 9 0 9 44 0 44 - 330470 1183994870 492 543 1 12 0 12 25 0 25 + 330470 1183991258 380 392 2 1 0 1 13 0 13 + 330470 1183991399 859 817 0 9 0 9 44 0 44 + 330470 1183994870 492 542 1 12 0 12 25 0 25 330470 1183995076 239 205 1 0 0 0 5 0 5 - 330470 1183995604 394 352 0 2 0 2 13 0 13 + 330470 1183995604 394 354 0 2 0 2 13 0 13 330470 1183995956 394 390 2 8 0 8 12 0 12 330470 1183997552 522 536 0 4 0 4 23 0 23 - 330470 1183997623 408 332 2 6 0 6 14 0 14 + 330470 1183997623 408 325 2 6 0 6 14 0 14 330470 1183997905 350 316 0 1 0 1 6 0 6 - 330470 1184001332 450 420 4 11 0 11 26 0 26 + 330470 1184001332 450 407 5 11 0 11 26 0 26 330470 1184003671 421 385 1 6 0 6 16 0 16 - 330470 1184007839 421 444 3 9 0 9 15 0 15 - 330470 1184010792 477 470 0 5 0 5 15 0 15 - 330470 1184011907 359 423 1 2 0 2 16 0 16 - 330470 1184012123 368 332 1 10 0 10 22 0 22 - 330470 1184013681 311 242 0 1 0 1 12 0 12 + 330470 1184007839 421 439 3 9 0 9 15 0 15 + 330470 1184010792 477 467 0 5 0 5 15 0 15 + 330470 1184011907 359 414 1 2 0 2 16 0 16 + 330470 1184012123 368 335 1 10 0 10 22 0 22 + 330470 1184013681 311 241 0 1 0 1 12 0 12 330470 1184014074 358 358 0 3 0 3 12 0 12 - 330470 1184016450 487 519 1 13 0 13 29 0 29 - 330470 1184019719 414 374 1 3 0 3 20 0 20 - 330470 1184020401 563 453 2 7 0 7 28 0 28 - 330470 1184026109 415 334 0 11 0 11 20 0 20 - 330470 1184026603 601 621 2 6 0 6 26 0 26 + 330470 1184016450 487 502 1 13 0 13 29 0 29 + 330470 1184019719 414 368 1 3 0 3 20 0 20 + 330470 1184020401 563 453 3 7 0 7 28 0 28 + 330470 1184026109 415 332 0 11 0 11 20 0 20 + 330470 1184026603 601 606 2 6 0 6 26 0 26 330470 1184027737 477 484 0 0 0 0 16 0 16 - 330470 1184028312 570 597 1 10 0 10 30 0 30 + 330470 1184028312 570 580 1 10 0 10 30 0 30 330470 1184044299 105 0 0 0 0 0 0 0 0 330470 1184045730 361 462 1 5 0 5 14 0 14 - 330470 1184048892 508 456 1 8 0 8 30 0 30 - 330470 1184054880 375 336 0 2 0 2 6 0 6 - 330470 1184055196 330 273 1 4 0 4 11 0 11 + 330470 1184048892 508 455 1 8 0 8 30 0 30 + 330470 1184054880 375 335 0 2 0 2 6 0 6 + 330470 1184055196 330 274 1 4 0 4 11 0 11 330470 1184064491 68 0 0 0 0 0 0 0 0 330470 1184065397 91 0 0 0 0 0 3 0 3 -- GitLab From 7e383190e9c4787f900ea1043a1618879fe9c313 Mon Sep 17 00:00:00 2001 From: Bill Balunas Date: Mon, 5 Jul 2021 13:34:03 +0200 Subject: [PATCH 36/36] Suppress python warning and explain it in comment --- .../DerivationFrameworkJetEtMiss/python/METCommon.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py index c505c094f9e..5937186ec29 100644 --- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py +++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkJetEtMiss/python/METCommon.py @@ -100,8 +100,9 @@ def scheduleStandardMETContent(sequence=DerivationFrameworkJob, algname = 'METSt print ("Get preexisting alg:", algname, metalgs[algname]) assocAlg = metalgs[algname] else: - # this import auto-configures standard associations - import METReconstruction.METConfig_Associator + # This import statement executes code which auto-configures the standard associations. + # Design to be improved with the migration to the new config. + import METReconstruction.METConfig_Associator # noqa: F401 from METReconstruction.METRecoFlags import metFlags standardConfigs = {k : v for k, v in metFlags.METAssocConfigs().items() if ("EMTopo" in k or "EMPFlow" in k)} -- GitLab