ATLAS Offline Software
Loading...
Searching...
No Matches
CP::IsoCorrectionTestHelper Class Reference

#include <TestMacroHelpers.h>

Inheritance diagram for CP::IsoCorrectionTestHelper:
Collaboration diagram for CP::IsoCorrectionTestHelper:

Classes

struct  IsolationBranches

Public Types

using DataDependency = SG::VarHandleKey*

Public Member Functions

 IsoCorrectionTestHelper (MuonVal::MuonTesterTree &outTree, const std::string &ContainerName, const std::vector< std::unique_ptr< IsolationWP > > &WP)
StatusCode Fill (const xAOD::IParticleContainer *Particles)
void SetSelectionDecorator (const std::string &acc)
 Pipe the name of the decorator selecting the objects dumped to the TTree.
void SetIsolationDecorator (const std::string &acc)
 Pipe the name of te decorator encoding whether the object already passed the vanilla isolation.
void SetUpdatedIsoDecorator (const std::string &acc)
 Pipe the name of te decorator encoding whether the object already passed the corrected isolation.
void SetBackupPreFix (const std::string &prefix)
 Specify whether the vanilla isolation variable is backuped to another set of decorators.
void SetClusters (const ClusterSet &clusters)
 set the list of all clusters from the Cluster container matched by the IsolationCloseByCorrectionTool... A bit awkward path, but otherwise we do not get consistency in the validation plots
void SetFlowElements (const PflowSet &flows)
bool init () override final
 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.
bool fill (const EventContext &ctx) override final
 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.
std::string name () const override final
 Returns the name of the branch.
bool initialized () const
 Returns whether the object has been initialized or not The outcome of the variable is bound to a successful call of the addToTree method.
TTree * tree () override final
 Returns the underlying TTree object.
const TTree * tree () const override final
std::vector< DataDependencydata_dependencies () override final
 Returns the data dependencies needed by the MuonTesterBranch.
bool msgLvl (const MSG::Level lvl) const
 Test the output level.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.
void setLevel (MSG::Level lvl)
 Change the current logging level.

Static Public Member Functions

static std::string eraseWhiteSpaces (const std::string &In)

Protected Member Functions

template<class T>
bool addToTree (T &variable)
 Connects the Memory buffer with the TTree.
template<class Key>
bool declare_dependency (Key &key)
 Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm.
MuonTesterTree & parent ()
 Returns the reference to the MuonTesterTree parent.

Private Member Functions

float Charge (const xAOD::IParticle *P) const
StatusCode FillIsolationBranches (const xAOD::IParticle *P, const IsoHelperPtr &Acc, MuonVal::VectorBranch< float > &Original, MuonVal::VectorBranch< float > &Corrected)
void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

std::string m_cont_name {}
MuonVal::VectorBranch< float > & m_pt {parent().newVector<float>(m_cont_name + "_pt")}
MuonVal::VectorBranch< float > & m_eta {parent().newVector<float>(m_cont_name + "_eta")}
MuonVal::VectorBranch< float > & m_phi {parent().newVector<float>(m_cont_name + "_ phi")}
MuonVal::VectorBranch< float > & m_e {parent().newVector<float>(m_cont_name + "_e")}
MuonVal::VectorBranch< int > & m_Q {parent().newVector<int>(m_cont_name + "_Q")}
MuonVal::VectorBranch< bool > & m_orig_passIso {parent().newVector<bool>(m_cont_name + "_OrigPassIso")}
MuonVal::VectorBranch< bool > & m_corr_passIso {parent().newVector<bool>(m_cont_name + "_CorrPassIso")}
MuonVal::VectorBranch< float > & m_assoc_track_pt {parent().newVector<float>(m_cont_name + "_trackPt")}
MuonVal::VectorBranch< float > & m_assoc_cluster_et {parent().newVector<float>(m_cont_name + "_clusterEt")}
MuonVal::VectorBranch< float > & m_assoc_cluster_eta {parent().newVector<float>(m_cont_name + "_clusterEta")}
MuonVal::VectorBranch< float > & m_assoc_cluster_phi {parent().newVector<float>(m_cont_name + "_clusterPhi")}
MuonVal::VectorBranch< float > & m_assoc_pflow_et {parent().newVector<float>(m_cont_name + "_pflowEt")}
MuonVal::VectorBranch< float > & m_assoc_pflow_eta {parent().newVector<float>(m_cont_name + "_pflowEta")}
MuonVal::VectorBranch< float > & m_assoc_pflow_phi {parent().newVector<float>(m_cont_name + "_pflowPhi")}
std::vector< IsolationBranchesm_iso_branches
std::optional< CharAccessorm_acc_used_for_corr {std::nullopt}
std::optional< CharAccessorm_acc_passDefault {std::nullopt}
std::optional< CharAccessorm_acc_passCorrected {std::nullopt}
ClusterSet m_clusters {}
PflowSet m_flows {}
TTree * m_tree {nullptr}
MuonTesterTree * m_parent {nullptr}
std::string m_name {}
bool m_init {false}
std::vector< DataDependencym_dependencies {}
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels)
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging)

Detailed Description

Definition at line 18 of file TestMacroHelpers.h.

Member Typedef Documentation

◆ DataDependency

Constructor & Destructor Documentation

◆ IsoCorrectionTestHelper()

CP::IsoCorrectionTestHelper::IsoCorrectionTestHelper ( MuonVal::MuonTesterTree & outTree,
const std::string & ContainerName,
const std::vector< std::unique_ptr< IsolationWP > > & WP )

Definition at line 34 of file TestMacroHelpers.cxx.

35 :
36 MuonTesterBranch(outTree, ContainerName),
38 // Retrieve the isolaiton accessors directly from the WP
39 for (const std::unique_ptr<IsolationWP>& W : WPs) {
40 for (const auto& C : W->conditions()) {
41 for (unsigned int t = 0; t < C->num_types(); ++t) {
42 const IsoType iso_type = C->type(t);
43 bool add = std::find_if(m_iso_branches.begin(), m_iso_branches.end(), [iso_type](const IsolationBranches& known) {
44 return known.Accessor->isotype() == iso_type;
45 }) == m_iso_branches.end();
46 if (add) m_iso_branches.emplace_back(*this, iso_type, "");
47 }
48 }
49 // Assume only 1 WP
50 break;
51 }
52 }
std::vector< IsolationBranches > m_iso_branches
MuonTesterBranch(MuonTesterTree &tree, const std::string &br_name)
bool add(const std::string &hname, TKey *tobj)
Definition fastadd.cxx:55
struct color C

Member Function Documentation

◆ addToTree()

template<class T>
bool MuonVal::MuonTesterBranch::addToTree ( T & variable)
protectedinherited

Connects the Memory buffer with the TTree.

◆ Charge()

float CP::IsoCorrectionTestHelper::Charge ( const xAOD::IParticle * P) const
private

Definition at line 159 of file TestMacroHelpers.cxx.

159 {
160 static const FloatAccessor acc_charge("charge");
161 if (!acc_charge.isAvailable(*P))
162 return 0;
163 else
164 return acc_charge(*P);
165 }
static Double_t P(Double_t *tt, Double_t *par)

◆ data_dependencies()

std::vector< MuonTesterBranch::DataDependency > MuonVal::MuonTesterBranch::data_dependencies ( )
finaloverridevirtualinherited

Returns the data dependencies needed by the MuonTesterBranch.

Implements MuonVal::IMuonTesterBranch.

Definition at line 61 of file MuonTesterBranch.cxx.

61{ return m_dependencies;}
std::vector< DataDependency > m_dependencies

◆ 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

Definition at line 56 of file MuonTesterBranch.cxx.

56 {
57 std::string out = In;
58 out.erase(std::remove_if(out.begin(), out.end(), isspace), out.end());
59 return out;
60}
DataModel_detail::iterator< DVL > remove_if(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, Predicate pred)
Specialization of remove_if for DataVector/List.

◆ Fill()

StatusCode CP::IsoCorrectionTestHelper::Fill ( const xAOD::IParticleContainer * Particles)

Fill the momenta of the associated tracks and clusters

Definition at line 69 of file TestMacroHelpers.cxx.

69 {
70 if (!Particles) {
71 Error("IsoCorrectionTestHelper::Fill()", "No particles given");
72 return StatusCode::FAILURE;
73 }
74
75 for (const xAOD::IParticle* object : *Particles) {
76 if (m_acc_used_for_corr != std::nullopt && (!(*m_acc_used_for_corr).isAvailable(*object) || !(*m_acc_used_for_corr)(*object)))
77 continue;
78 m_pt.push_back(object->pt());
79 m_eta.push_back(object->eta());
80 m_phi.push_back(object->phi());
81 m_e.push_back(object->e());
82 m_Q.push_back(Charge(object));
83 for (IsolationBranches& branch : m_iso_branches) {
84 if (!FillIsolationBranches(object, branch.Accessor, branch.original_cones, branch.corrected_cones).isSuccess()) {
85 Error("IsoCorrectionTestHelper()", "Failed to fill isolation");
86 return StatusCode::FAILURE;
87 }
88 }
89 if (m_acc_passDefault != std::nullopt && !(*m_acc_passDefault).isAvailable(*object)) {
90 Error("IsoCorrectionTestHelper()", "It has not been stored whether the particle passes the default isolation");
91 return StatusCode::FAILURE;
92 } else
93 m_orig_passIso.push_back(m_acc_passDefault != std::nullopt ? (*m_acc_passDefault)(*object) : false);
94
95 if (m_acc_passCorrected != std::nullopt && !(*m_acc_passCorrected).isAvailable(*object)) {
96 Error("IsoCorrectionTestHelper()", "It has not been stored whether the particle passes the corrected isolation.");
97 return StatusCode::FAILURE;
98 } else
99 m_corr_passIso.push_back(m_acc_passCorrected != std::nullopt ? (*m_acc_passCorrected)(*object) : false);
101 if (object->type() != xAOD::Type::ObjectType::Electron && object->type() != xAOD::Type::ObjectType::Muon) continue;
102
103 const xAOD::TrackParticle* assoc_track = nullptr;
104 CaloClusterPtr assoc_cluster{};
105 FlowElementPtr assoc_flow{};
106 if (object->type() == xAOD::Type::ObjectType::Muon) {
107 const xAOD::Muon* mu = dynamic_cast<const xAOD::Muon*>(object);
108 assoc_track = mu->trackParticle(xAOD::Muon::TrackParticleType::InnerDetectorTrackParticle);
109 if (m_clusters.empty())
110 assoc_cluster = mu->cluster();
111 else {
112 assoc_cluster = (*std::min_element(m_clusters.begin(), m_clusters.end(),[mu](const CaloClusterPtr& a, const
113 CaloClusterPtr& b){
114 return xAOD::P4Helpers::deltaR2(a, mu) < xAOD::P4Helpers::deltaR2(b, mu);
115 }));
116 }
117 } else if (object->type() == xAOD::Type::ObjectType::Electron) {
118 const xAOD::Electron* el = dynamic_cast<const xAOD::Electron*>(object);
120 assoc_cluster = el->caloCluster(0);
121 }
122 if (!m_flows.empty()) {
123 assoc_flow = (*std::min_element(m_flows.begin(), m_flows.end(),[object](const FlowElementPtr& a, const
124 FlowElementPtr& b){
125 return xAOD::P4Helpers::deltaR2(a, object) < xAOD::P4Helpers::deltaR2(b, object);
126 }));
127 }
128 m_assoc_track_pt.push_back(assoc_track ? assoc_track->pt() : FLT_MAX);
129
130 if (acc_assocCaloIsDec.isAvailable(*object) && acc_assocCaloIsDec(*object)) {
131 m_assoc_cluster_et.push_back(acc_assocClustEne(*object));
132 m_assoc_cluster_eta.push_back(acc_assocClustEta(*object));
133 m_assoc_cluster_phi.push_back(acc_assocClustPhi(*object));
134 } else if (assoc_cluster) {
136 m_assoc_cluster_eta.push_back(assoc_cluster->eta());
137 m_assoc_cluster_phi.push_back(assoc_cluster->phi());
138 } else {
139 m_assoc_cluster_et += FLT_MAX;
140 m_assoc_cluster_eta += FLT_MAX;
141 m_assoc_cluster_phi += FLT_MAX;
142 }
143 if (acc_assocPflowIsDec.isAvailable(*object) && acc_assocPflowIsDec(*object)) {
144 m_assoc_pflow_et.push_back( acc_assocPflowEne(*object));
145 m_assoc_pflow_eta.push_back(acc_assocPflowEta(*object));
146 m_assoc_pflow_phi.push_back(acc_assocPflowPhi(*object));
147 } else if (assoc_flow) {
148 m_assoc_pflow_et.push_back(assoc_flow->e() * assoc_flow.weight);
149 m_assoc_pflow_eta.push_back(assoc_flow->eta());
150 m_assoc_pflow_phi.push_back(assoc_flow->phi());
151 } else {
152 m_assoc_pflow_et += FLT_MAX;
153 m_assoc_pflow_eta += FLT_MAX;
154 m_assoc_pflow_phi += FLT_MAX;
155 }
156 }
157 return StatusCode::SUCCESS;
158 }
static Double_t a
MuonVal::VectorBranch< float > & m_assoc_track_pt
MuonVal::VectorBranch< bool > & m_orig_passIso
MuonVal::VectorBranch< float > & m_assoc_pflow_phi
MuonVal::VectorBranch< float > & m_assoc_cluster_phi
MuonVal::VectorBranch< float > & m_e
MuonVal::VectorBranch< float > & m_assoc_pflow_eta
MuonVal::VectorBranch< int > & m_Q
MuonVal::VectorBranch< float > & m_assoc_cluster_eta
MuonVal::VectorBranch< float > & m_pt
std::optional< CharAccessor > m_acc_used_for_corr
MuonVal::VectorBranch< bool > & m_corr_passIso
MuonVal::VectorBranch< float > & m_phi
StatusCode FillIsolationBranches(const xAOD::IParticle *P, const IsoHelperPtr &Acc, MuonVal::VectorBranch< float > &Original, MuonVal::VectorBranch< float > &Corrected)
MuonVal::VectorBranch< float > & m_assoc_cluster_et
std::optional< CharAccessor > m_acc_passCorrected
MuonVal::VectorBranch< float > & m_eta
std::optional< CharAccessor > m_acc_passDefault
float Charge(const xAOD::IParticle *P) const
MuonVal::VectorBranch< float > & m_assoc_pflow_et
static float clusterEtMinusTile(const xAOD::CaloCluster *C)
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
virtual double pt() const override final
The transverse momentum ( ) of the particle.
static const FloatAccessor acc_assocClustPhi
static const FloatAccessor acc_assocClustEta
static const CharAccessor acc_assocPflowIsDec
static const FloatAccessor acc_assocPflowEta
static const CharAccessor acc_assocCaloIsDec
static const FloatAccessor acc_assocPflowPhi
static const FloatAccessor acc_assocClustEne
static const FloatAccessor acc_assocPflowEne
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition Error.h:16
@ Muon
The object is a muon.
Definition ObjectType.h:48
@ Electron
The object is an electron.
Definition ObjectType.h:46
const xAOD::TrackParticle * getOriginalTrackParticle(const xAOD::Electron *el)
Helper function for getting the "Original" Track Particle (i.e before GSF) via the electron.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Muon_v1 Muon
Reference the current persistent version:
Electron_v1 Electron
Definition of the current "egamma version".

◆ fill()

bool CP::IsoCorrectionTestHelper::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 32 of file TestMacroHelpers.cxx.

32{ return true; }

◆ FillIsolationBranches()

StatusCode CP::IsoCorrectionTestHelper::FillIsolationBranches ( const xAOD::IParticle * P,
const IsoHelperPtr & Acc,
MuonVal::VectorBranch< float > & Original,
MuonVal::VectorBranch< float > & Corrected )
private

Definition at line 167 of file TestMacroHelpers.cxx.

168 {
169 if (!Acc) return StatusCode::SUCCESS;
170 float IsoValue{-1.};
171 if (Acc->getOriginalIsolation(P, IsoValue).code() != CorrectionCode::Ok) return StatusCode::FAILURE;
172 Original.push_back(IsoValue);
173 if (Acc->getIsolation(P, IsoValue).code() != CorrectionCode::Ok) return StatusCode::FAILURE;
174 Corrected.push_back(IsoValue);
175 return StatusCode::SUCCESS;
176 }
@ Ok
The correction was done successfully.
void push_back(const T &value)
Adds a new element at the end of the vector.

◆ init()

bool CP::IsoCorrectionTestHelper::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 31 of file TestMacroHelpers.cxx.

31{ return true; }

◆ 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.

40{
42 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)

◆ 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 163 of file AthMessaging.h.

164{
165 MsgStream* ms = m_msg_tls.get();
166 if (!ms) {
167 if (!m_initialized.test_and_set()) initMessaging();
168 ms = new MsgStream(m_imsg,m_nm);
169 m_msg_tls.reset( ms );
170 }
171
172 ms->setLevel (m_lvl);
173 return *ms;
174}
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
void initMessaging() const
Initialize our message level and MessageSvc.

◆ 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 178 of file AthMessaging.h.

179{ return msg() << lvl; }
MsgStream & msg() const
The standard message stream.

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152{
153 if (m_lvl <= lvl) {
154 msg() << lvl;
155 return true;
156 } else {
157 return false;
158 }
159}

◆ name()

std::string MuonVal::MuonTesterBranch::name ( ) const
finaloverridevirtualinherited

Returns the name of the branch.

Implements MuonVal::IMuonTesterBranch.

Definition at line 51 of file MuonTesterBranch.cxx.

51{ return m_name; }

◆ parent()

MuonTesterTree & MuonVal::MuonTesterBranch::parent ( )
protectedinherited

Returns the reference to the MuonTesterTree parent.

Definition at line 38 of file MuonTesterBranch.cxx.

38 {
39 if (!m_parent) {
40 ATH_MSG_WARNING("The parent of " << name() << " is null.");
41 }
42 return *m_parent;
43}
#define ATH_MSG_WARNING(x)
std::string name() const override final
Returns the name of the branch.

◆ SetBackupPreFix()

void CP::IsoCorrectionTestHelper::SetBackupPreFix ( const std::string & prefix)

Specify whether the vanilla isolation variable is backuped to another set of decorators.

Definition at line 63 of file TestMacroHelpers.cxx.

63 {
64 for (IsolationBranches& branch : m_iso_branches) {
65 branch.Accessor = std::make_unique<IsoVariableHelper>(branch.Accessor->isotype(), prefix);
66 }
67 }

◆ SetClusters()

void CP::IsoCorrectionTestHelper::SetClusters ( const ClusterSet & clusters)

set the list of all clusters from the Cluster container matched by the IsolationCloseByCorrectionTool... A bit awkward path, but otherwise we do not get consistency in the validation plots

Definition at line 53 of file TestMacroHelpers.cxx.

◆ SetFlowElements()

void CP::IsoCorrectionTestHelper::SetFlowElements ( const PflowSet & flows)

Definition at line 33 of file TestMacroHelpers.cxx.

33{m_flows = flows;}

◆ SetIsolationDecorator()

void CP::IsoCorrectionTestHelper::SetIsolationDecorator ( const std::string & acc)

Pipe the name of te decorator encoding whether the object already passed the vanilla isolation.

Definition at line 57 of file TestMacroHelpers.cxx.

57 {
58 m_acc_passDefault = std::make_optional<CharAccessor>(acc);
59 }
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29{
30 m_lvl = lvl;
31}

◆ SetSelectionDecorator()

void CP::IsoCorrectionTestHelper::SetSelectionDecorator ( const std::string & acc)

Pipe the name of the decorator selecting the objects dumped to the TTree.

Definition at line 54 of file TestMacroHelpers.cxx.

54 {
55 m_acc_used_for_corr = std::make_optional<CharAccessor>(acc);
56 }

◆ SetUpdatedIsoDecorator()

void CP::IsoCorrectionTestHelper::SetUpdatedIsoDecorator ( const std::string & acc)

Pipe the name of te decorator encoding whether the object already passed the corrected isolation.

Definition at line 60 of file TestMacroHelpers.cxx.

60 {
61 m_acc_passCorrected = std::make_optional<CharAccessor>(acc);
62 }

◆ tree() [1/2]

const TTree * MuonVal::MuonTesterBranch::tree ( ) const
finaloverridevirtualinherited

Implements MuonVal::IMuonTesterBranch.

Definition at line 54 of file MuonTesterBranch.cxx.

54{ return m_tree; }

◆ tree() [2/2]

TTree * MuonVal::MuonTesterBranch::tree ( )
finaloverridevirtualinherited

Returns the underlying TTree object.

Implements MuonVal::IMuonTesterBranch.

Definition at line 53 of file MuonTesterBranch.cxx.

53{ return m_tree; }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_acc_passCorrected

std::optional<CharAccessor> CP::IsoCorrectionTestHelper::m_acc_passCorrected {std::nullopt}
private

Definition at line 81 of file TestMacroHelpers.h.

81{std::nullopt};

◆ m_acc_passDefault

std::optional<CharAccessor> CP::IsoCorrectionTestHelper::m_acc_passDefault {std::nullopt}
private

Definition at line 80 of file TestMacroHelpers.h.

80{std::nullopt};

◆ m_acc_used_for_corr

std::optional<CharAccessor> CP::IsoCorrectionTestHelper::m_acc_used_for_corr {std::nullopt}
private

Definition at line 79 of file TestMacroHelpers.h.

79{std::nullopt};

◆ m_assoc_cluster_et

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_cluster_et {parent().newVector<float>(m_cont_name + "_clusterEt")}
private

Definition at line 61 of file TestMacroHelpers.h.

61{parent().newVector<float>(m_cont_name + "_clusterEt")};
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.

◆ m_assoc_cluster_eta

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_cluster_eta {parent().newVector<float>(m_cont_name + "_clusterEta")}
private

Definition at line 62 of file TestMacroHelpers.h.

62{parent().newVector<float>(m_cont_name + "_clusterEta")};

◆ m_assoc_cluster_phi

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_cluster_phi {parent().newVector<float>(m_cont_name + "_clusterPhi")}
private

Definition at line 63 of file TestMacroHelpers.h.

63{parent().newVector<float>(m_cont_name + "_clusterPhi")};

◆ m_assoc_pflow_et

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_pflow_et {parent().newVector<float>(m_cont_name + "_pflowEt")}
private

Definition at line 65 of file TestMacroHelpers.h.

65{parent().newVector<float>(m_cont_name + "_pflowEt")};

◆ m_assoc_pflow_eta

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_pflow_eta {parent().newVector<float>(m_cont_name + "_pflowEta")}
private

Definition at line 66 of file TestMacroHelpers.h.

66{parent().newVector<float>(m_cont_name + "_pflowEta")};

◆ m_assoc_pflow_phi

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_pflow_phi {parent().newVector<float>(m_cont_name + "_pflowPhi")}
private

Definition at line 67 of file TestMacroHelpers.h.

67{parent().newVector<float>(m_cont_name + "_pflowPhi")};

◆ m_assoc_track_pt

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_assoc_track_pt {parent().newVector<float>(m_cont_name + "_trackPt")}
private

Definition at line 59 of file TestMacroHelpers.h.

59{parent().newVector<float>(m_cont_name + "_trackPt")};

◆ m_clusters

ClusterSet CP::IsoCorrectionTestHelper::m_clusters {}
private

Definition at line 83 of file TestMacroHelpers.h.

83{};

◆ m_cont_name

std::string CP::IsoCorrectionTestHelper::m_cont_name {}
private

Definition at line 48 of file TestMacroHelpers.h.

48{};

◆ m_corr_passIso

MuonVal::VectorBranch<bool>& CP::IsoCorrectionTestHelper::m_corr_passIso {parent().newVector<bool>(m_cont_name + "_CorrPassIso")}
private

Definition at line 57 of file TestMacroHelpers.h.

57{parent().newVector<bool>(m_cont_name + "_CorrPassIso")};

◆ m_dependencies

std::vector<DataDependency> MuonVal::MuonTesterBranch::m_dependencies {}
privateinherited

Definition at line 62 of file MuonTesterBranch.h.

62{};

◆ m_e

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_e {parent().newVector<float>(m_cont_name + "_e")}
private

Definition at line 53 of file TestMacroHelpers.h.

53{parent().newVector<float>(m_cont_name + "_e")};

◆ m_eta

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_eta {parent().newVector<float>(m_cont_name + "_eta")}
private

Definition at line 51 of file TestMacroHelpers.h.

51{parent().newVector<float>(m_cont_name + "_eta")};

◆ m_flows

PflowSet CP::IsoCorrectionTestHelper::m_flows {}
private

Definition at line 84 of file TestMacroHelpers.h.

84{};

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ m_init

bool MuonVal::MuonTesterBranch::m_init {false}
privateinherited

Definition at line 61 of file MuonTesterBranch.h.

61{false};

◆ m_iso_branches

std::vector<IsolationBranches> CP::IsoCorrectionTestHelper::m_iso_branches
private

Definition at line 77 of file TestMacroHelpers.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

138{ MSG::NIL };

◆ 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

Definition at line 60 of file MuonTesterBranch.h.

60{};

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_orig_passIso

MuonVal::VectorBranch<bool>& CP::IsoCorrectionTestHelper::m_orig_passIso {parent().newVector<bool>(m_cont_name + "_OrigPassIso")}
private

Definition at line 56 of file TestMacroHelpers.h.

56{parent().newVector<bool>(m_cont_name + "_OrigPassIso")};

◆ m_parent

MuonTesterTree* MuonVal::MuonTesterBranch::m_parent {nullptr}
privateinherited

Definition at line 59 of file MuonTesterBranch.h.

59{nullptr};

◆ m_phi

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_phi {parent().newVector<float>(m_cont_name + "_ phi")}
private

Definition at line 52 of file TestMacroHelpers.h.

52{parent().newVector<float>(m_cont_name + "_ phi")};

◆ m_pt

MuonVal::VectorBranch<float>& CP::IsoCorrectionTestHelper::m_pt {parent().newVector<float>(m_cont_name + "_pt")}
private

Definition at line 50 of file TestMacroHelpers.h.

50{parent().newVector<float>(m_cont_name + "_pt")};

◆ m_Q

MuonVal::VectorBranch<int>& CP::IsoCorrectionTestHelper::m_Q {parent().newVector<int>(m_cont_name + "_Q")}
private

Definition at line 54 of file TestMacroHelpers.h.

54{parent().newVector<int>(m_cont_name + "_Q")};

◆ m_tree

TTree* MuonVal::MuonTesterBranch::m_tree {nullptr}
privateinherited

Definition at line 58 of file MuonTesterBranch.h.

58{nullptr};

The documentation for this class was generated from the following files: