ATLAS Offline Software
Loading...
Searching...
No Matches
JetUncertaintiesAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8#ifndef JET_ANALYSIS_ALGORITHMS__JET_UNCERTAINTIES_ALG_H
9#define JET_ANALYSIS_ALGORITHMS__JET_UNCERTAINTIES_ALG_H
10
18
19#include <optional>
20
21namespace CP
22{
24
26 : public EL::AnaAlgorithm
27 {
29 public:
31 StatusCode initialize () override;
32 StatusCode execute (const EventContext& ctx) override;
33
35 private:
36 StatusCode applyTool (ToolHandle<ICPJetUncertaintiesTool>& tool,
37 const std::vector<CP::SystematicSet>& systematics,
38 bool decorateBtag, const EventContext& ctx);
39
40
42 private:
43 ToolHandle<ICPJetUncertaintiesTool> m_uncertaintiesTool {this, "uncertaintiesTool", "JetUncertaintiesTool", "the uncertainties tool we apply"};
44
46 private:
47 ToolHandle<ICPJetUncertaintiesTool> m_uncertaintiesToolPD {this, "uncertaintiesToolPD", "", "the uncertainties tool we apply specifically for the 'Full'/'All' JER systematic models"};
48
50 private:
52
54 private:
56 this, "jets", "AntiKt4EMTopoJets", "the jet collection to run on"};
57
59 private:
61 this, "preselection", "", "the preselection to apply"};
62
64 private:
66
68 private:
69 std::vector<CP::SystematicSet> m_systematicsVector;
70
72 private:
73 std::vector<CP::SystematicSet> m_systematicsVectorOnlyJERPseudoData;
74
75 private:
76 Gaudi::Property<std::string> m_isJESbtag {this, "isJESbtagLabel", "IsBjet", "The label to apply to truth b-tagged jets, for JES flavour uncertainties"};
77 std::optional<SG::Decorator<char>> m_decIsJESbtag;
78 std::optional<SG::ConstAccessor<int>> m_accTruthLabel;
79
80 };
81}
82
83#endif
static const std::vector< std::string > systematics
Define macros for attributes used to control the static checker.
an algorithm for calling ICPJetUncertaintiesTool
OutOfValidityHelper m_outOfValidity
the helper for OutOfValidity results
SysCopyHandle< xAOD::JetContainer > m_jetHandle
the jet collection we run on
StatusCode execute(const EventContext &ctx) override
execute this algorithm
ToolHandle< ICPJetUncertaintiesTool > m_uncertaintiesToolPD
the secondary jet uncertainties tool, for pseudo-data JER smearing
Gaudi::Property< std::string > m_isJESbtag
std::optional< SG::ConstAccessor< int > > m_accTruthLabel
SysReadSelectionHandle m_preselection
the preselection we apply to our input
SysListHandle m_systematicsList
the systematics list we run
std::vector< CP::SystematicSet > m_systematicsVector
the vector of systematics (for CPU-optimisation)
ToolHandle< ICPJetUncertaintiesTool > m_uncertaintiesTool
the main jet uncertainties tool
std::vector< CP::SystematicSet > m_systematicsVectorOnlyJERPseudoData
the vector of pseudo-data JER systematics (for CPU-optimisation)
std::optional< SG::Decorator< char > > m_decIsJESbtag
StatusCode applyTool(ToolHandle< ICPJetUncertaintiesTool > &tool, const std::vector< CP::SystematicSet > &systematics, bool decorateBtag, const EventContext &ctx)
apply the given tool for the given systematics
a helper to translate a CP::CorrectionCode into a StatusCode
a systematics data handle that will either copy the input object or act like an update handle
a class managing the property to configure the list of systematics to process
a data handle for reading systematically varied selection properties from objects
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Select isolated Photons, Electrons and Muons.
void ErrorHandler ATLAS_NOT_THREAD_SAFE(Int_t level, Bool_t abort, const char *location, const char *message)
Function filtering the warnings coming from ROOT.
Definition Init.cxx:105
void initialize()