ATLAS Offline Software
Loading...
Searching...
No Matches
MDTPRDVariables.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6
11namespace MuonPRDTest {
12 MDTPRDVariables::MDTPRDVariables(MuonTesterTree& tree, const std::string& container_name, MSG::Level msglvl) :
13 PrdTesterModule(tree, "PRD_MDT", msglvl), m_key{container_name} {}
15
16 bool MDTPRDVariables::fill(const EventContext& ctx) {
17 ATH_MSG_DEBUG("do fillMDTPRDVariables()");
18
20 if (!mdtprdContainer.isValid()) {
21 ATH_MSG_FATAL("Failed to retrieve prd container " << m_key.fullKey());
22 return false;
23 }
24
25 ATH_MSG_DEBUG("retrieved MDT PRD Container with size " << mdtprdContainer->size());
26
27 unsigned int n_PRD{0};
28 for(const Muon::MdtPrepDataCollection* coll : *mdtprdContainer ) {
29 for (const Muon::MdtPrepData* prd: *coll) {
30
31 m_MDT_PRD_id.push_back(prd->identify());
32 m_MDT_PRD_globalPos.push_back(prd->globalPosition());
33 m_MDT_PRD_radius.push_back(prd->localPosition().x());
34 m_MDT_PRD_error.push_back(Amg::error(prd->localCovariance(), Trk::locX));
35 m_MDT_PRD_adc.push_back(prd->adc());
36 m_MDT_PRD_tdc.push_back(prd->tdc());
37 m_MDT_PRD_status.push_back(prd->status());
38
39 ++n_PRD;
40 }
41 }
42 m_MDT_nPRD = n_PRD;
43 ATH_MSG_DEBUG(" finished fillMDTPRDVariables()");
44 return true;
45 }
46}
#define ATH_MSG_FATAL(x)
#define ATH_MSG_DEBUG(x)
VectorBranch< float > & m_MDT_PRD_error
MdtIdentifierBranch m_MDT_PRD_id
VectorBranch< int > & m_MDT_PRD_adc
ThreeVectorBranch m_MDT_PRD_globalPos
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_key
VectorBranch< int > & m_MDT_PRD_status
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...
VectorBranch< double > & m_MDT_PRD_radius
ScalarBranch< unsigned int > & m_MDT_nPRD
bool declare_keys() override final
VectorBranch< int > & m_MDT_PRD_tdc
MDTPRDVariables(MuonTesterTree &tree, const std::string &container_name, MSG::Level msglvl)
PrdTesterModule(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl)
bool declare_dependency(Key &key)
Declares the ReadHandle/ ReadCondHandleKey as data dependency of the algorithm.
TTree * tree() override final
Returns the underlying TTree object.
Class to represent measurements from the Monitored Drift Tubes.
Definition MdtPrepData.h:33
virtual bool isValid() override final
Can the handle be successfully dereferenced?
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
MuonPrepDataCollection< MdtPrepData > MdtPrepDataCollection
@ locX
Definition ParamDefs.h:37