Skip to content
Snippets Groups Projects
Commit 57eff81a authored by Jeff Dandoy's avatar Jeff Dandoy
Browse files

Adding LooseBadLLP event level jet cleaning decision to ExtendedJetCommon.py. ...

Adding LooseBadLLP event level jet cleaning decision to ExtendedJetCommon.py.  Removing some unnecessary attributes of EventCleaningTestAlg


Former-commit-id: 80a9df0e0cb44cd290846e4de0bfb500936542da
parent 053a375d
No related branches found
No related tags found
No related merge requests found
......@@ -409,7 +409,7 @@ def eventCleanLoose_xAODColl(jetalg='AntiKt4EMTopo',sequence=DerivationFramework
ecToolLoose = EventCleaningTool('EventCleaningTool_Loose',CleaningLevel='LooseBad')
ecToolLoose.JetCleanPrefix = prefix
ecToolLoose.JetCleaningTool = getJetCleaningTool("LooseBad")
algCleanLoose = EventCleaningTestAlg('EventCleaningTestAlg_loose',
algCleanLoose = EventCleaningTestAlg('EventCleaningTestAlg_Loose',
EventCleaningTool=ecToolLoose,
JetCollectionName="AntiKt4EMTopoJets",
EventCleanPrefix=prefix)
......@@ -423,7 +423,7 @@ def eventCleanTight_xAODColl(jetalg='AntiKt4EMTopo',sequence=DerivationFramework
ecToolTight = EventCleaningTool('EventCleaningTool_Tight',CleaningLevel='TightBad')
ecToolTight.JetCleanPrefix = prefix
ecToolTight.JetCleaningTool = getJetCleaningTool("TightBad")
algCleanTight = EventCleaningTestAlg('EventCleaningTestAlg_tight',
algCleanTight = EventCleaningTestAlg('EventCleaningTestAlg_Tight',
EventCleaningTool=ecToolTight,
JetCollectionName="AntiKt4EMTopoJets",
EventCleanPrefix=prefix,
......@@ -431,6 +431,23 @@ def eventCleanTight_xAODColl(jetalg='AntiKt4EMTopo',sequence=DerivationFramework
doEvent=False)
sequence += algCleanTight
def eventCleanLooseLLP_xAODColl(jetalg='AntiKt4EMTopo',sequence=DerivationFrameworkJob):
from JetSelectorTools.JetSelectorToolsConf import ECUtils__EventCleaningTool as EventCleaningTool
from JetSelectorTools.JetSelectorToolsConf import EventCleaningTestAlg
jetcleaningtoolname = "EventCleaningTool_LooseLLP"
prefix = "DFCommonJets_"
#Do not save decorations, which are anyway not listed in AntiKt4EMTopoJetsCPContent.py
ecToolLooseLLP = EventCleaningTool('EventCleaningTool_LooseLLP',CleaningLevel='LooseBadLLP', DoDecorations=False)
ecToolLooseLLP.JetCleanPrefix = prefix
ecToolLooseLLP.JetCleaningTool = getJetCleaningTool("LooseBadLLP")
algCleanLooseLLP = EventCleaningTestAlg('EventCleaningTestAlg_LooseLLP',
EventCleaningTool=ecToolLooseLLP,
JetCollectionName="AntiKt4EMTopoJets",
EventCleanPrefix=prefix,
CleaningLevel="LooseBadLLP",
doEvent=True) #Save the event level decoration
sequence += algCleanLooseLLP
def addRscanJets(jetalg,radius,inputtype,sequence,outputlist):
jetname = "{0}{1}{2}Jets".format(jetalg,int(radius*10),inputtype)
algname = "jetalg"+jetname
......@@ -522,6 +539,7 @@ applyBTagging_xAODColl("AntiKt4EMTopo")
applyOverlapRemoval()
eventCleanLoose_xAODColl("AntiKt4EMTopo")
eventCleanTight_xAODColl("AntiKt4EMTopo")
eventCleanLooseLLP_xAODColl("AntiKt4EMTopo")
##################################################################
# Helper to add origin corrected clusters
......
......@@ -19,14 +19,6 @@ EventCleaningTestAlg::EventCleaningTestAlg(const std::string& name,
m_ecTool("ECUtils::EventCleaningTool/EventCleaningTool", this)
{
m_ecTool.declarePropertyFor( this, "EventCleaningTool" );
declareProperty("PtCut", m_pt = 20000.0,
"Minimum pt for jets");
declareProperty("EtaCut", m_eta = 2.8,
"Max eta for jets");
declareProperty("JvtDecorator", m_jvt = "passJvt",
"Input name of Jvt decorator");
declareProperty("OrDecorator", m_or = "passOR",
"Input name of OR decorator");
declareProperty("EventCleanPrefix", m_prefix = "",
"Input name of event cleaning decorator prefix");
declareProperty("CleaningLevel", m_cleaningLevel = "LooseBad",
......@@ -44,10 +36,10 @@ StatusCode EventCleaningTestAlg::initialize()
{
ATH_MSG_INFO("Initialize");
// Try to retrieve the tool
// Try to retrieve the tool
ATH_CHECK( m_ecTool.retrieve() );
// Create the decorator
// Create the decorator
if(m_doEvent) m_dec_eventClean = std::make_unique<SG::AuxElement::Decorator<char>>(m_prefix + "eventClean_" + m_cleaningLevel);
return StatusCode::SUCCESS;
......@@ -65,12 +57,12 @@ StatusCode EventCleaningTestAlg::execute()
// Apply the event cleaning
bool result = 0;
result = m_ecTool->acceptEvent(jets) ;
//Decorate event
if(m_doEvent){
const xAOD::EventInfo* eventInfo = 0;
ATH_CHECK( evtStore()->retrieve(eventInfo, "EventInfo") );
(*m_dec_eventClean)(*eventInfo) = result;
const xAOD::EventInfo* eventInfo = 0;
ATH_CHECK( evtStore()->retrieve(eventInfo, "EventInfo") );
(*m_dec_eventClean)(*eventInfo) = result;
}
return StatusCode::SUCCESS;
......
......@@ -31,7 +31,7 @@ class EventCleaningTestAlg : public AthAlgorithm
/// Initialize the algorithm
virtual StatusCode initialize();
/// Finalize the algorithm
virtual StatusCode finalize();
......@@ -42,17 +42,13 @@ class EventCleaningTestAlg : public AthAlgorithm
/// Handle to the tool
asg::AnaToolHandle<ECUtils::IEventCleaningTool> m_ecTool;
/// Configuration
double m_pt;
double m_eta;
std::string m_or;
std::string m_jvt;
std::string m_prefix;
std::string m_cleaningLevel;
std::string m_collection;
bool m_doEvent;
std::unique_ptr<SG::AuxElement::Decorator<char>> m_dec_eventClean;
bool m_doEvent; //boolean to save event-level decoration
std::unique_ptr<SG::AuxElement::Decorator<char>> m_dec_eventClean;
};
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment