#include <MuonSFTestHelper.h>
|
struct | SFSet |
| Helper struct to store scale factor, data efficiency + mc efficiency for each systematic variation. More...
|
|
Definition at line 71 of file MuonSFTestHelper.h.
◆ DataDependency
◆ MuonSFBranches()
Definition at line 90 of file MuonSFTestHelper.cxx.
94 getProperty<std::string>(handle.get(),
"WorkingPoint")},
◆ ~MuonSFBranches()
virtual TestMuonSF::MuonSFBranches::~MuonSFBranches |
( |
| ) |
|
|
virtualdefault |
◆ addToTree()
template<class T >
bool MuonVal::MuonTesterBranch::addToTree |
( |
T & |
variable | ) |
|
|
protectedinherited |
Connects the Memory buffer with the TTree.
◆ data_dependencies()
std::vector< MuonTesterBranch::DataDependency > MuonVal::MuonTesterBranch::data_dependencies |
( |
| ) |
|
|
finaloverridevirtualinherited |
◆ declare_dependency()
template<class Key >
bool MuonVal::MuonTesterBranch::declare_dependency |
( |
Key & |
key | ) |
|
|
protectedinherited |
Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm.
◆ eraseWhiteSpaces()
std::string MuonVal::MuonTesterBranch::eraseWhiteSpaces |
( |
const std::string & |
In | ) |
|
|
staticinherited |
◆ fill()
bool TestMuonSF::MuonSFBranches::fill |
( |
const EventContext & |
ctx | ) |
|
|
finaloverridevirtual |
The fill method checks if enough information is provided such that the branch is cleared from the information of the prevoius event and in cases of that updates did no happen befure a default value is provided.
--> returns false if no update is called or the dummy value has not been defined
Implements MuonVal::IMuonTesterBranch.
Definition at line 112 of file MuonSFTestHelper.cxx.
114 if (!
sys->fill(ctx))
return false;
◆ fillSystematic()
No data-mc efficiencies provided for eta beyond 2.5
Definition at line 154 of file MuonSFTestHelper.cxx.
156 if (
m_handle->applySystematicVariation(Syst_SF.cpSet) != StatusCode::SUCCESS) {
157 ATH_MSG_ERROR(
"Failed to apply variation "<< Syst_SF.cpSet.name()<<
" for "<<
name());
163 ATH_MSG_ERROR(
"Failed to retrieve the scale factor variation "<< Syst_SF.cpSet.name()<<
" for "<<
name());
166 Syst_SF.scaleFactor =
sf;
169 if (std::abs(
muon.eta()) > 2.5) {
170 Syst_SF.dataEff = -1;
176 ATH_MSG_ERROR(
"Failed to retrieve the data efficiency variation "<< Syst_SF.cpSet.name()<<
" for "<<
name());
179 Syst_SF.dataEff =
sf;
182 ATH_MSG_ERROR(
"Failed to retrieve the mc efficiency variation "<< Syst_SF.cpSet.name()<<
" for "<<
name());
◆ init()
bool TestMuonSF::MuonSFBranches::init |
( |
| ) |
|
|
finaloverridevirtual |
The init method checks whether the branch name has already registered to the MuonTree and tries then to add the branch to the tree --> return false if the branch has already been defined or the inclusion of the branch to the tree failed or the name of the branch is empty.
Implements MuonVal::IMuonTesterBranch.
Definition at line 97 of file MuonSFTestHelper.cxx.
100 ATH_MSG_ERROR(
"Given tool not MuonCP::MuonEfficiencyScaleFactors");
106 m_SFs.emplace_back(std::make_unique<SFSet>(
set, *
this));
107 if (!
m_SFs.back()->init())
return false;
◆ initialized()
bool MuonVal::MuonTesterBranch::initialized |
( |
| ) |
const |
|
inherited |
Returns whether the object has been initialized or not The outcome of the variable is bound to a successful call of the addToTree method.
Definition at line 52 of file MuonTesterBranch.cxx.
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ name()
std::string MuonVal::MuonTesterBranch::name |
( |
| ) |
const |
|
finaloverridevirtualinherited |
◆ parent()
MuonTesterTree & MuonVal::MuonTesterBranch::parent |
( |
| ) |
|
|
protectedinherited |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setMuon()
Only the raw systematic sets have been activated We can loop over each set and fill it properly
Only process the nominal set or the set matching the syst bin
Implements TestMuonSF::MuonEffiBranch.
Definition at line 120 of file MuonSFTestHelper.cxx.
124 for (
auto& Syst_SF :
m_SFs) {
137 for (
auto& Syst_SF:
m_SFs){
139 bool process = Syst_SF->cpSet.name().empty() ||
140 std::find_if(Syst_SF->cpSet.begin(), Syst_SF->cpSet.end(),
142 return t.isToyVariation() && t.getToyVariation().first ==
143 static_cast<unsigned>(bin);
144 }) != Syst_SF->cpSet.end();
◆ systName()
Dummy helper function that encodes the systname set.
Definition at line 87 of file MuonSFTestHelper.h.
88 return set.name().empty() ? std::string(
"") : std::string(
"__") +
set.
name();
◆ tree() [1/2]
const TTree * MuonVal::MuonTesterBranch::tree |
( |
| ) |
const |
|
finaloverridevirtualinherited |
◆ tree() [2/2]
TTree * MuonVal::MuonTesterBranch::tree |
( |
| ) |
|
|
finaloverridevirtualinherited |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_dependencies
std::vector<DataDependency> MuonVal::MuonTesterBranch::m_dependencies {} |
|
privateinherited |
◆ m_handle
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_init
bool MuonVal::MuonTesterBranch::m_init {false} |
|
privateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_name
std::string MuonVal::MuonTesterBranch::m_name {} |
|
privateinherited |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_parent
MuonTesterTree* MuonVal::MuonTesterBranch::m_parent {nullptr} |
|
privateinherited |
◆ m_SFs
std::vector<std::unique_ptr<SFSet> > TestMuonSF::MuonSFBranches::m_SFs {} |
|
private |
◆ m_tree
TTree* MuonVal::MuonTesterBranch::m_tree {nullptr} |
|
privateinherited |
◆ m_uncorrelate_sys
bool TestMuonSF::MuonSFBranches::m_uncorrelate_sys {false} |
|
private |
The documentation for this class was generated from the following files:
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.