ATLAS Offline Software
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
void SetIsolationDecorator (const std::string &acc)
 Pipe the name of te decorator encoding whether the object already passed the vanilla isolation. More...
 
void SetUpdatedIsoDecorator (const std::string &acc)
 Pipe the name of te decorator encoding whether the object already passed the corrected isolation. More...
 
void SetBackupPreFix (const std::string &prefix)
 Specify whether the vanilla isolation variable is backuped to another set of decorators. More...
 
void SetClusters (const ClusterSet &clusters)
 set the list of all clusters from the Cluster container matched by the IsolationCloseByCorrectionTool... More...
 
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. More...
 
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. More...
 
std::string name () const override final
 Returns the name of the branch. More...
 
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. More...
 
TTree * tree () override final
 Returns the underlying TTree object. More...
 
const TTree * tree () const override final
 
std::vector< DataDependencydata_dependencies () override final
 Returns the data dependencies needed by the MuonTesterBranch. More...
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

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. More...
 
template<class Key >
bool declare_dependency (Key &key)
 Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm. More...
 
MuonTesterTree & parent ()
 Returns the reference to the MuonTesterTree parent. More...
 

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

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. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

Definition at line 18 of file TestMacroHelpers.h.

Member Typedef Documentation

◆ DataDependency

Definition at line 39 of file IMuonTesterBranch.h.

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  :
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  }

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  }

◆ 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;}

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

◆ 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; }

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

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

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

52 { return m_init; }

◆ 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  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

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

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ 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
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_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

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

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

53 { m_clusters = clusters; }

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

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

◆ m_acc_passDefault

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

Definition at line 80 of file TestMacroHelpers.h.

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

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

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

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

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

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

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

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

◆ m_clusters

ClusterSet CP::IsoCorrectionTestHelper::m_clusters {}
private

Definition at line 83 of file TestMacroHelpers.h.

◆ m_cont_name

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

Definition at line 48 of file TestMacroHelpers.h.

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

◆ m_dependencies

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

Definition at line 62 of file MuonTesterBranch.h.

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

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

◆ m_flows

PflowSet CP::IsoCorrectionTestHelper::m_flows {}
private

Definition at line 84 of file TestMacroHelpers.h.

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_init

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

Definition at line 61 of file MuonTesterBranch.h.

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

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

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

◆ m_parent

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

Definition at line 59 of file MuonTesterBranch.h.

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

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

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

◆ m_tree

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

Definition at line 58 of file MuonTesterBranch.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
CP::IsoCorrectionTestHelper::m_assoc_pflow_eta
MuonVal::VectorBranch< float > & m_assoc_pflow_eta
Definition: TestMacroHelpers.h:66
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
CP::IsoCorrectionTestHelper::FillIsolationBranches
StatusCode FillIsolationBranches(const xAOD::IParticle *P, const IsoHelperPtr &Acc, MuonVal::VectorBranch< float > &Original, MuonVal::VectorBranch< float > &Corrected)
Definition: TestMacroHelpers.cxx:167
CP::IsoCorrectionTestHelper::m_assoc_pflow_phi
MuonVal::VectorBranch< float > & m_assoc_pflow_phi
Definition: TestMacroHelpers.h:67
JetTiledMap::W
@ W
Definition: TiledEtaPhiMap.h:44
DMTest::C
C_v1 C
Definition: C.h:26
MuonVal::MuonTesterBranch::m_dependencies
std::vector< DataDependency > m_dependencies
Definition: MuonTesterBranch.h:62
CP::IsoCorrectionTestHelper::m_Q
MuonVal::VectorBranch< int > & m_Q
Definition: TestMacroHelpers.h:54
MuonVal::MuonTesterBranch::m_tree
TTree * m_tree
Definition: MuonTesterBranch.h:58
CP::IsoCorrectionTestHelper::m_corr_passIso
MuonVal::VectorBranch< bool > & m_corr_passIso
Definition: TestMacroHelpers.h:57
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
CP::IsolationCloseByCorrectionTool::clusterEtMinusTile
static float clusterEtMinusTile(const xAOD::CaloCluster *C)
Definition: IsolationCloseByCorrectionTool.cxx:975
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
CP::IsoCorrectionTestHelper::m_assoc_track_pt
MuonVal::VectorBranch< float > & m_assoc_track_pt
Definition: TestMacroHelpers.h:59
MuonVal::MuonTesterBranch::MuonTesterBranch
MuonTesterBranch(MuonTesterTree &tree, const std::string &br_name)
Definition: MuonTesterBranch.cxx:33
CP::IsoType
xAOD::Iso::IsolationType IsoType
Definition: PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h:36
CP::IsoCorrectionTestHelper::m_flows
PflowSet m_flows
Definition: TestMacroHelpers.h:84
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
CP::CaloClusterPtr
SortedObjPtr< xAOD::CaloCluster > CaloClusterPtr
Definition: PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h:69
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
MuonVal::MuonTesterBranch::m_parent
MuonTesterTree * m_parent
Definition: MuonTesterBranch.h:59
CP::IsoCorrectionTestHelper::m_assoc_cluster_et
MuonVal::VectorBranch< float > & m_assoc_cluster_et
Definition: TestMacroHelpers.h:61
CP::IsoCorrectionTestHelper::m_phi
MuonVal::VectorBranch< float > & m_phi
Definition: TestMacroHelpers.h:52
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
CP::IsoCorrectionTestHelper::Charge
float Charge(const xAOD::IParticle *P) const
Definition: TestMacroHelpers.cxx:159
CP::IsoCorrectionTestHelper::m_clusters
ClusterSet m_clusters
Definition: TestMacroHelpers.h:83
CP::IsoCorrectionTestHelper::m_assoc_cluster_phi
MuonVal::VectorBranch< float > & m_assoc_cluster_phi
Definition: TestMacroHelpers.h:63
CP::IsoCorrectionTestHelper::m_cont_name
std::string m_cont_name
Definition: TestMacroHelpers.h:48
makePlot.Particles
Particles
Definition: makePlot.py:25
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
CP::IsoCorrectionTestHelper::m_pt
MuonVal::VectorBranch< float > & m_pt
Definition: TestMacroHelpers.h:50
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
CP::IsoCorrectionTestHelper::m_assoc_pflow_et
MuonVal::VectorBranch< float > & m_assoc_pflow_et
Definition: TestMacroHelpers.h:65
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
add
bool add(const std::string &hname, TKey *tobj)
Definition: fastadd.cxx:55
CP::IsoCorrectionTestHelper::m_assoc_cluster_eta
MuonVal::VectorBranch< float > & m_assoc_cluster_eta
Definition: TestMacroHelpers.h:62
MuonVal::MuonTesterBranch::m_init
bool m_init
Definition: MuonTesterBranch.h:61
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
MuonVal::MuonTesterBranch::name
std::string name() const override final
Returns the name of the branch.
Definition: MuonTesterBranch.cxx:51
MuonVal::VectorBranch::push_back
void push_back(const T &value)
Adds a new element at the end of the vector.
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
CP::IsoCorrectionTestHelper::m_iso_branches
std::vector< IsolationBranches > m_iso_branches
Definition: TestMacroHelpers.h:77
xAOD::Electron_v1
Definition: Electron_v1.h:34
CP::IsoCorrectionTestHelper::m_e
MuonVal::VectorBranch< float > & m_e
Definition: TestMacroHelpers.h:53
Muon
struct TBPatternUnitContext Muon
RTTAlgmain.branch
branch
Definition: RTTAlgmain.py:61
CP::CorrectionCode::Ok
@ Ok
The correction was done successfully.
Definition: CorrectionCode.h:38
MuonVal::MuonTesterBranch::m_name
std::string m_name
Definition: MuonTesterBranch.h:60
a
TList * a
Definition: liststreamerinfos.cxx:10
CP::IsoCorrectionTestHelper::m_acc_used_for_corr
std::optional< CharAccessor > m_acc_used_for_corr
Definition: TestMacroHelpers.h:79
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
known
Definition: TrigBStoxAODTool.cxx:107
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
HLTSeedingRoIToolDefs::eFexEM::ContainerName
const char ContainerName[]
Definition: HLTSeedingRoIToolDefs.cxx:9
CP::IsoCorrectionTestHelper::m_eta
MuonVal::VectorBranch< float > & m_eta
Definition: TestMacroHelpers.h:51
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
CP::FloatAccessor
SG::AuxElement::ConstAccessor< float > FloatAccessor
Definition: PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h:21
xAOD::EgammaHelpers::getOriginalTrackParticle
const xAOD::TrackParticle * getOriginalTrackParticle(const xAOD::Electron *el)
Helper function for getting the "Original" Track Particle (i.e before GSF) via the electron.
Definition: ElectronxAODHelpers.cxx:11
SG::ConstAccessor::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
pickleTool.object
object
Definition: pickleTool.py:30
L1Topo::Error
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition: Error.h:16
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
CP::IsoCorrectionTestHelper::m_acc_passCorrected
std::optional< CharAccessor > m_acc_passCorrected
Definition: TestMacroHelpers.h:81
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
CheckAppliedSFs.WPs
WPs
Definition: CheckAppliedSFs.py:206
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
CP::IsoCorrectionTestHelper::m_acc_passDefault
std::optional< CharAccessor > m_acc_passDefault
Definition: TestMacroHelpers.h:80
CP::IsoCorrectionTestHelper::m_orig_passIso
MuonVal::VectorBranch< bool > & m_orig_passIso
Definition: TestMacroHelpers.h:56