diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopCPTools/Root/TopOverlapRemovalCPTools.cxx b/PhysicsAnalysis/TopPhys/xAOD/TopCPTools/Root/TopOverlapRemovalCPTools.cxx index 5040b617c09ae222eb4ccdbc534f56559f817573..1608a92a68123a82c7b168211cfcd0b05f3ac146 100644 --- a/PhysicsAnalysis/TopPhys/xAOD/TopCPTools/Root/TopOverlapRemovalCPTools.cxx +++ b/PhysicsAnalysis/TopPhys/xAOD/TopCPTools/Root/TopOverlapRemovalCPTools.cxx @@ -72,6 +72,7 @@ namespace top { "ORToolDecoration"); OR_flags.doElectrons = m_config->useElectrons(); + if(m_config->doEleEleOverlapRemoval()) OR_flags.doEleEleOR = true; OR_flags.doMuons = m_config->useMuons(); OR_flags.doJets = m_config->useJets(); OR_flags.doTaus = m_config->useTaus(); diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/ConfigurationSettings.cxx b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/ConfigurationSettings.cxx index 4377221b9b3fb58a36267a8f8ca63dda24ea7e1b..a833d4e5f2480f40b6054ebbda8496460fbe6330 100644 --- a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/ConfigurationSettings.cxx +++ b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/ConfigurationSettings.cxx @@ -644,6 +644,9 @@ namespace top { registerParameter("LargeJetOverlapRemoval", "Perform overlap removal including large-R jets. True or False (default: False).", "False"); + registerParameter("EleEleOverlapRemoval", + "Apply electron-electron overlap removal. True or False (default: False).", "False"); + registerParameter("SaveBootstrapWeights", "Set to true in order to save Poisson bootstrap weights," "True or False (default False)", "False"); diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/TopConfig.cxx b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/TopConfig.cxx index 84fa76b15d3a7f2881d35d7da3980e6bd7fa54ce..d8677d05e8f93950c028d6d312d312134653be75 100644 --- a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/TopConfig.cxx +++ b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/Root/TopConfig.cxx @@ -92,6 +92,8 @@ namespace top { // do overlap removal also with large-R jets // (using whatever procedure is used in the official tools) m_doLargeJetOverlapRemoval(false), + // do electron-electron overlap removal + m_doEleEleOverlapRemoval(false), // Dumps the normal non-"*_Loose" trees m_doTightEvents(true), // Runs Loose selection and dumps the "*_Loose" trees @@ -1464,6 +1466,11 @@ namespace top { this->setLargeJetOverlapRemoval();// only usefull in case of MC } + //do electron-electron overlap removal + if (settings->value("EleEleOverlapRemoval") == "True"){ + this->setEleEleOverlapRemoval(); + } + // In the *_Loose trees, lepton SFs are calculated considering // tight ID and isolation instead of loose // Only tight leptons are considered in the event SF calculation diff --git a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/TopConfiguration/TopConfig.h b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/TopConfiguration/TopConfig.h index 51354652b53020815486078f6812d7eec68f78e9..bcfd14ab2bdcf43c52a2bbca99becc3077aacc60 100644 --- a/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/TopConfiguration/TopConfig.h +++ b/PhysicsAnalysis/TopPhys/xAOD/TopConfiguration/TopConfiguration/TopConfig.h @@ -282,6 +282,15 @@ namespace top { inline bool doLargeJetOverlapRemoval() const {return m_doLargeJetOverlapRemoval;} + // do electron-electron overlap removal + inline void setEleEleOverlapRemoval() { + if (!m_configFixed) { + m_doEleEleOverlapRemoval = true; + } + } + + inline bool doEleEleOverlapRemoval() const {return m_doEleEleOverlapRemoval;} + // In the *_Loose trees, lepton SFs are calculated considering // tight ID and isolation instead of loose // Only tight leptons are considered in the event SF calculation @@ -2248,6 +2257,9 @@ namespace top { // (using whatever procedure is used in the official tools) bool m_doLargeJetOverlapRemoval; + // do electron-electron overlap removal + bool m_doEleEleOverlapRemoval; + // Dumps the normal, non-"*_Loose" trees (on demand) bool m_doTightEvents; // Dumps the "*_Loose trees (on demand)