ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauSmearingAlg.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9//
10// includes
11//
12
14
15//
16// method implementations
17//
18
19namespace CP
20{
21
22 StatusCode DiTauSmearingAlg ::
23 initialize ()
24 {
25 ANA_CHECK (m_smearingTool.retrieve());
28 ANA_CHECK (m_systematicsList.addSystematics (*m_smearingTool));
29 ANA_CHECK (m_systematicsList.initialize());
30 ANA_CHECK (m_outOfValidity.initialize());
31 return StatusCode::SUCCESS;
32 }
33
34
35
36 StatusCode DiTauSmearingAlg ::
37 execute ()
38 {
39 for (const auto& sys : m_systematicsList.systematicsVector())
40 {
41 ANA_CHECK (m_smearingTool->applySystematicVariation (sys));
43 ANA_CHECK (m_tauHandle.getCopy (taus, sys));
44 for (xAOD::DiTauJet *tau : *taus)
45 {
46 if (m_preselection.getBool (*tau, sys))
47 {
48 ANA_CHECK_CORRECTION (m_outOfValidity, *tau, m_smearingTool->applyCorrection (*tau));
49 }
50 }
51 }
52 return StatusCode::SUCCESS;
53 }
54}
55
#define ANA_CHECK(EXP)
check whether the given expression was successful
static Double_t taus
#define ANA_CHECK_CORRECTION(helper, object, expr)
a helper check macro to work with OutOfValidityHelper
SysReadSelectionHandle m_preselection
the preselection we apply to our input
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
SysCopyHandle< xAOD::DiTauJetContainer > m_tauHandle
the tau collection we run on
ToolHandle< TauAnalysisTools::IDiTauSmearingTool > m_smearingTool
the smearing tool
SysListHandle m_systematicsList
the systematics list we run
Select isolated Photons, Electrons and Muons.
DiTauJetContainer_v1 DiTauJetContainer
Definition of the current DiTauJet container version.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17