14TauAnalysisToolsExampleAthena::TauAnalysisToolsExampleAthena(
const std::string& name, ISvcLocator* svcLoc )
19StatusCode TauAnalysisToolsExampleAthena::initialize()
24 if (m_useMuonRemovalTaus){
25 ATH_MSG_DEBUG(
"TauJets_MuonRM SGKey = " << m_sgKey_TauJets_MuonRM );
37 return StatusCode::SUCCESS;
40StatusCode TauAnalysisToolsExampleAthena::execute(
const EventContext& )
43 std::vector<const xAOD::TauJet*> taus_to_calibrate;
45 ATH_CHECK( evtStore()->retrieve( taus_std, m_sgKey_TauJets ) );
48 if (m_useMuonRemovalTaus){
49 ATH_CHECK( evtStore()->retrieve( taus_muonRM, m_sgKey_TauJets_MuonRM ) );
51 taus_to_calibrate = TauAnalysisTools::combineTauJetsWithMuonRM(taus_std, taus_muonRM);
55 taus_to_calibrate.push_back(tau);
62 <<
", phi = " << tau_uncali->phi()
63 <<
", pt = " << tau_uncali->pt() );
66 if( ! m_selTool->accept( *tau_uncali ) )
continue;
69 ATH_MSG_INFO(
" Selected tau: eta = " << tau_uncali->eta()
70 <<
", phi = " << tau_uncali->phi()
71 <<
", pt = " << tau_uncali->pt() );
76 tau->makePrivateStore( *tau_uncali );
78 ATH_CHECK (m_effTool->applyEfficiencyScaleFactor(*tau));
81 ATH_MSG_INFO(
" sf = " << accTauScaleFactorJetID (*tau) );
83 ATH_CHECK (m_smearTool->applyCorrection(*tau));
84 ATH_MSG_INFO(
"Unsmeared tau pt " <<
tau->pt() <<
" Smeared tau pt: " <<
tau->p4().Pt());
88 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_INFO(x,...)
Helper class to provide constant type-safe access to aux data.
Base class from which non-reentrant (not thread-safe) Athena algorithm classes should be derived.
size_type size() const noexcept
Returns the number of elements in the collection.
Helper class to provide constant type-safe access to aux data.
TauJet_v3 TauJet
Definition of the current "tau version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".