|
ATLAS Offline Software
|
Go to the documentation of this file.
17 if (!MuonDetMgr) {
return false; }
20 if (!mdtContainer.isValid()) {
27 unsigned int numHits{0};
28 for (
const MDTSimHit& hit : *mdtContainer) {
29 HitID hitid = hit.MDTid();
41 ATH_MSG_WARNING(
"Cannot build a valid Identifier for MDT stationName=" << stname <<
", eta=" << steta <<
", phi=" << stphi
42 <<
", multiLayer=" << ml <<
", tubeLayer=" <<
tl
43 <<
", tube=" <<
tube <<
"; skipping...");
49 ATH_MSG_ERROR(
"MDTSimHitVariables::fillVariables() - Failed to retrieve MdtReadoutElement for "
73 pdgId = genP->pdg_id();
76 ATH_MSG_WARNING(
"GenParticle is nullptr for hit in " << stname <<
" (eta=" << steta <<
", phi=" << stphi <<
", ml="
77 << ml <<
", tubelayer=" <<
tl <<
", tube=" <<
tube <<
")");
83 <<
"HepMcParticleLink with barcode=" <<
barcode <<
" is not valid for hit in " << stname <<
" (eta=" << steta
84 <<
", phi=" << stphi <<
", ml=" << ml <<
", tubelayer=" <<
tl <<
", tube=" <<
tube <<
")" <<
endmsg;
int GetMultiLayer(const int &hid) const
VectorBranch< float > & m_MDT_globalTime
VectorBranch< int > & m_MDT_particleEncoding
void push_back(const Identifier &id) override final
VectorBranch< float > & m_MDT_driftRadius
ThreeVectorBranch m_MDT_hitGlobalPosition
ScalarBranch< unsigned int > & m_MDT_nSimHits
const MuonGM::MuonDetectorManager * getDetMgr(const EventContext &ctx) const
ThreeVectorBranch m_MDT_detector_globalPosition
MdtIdentifierBranch m_MDT_id
bool declare_keys() override final
int GetZSector(const int &hid) const
int barcode() const
Return the barcode of the target particle.
static const MdtHitIdHelper * GetHelper(unsigned int nTubes=78)
VectorBranch< int > & m_MDT_truthEl
bool declare_dependency(Key &key)
Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm.
MDTSimHitVariables(MuonTesterTree &tree, const std::string &container_name, MSG::Level msglvl)
void push_back(const Amg::Vector3D &vec)
interface using the Amg::Vector3D
HepMC::ConstGenParticlePtr cptr() const
Dereference.
int GetPhiSector(const int &hid) const
a link optimized in size for a GenParticle in a McEventCollection
std::string GetStationName(const int &hid) const
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.
bool msgLvl(const MSG::Level lvl) const
Test the output level.
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
VectorBranch< int > & m_MDT_trackId
VectorBranch< float > & m_MDT_depositEnergy
int GetLayer(const int &hid) const
bool isValid() const
Validity check.
const Amg::Vector3D globalPosition() const
const Amg::Transform3D & localToGlobalTransf(const Identifier &id) const
MsgStream & msg() const
The standard message stream.
ThreeVectorBranch m_MDT_hitLocalPosition
void push_back(const T &value)
Adds a new element at the end of the vector.
const GenParticle * ConstGenParticlePtr
Identifier channelID(int stationName, int stationEta, int stationPhi, int multilayer, int tubeLayer, int tube) const
Helpers for checking error return status codes and reporting errors.
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
Eigen::Matrix< double, 3, 1 > Vector3D
bool fill(const EventContext &ctx) override final
The fill method checks if enough information is provided such that the branch is cleared from the inf...
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
const Muon::IMuonIdHelperSvc * idHelperSvc() const
int GetTube(const int &hid) const
VectorBranch< float > & m_MDT_StepLength
SG::ReadHandleKey< MDTSimHitCollection > m_simHitKey
VectorBranch< float > & m_MDT_kineticEnergy