ATLAS Offline Software
Loading...
Searching...
No Matches
MuonValR4::SpacePointTesterModule Class Reference

#include <SpacePointTesterModule.h>

Inheritance diagram for MuonValR4::SpacePointTesterModule:

Public Types

using DataDependency = SG::VarHandleKey*

Public Member Functions

 SpacePointTesterModule (MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="")
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.
unsigned int push_back (const MuonR4::SpacePointBucket &bucket)
unsigned int push_back (const MuonR4::SpacePoint &spacePoint)
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.
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

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

Private Member Functions

void initMessaging () const
 Initialize our message level and MessageSvc.

Private Attributes

std::string m_collName {}
SG::ReadHandleKey< MuonR4::SpacePointContainerm_key {}
VectorBranch< uint16_t > & m_bucketNumber {parent().newVector<uint16_t>(m_collName+"bucket_index")}
 Space point bucket information.
MuonIdentifierBranch m_bucketId {parent(), m_collName+"_bucket"}
 stationIndex / stationEta / stationPhi of the bucket chamber
VectorBranch< float > & m_bucketMin {parent().newVector<float>(m_collName+"_bucketMinX")}
 Range of the space point bucket.
VectorBranch< float > & m_bucketMax {parent().newVector<float>(m_collName+"_bucketMaxX")}
MatrixBranch< uint16_t > & m_bucketPoints {parent().newMatrix<uint16_t>(m_collName+"_bucketSpacePoints")}
 associated space points
ThreeVectorBranch m_spPos {parent(), m_collName+"spacePoint_Position"}
 Space point position.
VectorBranch< float > & m_driftR {parent().newVector<float>(m_collName+"_spacePointDriftR")}
 Space point drift radius.
VectorBranch< float > & m_covX {parent().newVector<float>(m_collName+"_spacePointCovX")}
 Covariance of the space point.
VectorBranch< float > & m_covY {parent().newVector<float>(m_collName+"_spacePointCovY")}
VectorBranch< float > & m_covT {parent().newVector<float>(m_collName+"_spacePointCovT")}
VectorBranch< bool > & m_measEta {parent().newVector<bool>(m_collName+"_spacePointMeasEta")}
 Does the space point measure phi or eta.
VectorBranch< bool > & m_measPhi {parent().newVector<bool>(m_collName+"_spacePointMeasPhi")}
VectorBranch< unsigned int > & m_nEtaInstances {parent().newVector<unsigned int>(m_collName+"_spacePointNumEtaInUse")}
 How many other spacepoints were built with the same eta /phi prd.
VectorBranch< unsigned int > & m_nPhiInstances {parent().newVector<unsigned int>(m_collName+"_spacePointNumPhiInUse")}
MuonIdentifierBranch m_spacePointId {parent(), m_collName+"_spacePoint"}
 Station Identifier.
VectorBranch< unsigned char > & m_techIdx {parent().newVector<unsigned char>(m_collName+"_spacePointTechnology")}
 Technology index of the space point.
VectorBranch< unsigned char > & m_layer {parent().newVector<unsigned char>(m_collName+"_spacePointLayer")}
 Measurement layer.
VectorBranch< uint16_t > & m_channel {parent().newVector<uint16_t>(m_collName+"_spacePoint1stChannel")}
 Measurement channel.
VectorBranch< int16_t > & m_phiChannel {parent().newVector<int16_t>(m_collName+"_spacePoint2ndChannel")}
 Channel of the secondary measurment.
std::unordered_map< const MuonR4::SpacePoint *, unsigned int > m_spacePointIdx {}
 : Keep track when a spacepoint is filled into the tree
std::unordered_map< const MuonR4::SpacePointBucket *, unsigned int > m_bucketIdx {}
 : Keep tarck when a space point bucket is filled into the tree
bool m_applyFilter {false}
 : Flag whether the module is operated in filter mode
bool m_internalFill {false}
 : Flag toggling whether the module is in internal filling mode
const MuonGMR4::MuonDetectorManagerm_detMgr {}
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {"Muon::MuonIdHelperSvc/MuonIdHelperSvc", name()}
SG::ReadHandleKey< ActsTrk::GeometryContextm_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.
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 12 of file SpacePointTesterModule.h.

Member Typedef Documentation

◆ DataDependency

Constructor & Destructor Documentation

◆ SpacePointTesterModule()

MuonValR4::SpacePointTesterModule::SpacePointTesterModule ( MuonTesterTree & tree,
const std::string & inContainer,
MSG::Level msgLvl = MSG::Level::INFO,
const std::string & collName = "" )

Definition at line 10 of file SpacePointTesterModule.cxx.

13 :
14 TesterModuleBase{tree, inContainer + collName, msgLvl},
15 m_collName{collName},
16 m_key{inContainer}{}
bool msgLvl(const MSG::Level lvl) const
Test the output level.
SG::ReadHandleKey< MuonR4::SpacePointContainer > m_key
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
virtual TTree * tree()=0
Returns the pointer to the underlying TTree object.

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

◆ declare_keys()

bool MuonValR4::SpacePointTesterModule::declare_keys ( )
finaloverridevirtual

Implements MuonValR4::TesterModuleBase.

Definition at line 124 of file SpacePointTesterModule.cxx.

124 {
126 }
bool declare_dependency(Key &key)
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()

bool MuonValR4::SpacePointTesterModule::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 127 of file SpacePointTesterModule.cxx.

127 {
128 m_internalFill = true;
129 const MuonR4::SpacePointContainer* container{nullptr};
130 if (!SG::get(container, m_key, ctx).isSuccess()) {
131 return false;
132 }
133 for (const MuonR4::SpacePointBucket* bucket : *container) {
134 push_back(*bucket);
135 }
136 m_internalFill = false;
137 m_spacePointIdx.clear();
138 m_bucketIdx.clear();
139 return true;
140 }
unsigned int push_back(const MuonR4::SpacePointBucket &bucket)
std::unordered_map< const MuonR4::SpacePoint *, unsigned int > m_spacePointIdx
: Keep track when a spacepoint is filled into the tree
bool m_internalFill
: Flag toggling whether the module is in internal filling mode
std::unordered_map< const MuonR4::SpacePointBucket *, unsigned int > m_bucketIdx
: Keep tarck when a space point bucket is filled into the tree
DataVector< SpacePointBucket > SpacePointContainer
Abrivation of the space point container type.
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.

◆ getDetMgr()

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

Definition at line 19 of file TesterModuleBase.cxx.

19 {
20 return m_detMgr;
21 }
const MuonGMR4::MuonDetectorManager * m_detMgr

◆ getGeoCtx()

const ActsTrk::GeometryContext & 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 }
SG::ReadHandleKey< ActsTrk::GeometryContext > m_geoCtxKey
virtual bool isValid() override final
Can the handle be successfully dereferenced?
#define THROW_EXCEPTION(MESSAGE)
Definition throwExcept.h:10

◆ idHelperSvc()

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

Definition at line 18 of file TesterModuleBase.cxx.

18{ return m_idHelperSvc.get(); }
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc

◆ 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 }
virtual bool declare_keys()=0
std::string name() const override final
Returns the name of the branch.

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

◆ push_back() [1/2]

unsigned int MuonValR4::SpacePointTesterModule::push_back ( const MuonR4::SpacePoint & spacePoint)

Definition at line 18 of file SpacePointTesterModule.cxx.

18 {
19 if (!m_internalFill) {
20 m_applyFilter = true;
21 }
22 auto insert_itr = m_spacePointIdx.insert(std::make_pair(&spacePoint, m_spacePointIdx.size()));
23 // Space point added before return the index of the space point
24 if (!insert_itr.second) {
25 return insert_itr.first->second;
26 }
27
28 m_spPos.push_back(spacePoint.localPosition());
29 m_driftR.push_back(spacePoint.driftRadius());
30
31
32 const auto& cov{spacePoint.covariance()};
34 m_covX.push_back(cov[Acts::toUnderlying(CovIdx::phiCov)]);
35 m_covY.push_back(cov[Acts::toUnderlying(CovIdx::etaCov)]);
36 m_covT.push_back(cov[Acts::toUnderlying(CovIdx::timeCov)]);
37
38
39 m_measEta.push_back(spacePoint.measuresEta());
40 m_measPhi.push_back(spacePoint.measuresPhi());
41 m_nEtaInstances.push_back(spacePoint.measuresEta() ? spacePoint.nEtaInstanceCounts() : 0);
42 m_nPhiInstances.push_back(spacePoint.measuresPhi() ? spacePoint.nPhiInstanceCounts() : 0);
43
44
46 const Identifier id = spacePoint.identify();
47 const TechIndex techIdx = idHelperSvc()->technologyIndex(id);
48 m_techIdx.push_back(Acts::toUnderlying(techIdx));
49 m_spacePointId.push_back(id);
50 int phiChannel{-1};
51 switch (techIdx) {
52 case TechIndex::MDT: {
53 const MdtIdHelper& idHelper{idHelperSvc()->mdtIdHelper()};
54 m_layer.push_back((idHelper.multilayer(id) -1)*idHelper.tubeLayerMax(id) +
55 idHelper.tubeLayer(id));
56 m_channel.push_back(idHelper.tube(id));
57 }
58 break;
59 case TechIndex::RPC: {
60 const RpcIdHelper& idHelper{idHelperSvc()->rpcIdHelper()};
61 m_layer.push_back( (idHelper.doubletR(id) -1) * idHelper.gasGapMax(id) +
62 idHelper.gasGap(id));
63 m_channel.push_back(idHelper.channel(id));
64 if (spacePoint.secondaryMeasurement()) {
65 phiChannel = idHelper.channel(xAOD::identify(spacePoint.secondaryMeasurement()));
66 }
67 }
68 break;
69 case TechIndex::TGC: {
70 const TgcIdHelper& idHelper{idHelperSvc()->tgcIdHelper()};
71 m_layer.push_back(idHelper.gasGap(id));
72 m_channel.push_back(idHelper.channel(id));
73 if (spacePoint.secondaryMeasurement()) {
74 phiChannel = idHelper.channel(xAOD::identify(spacePoint.secondaryMeasurement()));
75 }
76 }
77 break;
78 case TechIndex::STGC: {
79 const sTgcIdHelper& idHelper{idHelperSvc()->stgcIdHelper()};
80 m_layer.push_back( (idHelper.multilayer(id) -1) * 4 + idHelper.gasGap(id));
81 m_channel.push_back(idHelper.channel(id));
82 if (spacePoint.secondaryMeasurement()) {
83 phiChannel = idHelper.channel(xAOD::identify(spacePoint.secondaryMeasurement()));
84 }
85 }
86 break;
87 case TechIndex::MM: {
88 const MmIdHelper& idHelper{idHelperSvc()->mmIdHelper()};
89 m_layer.push_back( (idHelper.multilayer(id) -1) * 4 + idHelper.gasGap(id));
90 m_channel.push_back(idHelper.channel(id));
91 }
92 break;
93 default:
94 ATH_MSG_WARNING("Dude you can't have CSCs in R4 "<<idHelperSvc()->toString(id));
95 };
96 m_phiChannel.push_back(phiChannel);
97 return insert_itr.first->second;
98 }
int multilayer(const Identifier &id) const
Access to components of the ID.
int tube(const Identifier &id) const
static int tubeLayerMax()
int tubeLayer(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
int multilayer(const Identifier &id) const
bool measuresPhi() const
: Does the space point contain a phi measurement
double driftRadius() const
: Returns the size of the drift radius
bool measuresEta() const
: Does the space point contain an eta measurement
unsigned nEtaInstanceCounts() const
How many space points have been built in total with the same eta prd.
const xAOD::UncalibratedMeasurement * secondaryMeasurement() const
unsigned nPhiInstanceCounts() const
How many space points have been built in total with the same phi prd.
const Identifier & identify() const
: Identifier of the primary measurement
const Cov_t & covariance() const
Returns the covariance array.
VectorBranch< float > & m_driftR
Space point drift radius.
VectorBranch< unsigned int > & m_nEtaInstances
How many other spacepoints were built with the same eta /phi prd.
ThreeVectorBranch m_spPos
Space point position.
VectorBranch< bool > & m_measEta
Does the space point measure phi or eta.
bool m_applyFilter
: Flag whether the module is operated in filter mode
MuonIdentifierBranch m_spacePointId
Station Identifier.
VectorBranch< unsigned int > & m_nPhiInstances
VectorBranch< float > & m_covX
Covariance of the space point.
VectorBranch< uint16_t > & m_channel
Measurement channel.
VectorBranch< unsigned char > & m_layer
Measurement layer.
VectorBranch< unsigned char > & m_techIdx
Technology index of the space point.
VectorBranch< int16_t > & m_phiChannel
Channel of the secondary measurment.
const Muon::IMuonIdHelperSvc * idHelperSvc() const
virtual const MmIdHelper & mmIdHelper() const =0
access to CscIdHelper
virtual const RpcIdHelper & rpcIdHelper() const =0
access to RpcIdHelper
virtual const sTgcIdHelper & stgcIdHelper() const =0
access to TgcIdHelper
virtual const TgcIdHelper & tgcIdHelper() const =0
access to TgcIdHelper
virtual MuonStationIndex::TechnologyIndex technologyIndex(const Identifier &id) const =0
calculate layer index from Identifier
virtual const MdtIdHelper & mdtIdHelper() const =0
access to MdtIdHelper
int gasGap(const Identifier &id) const override
get the hashes
int gasGapMax() const
int channel(const Identifier &id) const override
int doubletR(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
int multilayer(const Identifier &id) const
int channel(const Identifier &id) const override
int gasGap(const Identifier &id) const override
get the hashes
std::string toString(const Parameters &pars)
Dumps the parameters into a string with labels in front of each number.
SpacePoint::CovIdx CovIdx
########################################## SpacePointMakerAlg #######################################...
TechnologyIndex
enum to classify the different layers in the muon spectrometer
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.

◆ push_back() [2/2]

unsigned int MuonValR4::SpacePointTesterModule::push_back ( const MuonR4::SpacePointBucket & bucket)

Definition at line 99 of file SpacePointTesterModule.cxx.

99 {
100 if (!m_internalFill) {
101 m_applyFilter = true;
102 } else if (m_applyFilter) {
103 auto find_itr = m_bucketIdx.find(&bucket);
104 return find_itr != m_bucketIdx.end() ? find_itr->second : m_bucketIdx.size();
105 }
106 auto insert_itr = m_bucketIdx.insert(std::make_pair(&bucket, m_bucketIdx.size()));
107 // Bucket has been added before. Bail out
108 if (!insert_itr.second) {
109 return insert_itr.first->second;
110 }
111
112
113 m_bucketNumber.push_back(bucket.bucketId());
114 m_bucketId.push_back(bucket.msSector()->chambers().front()->readoutEles().front()->identify());
115 m_bucketMin.push_back(bucket.coveredMin());
116 m_bucketMax.push_back(bucket.coveredMax());
117 std::vector<uint16_t>& spacePoints = m_bucketPoints[m_bucketPoints.size()];
118 for (const auto& spacePoint : bucket) {
119 spacePoints.push_back(push_back(*spacePoint));
120 }
121
122 return insert_itr.first->second;
123 }
const ChamberSet & chambers() const
Returns the associated chambers with this sector.
const MuonGMR4::SpectrometerSector * msSector() const
returns th associated muonChamber
unsigned int bucketId() const
Returns the Identifier in the context of the MuonChamber.
VectorBranch< uint16_t > & m_bucketNumber
Space point bucket information.
VectorBranch< float > & m_bucketMin
Range of the space point bucket.
MuonIdentifierBranch m_bucketId
stationIndex / stationEta / stationPhi of the bucket chamber
MatrixBranch< uint16_t > & m_bucketPoints
associated space points

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

bool MuonValR4::SpacePointTesterModule::m_applyFilter {false}
private

: Flag whether the module is operated in filter mode

Definition at line 74 of file SpacePointTesterModule.h.

74{false};

◆ m_bucketId

MuonIdentifierBranch MuonValR4::SpacePointTesterModule::m_bucketId {parent(), m_collName+"_bucket"}
private

stationIndex / stationEta / stationPhi of the bucket chamber

Definition at line 34 of file SpacePointTesterModule.h.

34{parent(), m_collName+"_bucket"};
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.

◆ m_bucketIdx

std::unordered_map<const MuonR4::SpacePointBucket*, unsigned int> MuonValR4::SpacePointTesterModule::m_bucketIdx {}
private

: Keep tarck when a space point bucket is filled into the tree

Definition at line 72 of file SpacePointTesterModule.h.

72{};

◆ m_bucketMax

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_bucketMax {parent().newVector<float>(m_collName+"_bucketMaxX")}
private

Definition at line 37 of file SpacePointTesterModule.h.

37{parent().newVector<float>(m_collName+"_bucketMaxX")};
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.

◆ m_bucketMin

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_bucketMin {parent().newVector<float>(m_collName+"_bucketMinX")}
private

Range of the space point bucket.

Definition at line 36 of file SpacePointTesterModule.h.

36{parent().newVector<float>(m_collName+"_bucketMinX")};

◆ m_bucketNumber

VectorBranch<uint16_t>& MuonValR4::SpacePointTesterModule::m_bucketNumber {parent().newVector<uint16_t>(m_collName+"bucket_index")}
private

Space point bucket information.

Definition at line 32 of file SpacePointTesterModule.h.

32{parent().newVector<uint16_t>(m_collName+"bucket_index")};
setWord1 uint16_t

◆ m_bucketPoints

MatrixBranch<uint16_t>& MuonValR4::SpacePointTesterModule::m_bucketPoints {parent().newMatrix<uint16_t>(m_collName+"_bucketSpacePoints")}
private

associated space points

Definition at line 39 of file SpacePointTesterModule.h.

39{parent().newMatrix<uint16_t>(m_collName+"_bucketSpacePoints")};
MatrixBranch< T > & newMatrix(const std::string &name)

◆ m_channel

VectorBranch<uint16_t>& MuonValR4::SpacePointTesterModule::m_channel {parent().newVector<uint16_t>(m_collName+"_spacePoint1stChannel")}
private

Measurement channel.

Definition at line 65 of file SpacePointTesterModule.h.

65{parent().newVector<uint16_t>(m_collName+"_spacePoint1stChannel")};

◆ m_collName

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

Definition at line 29 of file SpacePointTesterModule.h.

29{};

◆ m_covT

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_covT {parent().newVector<float>(m_collName+"_spacePointCovT")}
private

Definition at line 49 of file SpacePointTesterModule.h.

49{parent().newVector<float>(m_collName+"_spacePointCovT")};

◆ m_covX

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_covX {parent().newVector<float>(m_collName+"_spacePointCovX")}
private

Covariance of the space point.

Definition at line 47 of file SpacePointTesterModule.h.

47{parent().newVector<float>(m_collName+"_spacePointCovX")};

◆ m_covY

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_covY {parent().newVector<float>(m_collName+"_spacePointCovY")}
private

Definition at line 48 of file SpacePointTesterModule.h.

48{parent().newVector<float>(m_collName+"_spacePointCovY")};

◆ m_dependencies

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

Definition at line 62 of file MuonTesterBranch.h.

62{};

◆ m_detMgr

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

Definition at line 32 of file TesterModuleBase.h.

32{};

◆ m_driftR

VectorBranch<float>& MuonValR4::SpacePointTesterModule::m_driftR {parent().newVector<float>(m_collName+"_spacePointDriftR")}
private

Space point drift radius.

Definition at line 45 of file SpacePointTesterModule.h.

45{parent().newVector<float>(m_collName+"_spacePointDriftR")};

◆ m_geoCtxKey

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

Definition at line 34 of file TesterModuleBase.h.

34{"ActsAlignment"};

◆ m_idHelperSvc

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

Definition at line 33 of file TesterModuleBase.h.

33{"Muon::MuonIdHelperSvc/MuonIdHelperSvc", name()};

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

bool MuonValR4::SpacePointTesterModule::m_internalFill {false}
private

: Flag toggling whether the module is in internal filling mode

Definition at line 76 of file SpacePointTesterModule.h.

76{false};

◆ m_key

SG::ReadHandleKey<MuonR4::SpacePointContainer> MuonValR4::SpacePointTesterModule::m_key {}
private

Definition at line 30 of file SpacePointTesterModule.h.

30{};

◆ m_layer

VectorBranch<unsigned char>& MuonValR4::SpacePointTesterModule::m_layer {parent().newVector<unsigned char>(m_collName+"_spacePointLayer")}
private

Measurement layer.

Definition at line 63 of file SpacePointTesterModule.h.

63{parent().newVector<unsigned char>(m_collName+"_spacePointLayer")};

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

VectorBranch<bool>& MuonValR4::SpacePointTesterModule::m_measEta {parent().newVector<bool>(m_collName+"_spacePointMeasEta")}
private

Does the space point measure phi or eta.

Definition at line 51 of file SpacePointTesterModule.h.

51{parent().newVector<bool>(m_collName+"_spacePointMeasEta")};

◆ m_measPhi

VectorBranch<bool>& MuonValR4::SpacePointTesterModule::m_measPhi {parent().newVector<bool>(m_collName+"_spacePointMeasPhi")}
private

Definition at line 52 of file SpacePointTesterModule.h.

52{parent().newVector<bool>(m_collName+"_spacePointMeasPhi")};

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

VectorBranch<unsigned int>& MuonValR4::SpacePointTesterModule::m_nEtaInstances {parent().newVector<unsigned int>(m_collName+"_spacePointNumEtaInUse")}
private

How many other spacepoints were built with the same eta /phi prd.

Definition at line 54 of file SpacePointTesterModule.h.

54{parent().newVector<unsigned int>(m_collName+"_spacePointNumEtaInUse")};

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_nPhiInstances

VectorBranch<unsigned int>& MuonValR4::SpacePointTesterModule::m_nPhiInstances {parent().newVector<unsigned int>(m_collName+"_spacePointNumPhiInUse")}
private

Definition at line 55 of file SpacePointTesterModule.h.

55{parent().newVector<unsigned int>(m_collName+"_spacePointNumPhiInUse")};

◆ m_parent

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

Definition at line 59 of file MuonTesterBranch.h.

59{nullptr};

◆ m_phiChannel

VectorBranch<int16_t>& MuonValR4::SpacePointTesterModule::m_phiChannel {parent().newVector<int16_t>(m_collName+"_spacePoint2ndChannel")}
private

Channel of the secondary measurment.

Definition at line 67 of file SpacePointTesterModule.h.

67{parent().newVector<int16_t>(m_collName+"_spacePoint2ndChannel")};
setScaleOne setStatusOne setSaturated int16_t

◆ m_spacePointId

MuonIdentifierBranch MuonValR4::SpacePointTesterModule::m_spacePointId {parent(), m_collName+"_spacePoint"}
private

Station Identifier.

Definition at line 59 of file SpacePointTesterModule.h.

59{parent(), m_collName+"_spacePoint"};

◆ m_spacePointIdx

std::unordered_map<const MuonR4::SpacePoint*, unsigned int> MuonValR4::SpacePointTesterModule::m_spacePointIdx {}
private

: Keep track when a spacepoint is filled into the tree

Definition at line 70 of file SpacePointTesterModule.h.

70{};

◆ m_spPos

ThreeVectorBranch MuonValR4::SpacePointTesterModule::m_spPos {parent(), m_collName+"spacePoint_Position"}
private

Space point position.

Definition at line 43 of file SpacePointTesterModule.h.

43{parent(), m_collName+"spacePoint_Position"};

◆ m_techIdx

VectorBranch<unsigned char>& MuonValR4::SpacePointTesterModule::m_techIdx {parent().newVector<unsigned char>(m_collName+"_spacePointTechnology")}
private

Technology index of the space point.

Definition at line 61 of file SpacePointTesterModule.h.

61{parent().newVector<unsigned char>(m_collName+"_spacePointTechnology")};

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