ATLAS Offline Software
SpacePointTesterModule.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PRDTESTERR4_MUONSPACEPOINTTESTMODULE_H
6 #define PRDTESTERR4_MUONSPACEPOINTTESTMODULE_H
8 
11 namespace MuonValR4{
13  public:
15  const std::string& inContainer,
17  const std::string& collName="");
18 
19  bool declare_keys() override final;
20 
21  bool fill(const EventContext& ctx) override final;
22 
23 
24  unsigned int push_back(const MuonR4::SpacePointBucket& bucket);
25  unsigned int push_back(const MuonR4::SpacePoint& spacePoint);
26 
27 
28  private:
29  std::string m_collName{};
40 
41 
43  ThreeVectorBranch m_globPos{parent(), m_collName+"spacePoint_Position"};
45  VectorBranch<float>& m_driftR{parent().newVector<float>(m_collName+"spacePoint_driftR")};
47  VectorBranch<float>& m_covXX{parent().newVector<float>(m_collName+"spacePoint_covXX")};
48  VectorBranch<float>& m_covXY{parent().newVector<float>(m_collName+"spacePoint_covYX")};
49  VectorBranch<float>& m_covYX{parent().newVector<float>(m_collName+"spacePoint_covXY")};
50  VectorBranch<float>& m_covYY{parent().newVector<float>(m_collName+"spacePoint_covYY")};
51 
53  VectorBranch<bool>& m_measEta{parent().newVector<bool>(m_collName+"spacePoint_measEta")};
54  VectorBranch<bool>& m_measPhi{parent().newVector<bool>(m_collName+"spacePoint_measPhi")};
56  VectorBranch<unsigned int>& m_nEtaInstances{parent().newVector<unsigned int>(m_collName+"spacePoint_nEtaInUse")};
57  VectorBranch<unsigned int>& m_nPhiInstances{parent().newVector<unsigned int>(m_collName+"spacePoint_nPhiInUse")};
58 
59 
63  VectorBranch<unsigned char>& m_techIdx{parent().newVector<unsigned char>(m_collName+"spacePoint_technology")};
65  VectorBranch<unsigned char>& m_layer{parent().newVector<unsigned char>(m_collName+"spacePoint_layer")};
70 
72  std::unordered_map<const MuonR4::SpacePoint*, unsigned int> m_spacePointIdx{};
74  std::unordered_map<const MuonR4::SpacePointBucket*, unsigned int> m_bucketIdx{};
76  bool m_applyFilter{false};
78  bool m_internalFill{false};
79  };
80 }
81 #endif
TesterModuleBase.h
MuonValR4::SpacePointTesterModule::m_phiChannel
VectorBranch< int16_t > & m_phiChannel
Channel of the secondary measurment.
Definition: SpacePointTesterModule.h:69
MuonR4::SpacePointBucket
: The muon space point bucket represents a collection of points that will bre processed together in t...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePointContainer.h:21
MuonValR4::SpacePointTesterModule::m_bucketId
MuonIdentifierBranch m_bucketId
stationIndex / stationEta / stationPhi of the bucket chamber
Definition: SpacePointTesterModule.h:34
MuonValR4::SpacePointTesterModule::m_driftR
VectorBranch< float > & m_driftR
Space point drift radius.
Definition: SpacePointTesterModule.h:45
MuonValR4::SpacePointTesterModule::SpacePointTesterModule
SpacePointTesterModule(MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="")
Definition: SpacePointTesterModule.cxx:8
MuonValR4::SpacePointTesterModule::m_covXX
VectorBranch< float > & m_covXX
Covariance of the space point.
Definition: SpacePointTesterModule.h:47
MuonValR4::SpacePointTesterModule::m_globPos
ThreeVectorBranch m_globPos
Space point position.
Definition: SpacePointTesterModule.h:43
MuonValR4::SpacePointTesterModule::m_applyFilter
bool m_applyFilter
: Flag whether the module is operated in filter mode
Definition: SpacePointTesterModule.h:76
MuonValR4::SpacePointTesterModule::m_nPhiInstances
VectorBranch< unsigned int > & m_nPhiInstances
Definition: SpacePointTesterModule.h:57
MuonValR4::SpacePointTesterModule::fill
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...
Definition: SpacePointTesterModule.cxx:124
MuonVal::VectorBranch< uint16_t >
MuonValR4::SpacePointTesterModule::m_layer
VectorBranch< unsigned char > & m_layer
Measurement layer.
Definition: SpacePointTesterModule.h:65
MuonValR4::SpacePointTesterModule::m_channel
VectorBranch< uint16_t > & m_channel
Measurement channel.
Definition: SpacePointTesterModule.h:67
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
MuonVal::ThreeVectorBranch
Definition: ThreeVectorBranch.h:19
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition: MuonTesterBranch.cxx:53
MuonValR4::SpacePointTesterModule::m_nEtaInstances
VectorBranch< unsigned int > & m_nEtaInstances
How many other spacepoints were built with the same eta /phi prd.
Definition: SpacePointTesterModule.h:56
MuonValR4::SpacePointTesterModule
Definition: SpacePointTesterModule.h:12
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
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
IdentifierBranch.h
MuonValR4::SpacePointTesterModule::m_bucketMin
VectorBranch< float > & m_bucketMin
Range of the space point bucket.
Definition: SpacePointTesterModule.h:36
MuonValR4::SpacePointTesterModule::m_spacePointId
MuonIdentifierBranch m_spacePointId
Station Identifier.
Definition: SpacePointTesterModule.h:61
MuonValR4::SpacePointTesterModule::m_covYY
VectorBranch< float > & m_covYY
Definition: SpacePointTesterModule.h:50
MuonValR4::SpacePointTesterModule::m_bucketPoints
MatrixBranch< uint16_t > & m_bucketPoints
associated space points
Definition: SpacePointTesterModule.h:39
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
MuonValR4::SpacePointTesterModule::m_measPhi
VectorBranch< bool > & m_measPhi
Definition: SpacePointTesterModule.h:54
MuonValR4::TesterModuleBase
Definition: TesterModuleBase.h:15
MuonR4::SpacePoint
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
Definition: MuonSpectrometer/MuonPhaseII/Event/MuonSpacePoint/MuonSpacePoint/SpacePoint.h:18
MuonValR4
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Definition: IPatternVisualizationTool.h:23
MuonVal::MuonIdentifierBranch
Class to dump the basic properties of an Identifier into an n-tuple StationName -> BIS,...
Definition: IdentifierBranch.h:21
MuonValR4::SpacePointTesterModule::m_measEta
VectorBranch< bool > & m_measEta
Does the space point measure phi or eta.
Definition: SpacePointTesterModule.h:53
MuonVal::MuonTesterBranch::parent
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
Definition: MuonTesterBranch.cxx:38
MuonValR4::SpacePointTesterModule::m_covYX
VectorBranch< float > & m_covYX
Definition: SpacePointTesterModule.h:49
MuonValR4::SpacePointTesterModule::declare_keys
bool declare_keys() override final
Definition: SpacePointTesterModule.cxx:121
MuonValR4::SpacePointTesterModule::m_spacePointIdx
std::unordered_map< const MuonR4::SpacePoint *, unsigned int > m_spacePointIdx
: Keep track when a spacepoint is filled into the tree
Definition: SpacePointTesterModule.h:72
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:16
MuonVal::MatrixBranch< uint16_t >
SpacePointContainer.h
MuonValR4::SpacePointTesterModule::m_key
SG::ReadHandleKey< MuonR4::SpacePointContainer > m_key
Definition: SpacePointTesterModule.h:30
MuonValR4::SpacePointTesterModule::m_techIdx
VectorBranch< unsigned char > & m_techIdx
Technology index of the space point.
Definition: SpacePointTesterModule.h:63
MuonValR4::SpacePointTesterModule::m_bucketNumber
VectorBranch< uint16_t > & m_bucketNumber
Space point bucket information.
Definition: SpacePointTesterModule.h:32
MuonValR4::SpacePointTesterModule::m_bucketMax
VectorBranch< float > & m_bucketMax
Definition: SpacePointTesterModule.h:37
MuonValR4::SpacePointTesterModule::push_back
unsigned int push_back(const MuonR4::SpacePointBucket &bucket)
Definition: SpacePointTesterModule.cxx:96
MuonVal::MuonTesterTree::newMatrix
MatrixBranch< T > & newMatrix(const std::string &name)
MuonValR4::SpacePointTesterModule::m_bucketIdx
std::unordered_map< const MuonR4::SpacePointBucket *, unsigned int > m_bucketIdx
: Keep tarck when a space point bucket is filled into the tree
Definition: SpacePointTesterModule.h:74
MuonValR4::SpacePointTesterModule::m_collName
std::string m_collName
Definition: SpacePointTesterModule.h:29
MuonValR4::SpacePointTesterModule::m_covXY
VectorBranch< float > & m_covXY
Definition: SpacePointTesterModule.h:48
MuonValR4::SpacePointTesterModule::m_internalFill
bool m_internalFill
: Flag toggling whether the module is in internal filling mode
Definition: SpacePointTesterModule.h:78