ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
MuonValR4::SimHitTester Class Reference

#include <SimHitTester.h>

Inheritance diagram for MuonValR4::SimHitTester:
Collaboration diagram for MuonValR4::SimHitTester:

Public Types

using DataDependency = SG::VarHandleKey *
 

Public Member Functions

 SimHitTester (MuonTesterTree &tree, const std::string &inContainer, const ActsTrk::DetectorType detType, MSG::Level msgLvl=MSG::Level::INFO)
 
bool declare_keys () override final
 
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...
 
unsigned push_back (const xAOD::MuonSimHit &hit)
 
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...
 
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

const Muon::IMuonIdHelperSvcidHelperSvc () const
 
const MuonGMR4::MuonDetectorManagergetDetMgr () const
 
const ActsGeometryContextgetGeoCtx (const EventContext &ctx) const
 
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...
 
MuonTesterTreeparent ()
 Returns the reference to the MuonTesterTree parent. More...
 

Private Member Functions

unsigned int fillHit (const EventContext &ctx, const xAOD::MuonSimHit &hit)
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

SG::ReadHandleKey< xAOD::MuonSimHitContainerm_key {}
 Key of the SimHit container in the StoreGate. More...
 
std::string m_collName {}
 Name of the SimHit collection in the output tree. More...
 
ThreeVectorBranch m_globPos {parent(), m_collName+"GlobPos"}
 Global position of the SimHits. More...
 
ThreeVectorBranch m_globDir {parent(), m_collName+"GlobDir"}
 Global direction of the traversing particle generating the hit. More...
 
ThreeVectorBranch m_locPos {parent(), m_collName+"LocalPos"}
 Local position of the produced simHit. More...
 
ThreeVectorBranch m_locDir {parent(), m_collName+"LocalDir"}
 Local direction of the traversing particle generating the hit. More...
 
VectorBranch< float > & m_globTime {parent().newVector<float>(m_collName+"GlobalTime")}
 Global time when the simHit was produced. More...
 
VectorBranch< float > & m_beta {parent().newVector<float>(m_collName+"Beta")}
 Velocity of the simHit expressed in terms of beta. More...
 
VectorBranch< int > & m_pdgId {parent().newVector<int>(m_collName+"PdgId")}
 PdgId of the particle generating the hit. More...
 
VectorBranch< float > & m_energyDep {parent().newVector<float>(m_collName+"EnergyDeposit")}
 Energy deposited in the volume. More...
 
VectorBranch< float > & m_kinE {parent().newVector<float>(m_collName+"KinericEnergy")}
 Kinetic energy of the traversing particle. More...
 
VectorBranch< float > & m_mass {parent().newVector<float>(m_collName+"Mass")}
 Mass of the traversing particle. More...
 
std::shared_ptr< MuonIdentifierBranchm_identifier {}
 Pointer to the Identifier branch. More...
 
std::unordered_map< const xAOD::MuonSimHit *, unsigned int > m_idxLookUp {}
 look up table of alrady dumped sim hits More...
 
const MuonGMR4::MuonDetectorManagerm_detMgr {}
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", name()}
 
SG::ReadHandleKey< ActsGeometryContextm_geoCtxKey {"ActsAlignment"}
 
TTree * m_tree {nullptr}
 
MuonTesterTreem_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 11 of file SimHitTester.h.

Member Typedef Documentation

◆ DataDependency

Definition at line 39 of file IMuonTesterBranch.h.

Constructor & Destructor Documentation

◆ SimHitTester()

MuonValR4::SimHitTester::SimHitTester ( MuonTesterTree tree,
const std::string &  inContainer,
const ActsTrk::DetectorType  detType,
MSG::Level  msgLvl = MSG::Level::INFO 
)

Definition at line 8 of file SimHitTester.cxx.

11  :
12  TesterModuleBase{tree, inContainer, msgLvl},
13  m_key{inContainer},
14  m_collName{ActsTrk::to_string(detType)+"SimHits"} {
15  switch (detType) {
17  m_identifier = std::make_shared<MdtIdentifierBranch>(tree, m_collName);
18  break;
20  m_identifier = std::make_shared<RpcIdentifierBranch>(tree, m_collName);
21  break;
23  m_identifier = std::make_shared<TgcIdentifierBranch>(tree, m_collName);
24  break;
26  m_identifier = std::make_shared<sTgcIdentifierBranch>(tree, m_collName);
27  break;
29  m_identifier = std::make_shared<MmIdentifierBranch>(tree, m_collName);
30  break;
31  default:
32  ATH_MSG_WARNING("Unsupported detector type "<<ActsTrk::to_string(detType));
33  };
34 
35  }

Member Function Documentation

◆ 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

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.

◆ declare_keys()

bool MuonValR4::SimHitTester::declare_keys ( )
finaloverridevirtual

Implements MuonValR4::TesterModuleBase.

Definition at line 36 of file SimHitTester.cxx.

36  {
38  }

◆ 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 MuonValR4::SimHitTester::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 39 of file SimHitTester.cxx.

39  {
40 
41  SG::ReadHandle inContainer{m_key, ctx};
42  if (!inContainer.isPresent()) {
43  ATH_MSG_FATAL("Failed to retrieve "<<m_key.fullKey());
44  return false;
45  }
46 
47  for (const xAOD::MuonSimHit* simHit : *inContainer) {
48  fillHit(ctx, *simHit);
49  }
50  m_idxLookUp.clear();
51  return true;
52  }

◆ fillHit()

unsigned int MuonValR4::SimHitTester::fillHit ( const EventContext &  ctx,
const xAOD::MuonSimHit hit 
)
private

Definition at line 56 of file SimHitTester.cxx.

57  {
58 
59  const auto insertItr = m_idxLookUp.insert(std::make_pair(&simHit, m_idxLookUp.size()));
60  if (!insertItr.second) {
61  return insertItr.first->second;
62  }
63  const ActsGeometryContext& gctx{getGeoCtx(ctx)};
64 
65  const MuonGMR4::MuonDetectorManager* detMgr = getDetMgr();
66 
67  const Identifier id = simHit.identify();
68  ATH_MSG_VERBOSE("Filling information for "<<idHelperSvc()->toString(id));
69 
71 
72  const IdentifierHash trfHash{idHelperSvc()->isMdt(id) ? re->measurementHash(id)
73  : re->layerHash(id)};
74 
75  const Amg::Vector3D locPos{xAOD::toEigen(simHit.localPosition())};
76  const Amg::Vector3D locDir{xAOD::toEigen(simHit.localDirection())};
77 
78  const Amg::Transform3D& locToGlobal{re->localToGlobalTrans(gctx, trfHash)};
79  m_globPos.push_back(locToGlobal*locPos);
80  m_globDir.push_back(Amg::Vector3D(locToGlobal.linear()* locDir));
81  m_locPos.push_back(locPos);
83  m_globTime.push_back(simHit.globalTime());
84  m_beta.push_back(simHit.beta());
85  m_pdgId.push_back(simHit.pdgId());
86  m_energyDep.push_back(simHit.energyDeposit());
87  m_kinE.push_back(simHit.kineticEnergy());
88  m_mass.push_back(simHit.mass());
89  m_identifier->push_back(id);
90 
91  return insertItr.first->second;
92  }

◆ getDetMgr()

const MuonGMR4::MuonDetectorManager * MuonValR4::TesterModuleBase::getDetMgr ( ) const
protectedinherited

Definition at line 19 of file TesterModuleBase.cxx.

19  {
20  return m_detMgr;
21  }

◆ getGeoCtx()

const ActsGeometryContext & MuonValR4::TesterModuleBase::getGeoCtx ( const EventContext &  ctx) const
protectedinherited

Definition at line 22 of file TesterModuleBase.cxx.

22  {
23  SG::ReadHandle handle{m_geoCtxKey, ctx};
24  if (!handle.isValid()) {
25  THROW_EXCEPTION("Failed to retrieve "<<m_geoCtxKey.fullKey());
26  }
27  return *handle;
28  }

◆ idHelperSvc()

const Muon::IMuonIdHelperSvc * MuonValR4::TesterModuleBase::idHelperSvc ( ) const
protectedinherited

Definition at line 18 of file TesterModuleBase.cxx.

18 { return m_idHelperSvc.get(); }

◆ init()

bool MuonValR4::TesterModuleBase::init ( )
finaloverridevirtualinherited

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 30 of file TesterModuleBase.cxx.

30  {
31  ServiceHandle<StoreGateSvc> detStore{"StoreGateSvc/DetectorStore", name()};
32  if (!detStore.retrieve().isSuccess() || !detStore->retrieve(m_detMgr).isSuccess()) return false;
33  if (!declare_dependency(m_geoCtxKey)) return false;
34  if (!m_idHelperSvc.retrieve().isSuccess()) return false;
35  return declare_keys();
36  }

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

◆ push_back()

unsigned MuonValR4::SimHitTester::push_back ( const xAOD::MuonSimHit hit)

Definition at line 53 of file SimHitTester.cxx.

53  {
54  return fillHit(Gaudi::Hive::currentContext(), hit);
55  }

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

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

VectorBranch<float>& MuonValR4::SimHitTester::m_beta {parent().newVector<float>(m_collName+"Beta")}
private

Velocity of the simHit expressed in terms of beta.

Definition at line 42 of file SimHitTester.h.

◆ m_collName

std::string MuonValR4::SimHitTester::m_collName {}
private

Name of the SimHit collection in the output tree.

Definition at line 30 of file SimHitTester.h.

◆ m_dependencies

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

Definition at line 62 of file MuonTesterBranch.h.

◆ m_detMgr

const MuonGMR4::MuonDetectorManager* MuonValR4::TesterModuleBase::m_detMgr {}
privateinherited

Definition at line 32 of file TesterModuleBase.h.

◆ m_energyDep

VectorBranch<float>& MuonValR4::SimHitTester::m_energyDep {parent().newVector<float>(m_collName+"EnergyDeposit")}
private

Energy deposited in the volume.

Definition at line 46 of file SimHitTester.h.

◆ m_geoCtxKey

SG::ReadHandleKey<ActsGeometryContext> MuonValR4::TesterModuleBase::m_geoCtxKey {"ActsAlignment"}
privateinherited

Definition at line 34 of file TesterModuleBase.h.

◆ m_globDir

ThreeVectorBranch MuonValR4::SimHitTester::m_globDir {parent(), m_collName+"GlobDir"}
private

Global direction of the traversing particle generating the hit.

Definition at line 34 of file SimHitTester.h.

◆ m_globPos

ThreeVectorBranch MuonValR4::SimHitTester::m_globPos {parent(), m_collName+"GlobPos"}
private

Global position of the SimHits.

Definition at line 32 of file SimHitTester.h.

◆ m_globTime

VectorBranch<float>& MuonValR4::SimHitTester::m_globTime {parent().newVector<float>(m_collName+"GlobalTime")}
private

Global time when the simHit was produced.

Definition at line 40 of file SimHitTester.h.

◆ m_identifier

std::shared_ptr<MuonIdentifierBranch> MuonValR4::SimHitTester::m_identifier {}
private

Pointer to the Identifier branch.

Definition at line 52 of file SimHitTester.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MuonValR4::TesterModuleBase::m_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", name()}
privateinherited

Definition at line 33 of file TesterModuleBase.h.

◆ m_idxLookUp

std::unordered_map<const xAOD::MuonSimHit*, unsigned int> MuonValR4::SimHitTester::m_idxLookUp {}
private

look up table of alrady dumped sim hits

Definition at line 55 of file SimHitTester.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_key

SG::ReadHandleKey<xAOD::MuonSimHitContainer> MuonValR4::SimHitTester::m_key {}
private

Key of the SimHit container in the StoreGate.

Definition at line 28 of file SimHitTester.h.

◆ m_kinE

VectorBranch<float>& MuonValR4::SimHitTester::m_kinE {parent().newVector<float>(m_collName+"KinericEnergy")}
private

Kinetic energy of the traversing particle.

Definition at line 48 of file SimHitTester.h.

◆ m_locDir

ThreeVectorBranch MuonValR4::SimHitTester::m_locDir {parent(), m_collName+"LocalDir"}
private

Local direction of the traversing particle generating the hit.

Definition at line 38 of file SimHitTester.h.

◆ m_locPos

ThreeVectorBranch MuonValR4::SimHitTester::m_locPos {parent(), m_collName+"LocalPos"}
private

Local position of the produced simHit.

Definition at line 36 of file SimHitTester.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_mass

VectorBranch<float>& MuonValR4::SimHitTester::m_mass {parent().newVector<float>(m_collName+"Mass")}
private

Mass of the traversing particle.

Definition at line 50 of file SimHitTester.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_parent

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

Definition at line 59 of file MuonTesterBranch.h.

◆ m_pdgId

VectorBranch<int>& MuonValR4::SimHitTester::m_pdgId {parent().newVector<int>(m_collName+"PdgId")}
private

PdgId of the particle generating the hit.

Definition at line 44 of file SimHitTester.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
MuonValR4::SimHitTester::m_globDir
ThreeVectorBranch m_globDir
Global direction of the traversing particle generating the hit.
Definition: SimHitTester.h:34
xAOD::MuonSimHit_v1
Definition: MuonSimHit_v1.h:18
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
MuonValR4::SimHitTester::m_kinE
VectorBranch< float > & m_kinE
Kinetic energy of the traversing particle.
Definition: SimHitTester.h:48
MuonGMR4::MuonDetectorManager
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonDetectorManager.h:62
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
MuonValR4::SimHitTester::fillHit
unsigned int fillHit(const EventContext &ctx, const xAOD::MuonSimHit &hit)
Definition: SimHitTester.cxx:56
MuonVal::MuonTesterBranch::m_dependencies
std::vector< DataDependency > m_dependencies
Definition: MuonTesterBranch.h:62
MuonValR4::SimHitTester::m_energyDep
VectorBranch< float > & m_energyDep
Energy deposited in the volume.
Definition: SimHitTester.h:46
MuonValR4::SimHitTester::m_identifier
std::shared_ptr< MuonIdentifierBranch > m_identifier
Pointer to the Identifier branch.
Definition: SimHitTester.h:52
ActsTrk::DetectorType::Tgc
@ Tgc
Resitive Plate Chambers.
MuonVal::MuonTesterBranch::m_tree
TTree * m_tree
Definition: MuonTesterBranch.h:58
MuonGMR4::MuonReadoutElement
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
Definition: MuonPhaseII/MuonDetDescr/MuonReadoutGeometryR4/MuonReadoutGeometryR4/MuonReadoutElement.h:38
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
ActsTrk::DetectorType::sTgc
@ sTgc
Micromegas (NSW)
MuonValR4::TesterModuleBase::TesterModuleBase
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
Definition: TesterModuleBase.cxx:11
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
MuonValR4::SimHitTester::m_mass
VectorBranch< float > & m_mass
Mass of the traversing particle.
Definition: SimHitTester.h:50
MuonValR4::SimHitTester::m_locDir
ThreeVectorBranch m_locDir
Local direction of the traversing particle generating the hit.
Definition: SimHitTester.h:38
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
MuonValR4::TesterModuleBase::m_detMgr
const MuonGMR4::MuonDetectorManager * m_detMgr
Definition: TesterModuleBase.h:32
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition: MuonTesterBranch.cxx:53
MuonVal::MuonTesterBranch::m_parent
MuonTesterTree * m_parent
Definition: MuonTesterBranch.h:59
MuonValR4::SimHitTester::m_idxLookUp
std::unordered_map< const xAOD::MuonSimHit *, unsigned int > m_idxLookUp
look up table of alrady dumped sim hits
Definition: SimHitTester.h:55
MuonVal::MuonTesterBranch::declare_dependency
bool declare_dependency(Key &key)
Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm.
MuonValR4::SimHitTester::m_collName
std::string m_collName
Name of the SimHit collection in the output tree.
Definition: SimHitTester.h:30
MuonValR4::TesterModuleBase::getGeoCtx
const ActsGeometryContext & getGeoCtx(const EventContext &ctx) const
Definition: TesterModuleBase.cxx:22
MuonVal::ThreeVectorBranch::push_back
void push_back(const Amg::Vector3D &vec)
interface using the Amg::Vector3D
Definition: ThreeVectorBranch.cxx:23
Amg::toString
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
Definition: GeoPrimitivesToStringConverter.h:40
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition: AthMessaging.h:151
ActsTrk::DetectorType::Mm
@ Mm
Maybe not needed in the migration.
MuonValR4::SimHitTester::m_beta
VectorBranch< float > & m_beta
Velocity of the simHit expressed in terms of beta.
Definition: SimHitTester.h:42
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
MuonValR4::TesterModuleBase::idHelperSvc
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Definition: TesterModuleBase.cxx:18
MuonVal::MuonTesterBranch::m_init
bool m_init
Definition: MuonTesterBranch.h:61
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
ActsGeometryContext
Include the GeoPrimitives which need to be put first.
Definition: ActsGeometryContext.h:27
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.
Muon::IMuonIdHelperSvc::isMdt
virtual bool isMdt(const Identifier &id) const =0
returns whether this is a MDT Identifier or not
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
ActsTrk::DetectorType::Mdt
@ Mdt
MuonSpectrometer.
MuonValR4::SimHitTester::m_locPos
ThreeVectorBranch m_locPos
Local position of the produced simHit.
Definition: SimHitTester.h:36
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
MuonValR4::SimHitTester::m_globPos
ThreeVectorBranch m_globPos
Global position of the SimHits.
Definition: SimHitTester.h:32
MuonValR4::SimHitTester::m_pdgId
VectorBranch< int > & m_pdgId
PdgId of the particle generating the hit.
Definition: SimHitTester.h:44
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
THROW_EXCEPTION
#define THROW_EXCEPTION(MESSAGE)
Definition: throwExcept.h:10
python.copyTCTOutput.locDir
locDir
Definition: copyTCTOutput.py:112
MuonValR4::TesterModuleBase::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Definition: TesterModuleBase.h:34
MuonVal::MuonTesterBranch::parent
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
Definition: MuonTesterBranch.cxx:38
MuonVal::MuonTesterBranch::m_name
std::string m_name
Definition: MuonTesterBranch.h:60
MuonValR4::TesterModuleBase::getDetMgr
const MuonGMR4::MuonDetectorManager * getDetMgr() const
Definition: TesterModuleBase.cxx:19
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
re
const boost::regex re(r_e)
MuonValR4::TesterModuleBase::declare_keys
virtual bool declare_keys()=0
ActsTrk::DetectorType::Rpc
@ Rpc
Monitored Drift Tubes.
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
MuonValR4::SimHitTester::m_globTime
VectorBranch< float > & m_globTime
Global time when the simHit was produced.
Definition: SimHitTester.h:40
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
MuonValR4::TesterModuleBase::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: TesterModuleBase.h:33
MuonValR4::SimHitTester::m_key
SG::ReadHandleKey< xAOD::MuonSimHitContainer > m_key
Key of the SimHit container in the StoreGate.
Definition: SimHitTester.h:28
MuonVal::MuonTesterTree::addBranch
bool addBranch(std::shared_ptr< IMuonTesterBranch > branch)
Branch is added to the tree without transferring the ownership.
Definition: MuonTesterTree.cxx:61
ServiceHandle< StoreGateSvc >
MuonGMR4::MuonDetectorManager::getReadoutElement
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Returns a generic Muon readout element.
python.SystemOfUnits.ms
float ms
Definition: SystemOfUnits.py:148
Identifier
Definition: IdentifierFieldParser.cxx:14