ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonValidation
MuonPRDTestR4
MuonPRDTestR4
MmClusterVariables.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_MMCLUSTERVARIABLES_H
6
#define PRDTESTERR4_MMCLUSTERVARIABLES_H
7
#include "
MuonPRDTestR4/TesterModuleBase.h
"
8
#include "
xAODMuonPrepData/MMClusterContainer.h
"
9
#include "
MuonTesterTree/IdentifierBranch.h
"
10
#include "
MuonTesterTree/TwoVectorBranch.h
"
11
12
#include <unordered_map>
13
#include <unordered_set>
17
namespace
MuonValR4
{
18
19
class
MmClusterVariables
:
public
TesterModuleBase
{
20
public
:
21
MmClusterVariables
(
MuonTesterTree
&
tree
,
22
const
std::string& inContainer,
23
MSG::Level
msgLvl
= MSG::Level::INFO,
24
const
std::string& collName=
"MmPrd"
);
25
26
bool
declare_keys
()
override
final
;
27
28
29
bool
fill
(
const
EventContext& ctx)
override
final
;
30
35
unsigned
int
push_back
(
const
xAOD::MMCluster
& cluster);
40
void
dumpAllHitsInChamber
(
const
Identifier
& chamberId);
44
void
enableSeededDump
();
45
private
:
46
void
dump
(
const
ActsTrk::GeometryContext
& gctx,
47
const
xAOD::MMCluster
& dc);
48
49
SG::ReadHandleKey<xAOD::MMClusterContainer>
m_key
{};
50
51
std::string
m_collName
{};
53
MmIdentifierBranch
m_id
{
parent
(),
m_collName
};
55
ThreeVectorBranch
m_globPos
{
parent
(),
m_collName
+
"_globalPos"
};
57
VectorBranch<float>
&
m_locPos
{
parent
().
newVector
<
float
>(
m_collName
+
"_localPos"
)};
59
VectorBranch<float>
&
m_locCov
{
parent
().
newVector
<
float
>(
m_collName
+
"_localCov"
)};
61
VectorBranch<uint16_t>
&
m_time
{
parent
().
newVector
<uint16_t>(
m_collName
+
"_time"
)};
63
VectorBranch<uint32_t>
&
m_charge
{
parent
().
newVector
<uint32_t>(
m_collName
+
"_charge"
)};
65
VectorBranch<uint8_t>
&
m_author
{
parent
().
newVector
<uint8_t>(
m_collName
+
"_author"
)};
67
std::unordered_set<Identifier>
m_filteredChamb
{};
69
std::unordered_map<Identifier, unsigned int>
m_idOutIdxMap
{};
71
std::vector<const xAOD::MMCluster*>
m_dumpedPRDS
{};
73
bool
m_applyFilter
{
false
};
74
};
75
}
76
#endif
IdentifierBranch.h
MMClusterContainer.h
TesterModuleBase.h
TwoVectorBranch.h
ActsTrk::GeometryContext
Definition
GeometryContext.h:30
AthMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Definition
AthMessaging.h:151
MuonValR4::MmClusterVariables::push_back
unsigned int push_back(const xAOD::MMCluster &cluster)
Push back the drift circle measurement to the output.
Definition
MmClusterVariables.cxx:55
MuonValR4::MmClusterVariables::enableSeededDump
void enableSeededDump()
Activates the seeded dump of the branch.
Definition
MmClusterVariables.cxx:48
MuonValR4::MmClusterVariables::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
MmClusterVariables.cxx:20
MuonValR4::MmClusterVariables::m_time
VectorBranch< uint16_t > & m_time
cluster time
Definition
MmClusterVariables.h:61
MuonValR4::MmClusterVariables::dumpAllHitsInChamber
void dumpAllHitsInChamber(const Identifier &chamberId)
All hits from this particular chamber identifier are dumped to the output including the ones from the...
Definition
MmClusterVariables.cxx:51
MuonValR4::MmClusterVariables::m_applyFilter
bool m_applyFilter
Apply a filter to dump the prds.
Definition
MmClusterVariables.h:73
MuonValR4::MmClusterVariables::m_idOutIdxMap
std::unordered_map< Identifier, unsigned int > m_idOutIdxMap
Map of Identifiers to the position index inside the vector.
Definition
MmClusterVariables.h:69
MuonValR4::MmClusterVariables::m_locCov
VectorBranch< float > & m_locCov
local covariance of the measurement
Definition
MmClusterVariables.h:59
MuonValR4::MmClusterVariables::m_id
MmIdentifierBranch m_id
Identifier of the Mdt.
Definition
MmClusterVariables.h:53
MuonValR4::MmClusterVariables::m_key
SG::ReadHandleKey< xAOD::MMClusterContainer > m_key
Definition
MmClusterVariables.h:49
MuonValR4::MmClusterVariables::m_collName
std::string m_collName
Definition
MmClusterVariables.h:51
MuonValR4::MmClusterVariables::m_charge
VectorBranch< uint32_t > & m_charge
cluster charge
Definition
MmClusterVariables.h:63
MuonValR4::MmClusterVariables::m_globPos
ThreeVectorBranch m_globPos
Position of the Mdt drift circle in the global frame.
Definition
MmClusterVariables.h:55
MuonValR4::MmClusterVariables::MmClusterVariables
MmClusterVariables(MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="MmPrd")
Definition
MmClusterVariables.cxx:9
MuonValR4::MmClusterVariables::declare_keys
bool declare_keys() override final
Definition
MmClusterVariables.cxx:17
MuonValR4::MmClusterVariables::m_locPos
VectorBranch< float > & m_locPos
Local strip position of the measurement.
Definition
MmClusterVariables.h:57
MuonValR4::MmClusterVariables::m_dumpedPRDS
std::vector< const xAOD::MMCluster * > m_dumpedPRDS
Vector of PRDs parsed via the external mechanism. These measurements are parsed first.
Definition
MmClusterVariables.h:71
MuonValR4::MmClusterVariables::m_author
VectorBranch< uint8_t > & m_author
cluster author
Definition
MmClusterVariables.h:65
MuonValR4::MmClusterVariables::m_filteredChamb
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
Definition
MmClusterVariables.h:67
MuonValR4::TesterModuleBase::TesterModuleBase
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
Definition
TesterModuleBase.cxx:12
MuonVal::MmIdentifierBranch
Branch to store all information of the MmIdentifier.
Definition
IdentifierBranch.h:110
MuonVal::MuonTesterBranch::parent
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
Definition
MuonTesterBranch.cxx:38
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition
MuonTesterBranch.cxx:53
MuonVal::MuonTesterTree
Definition
MuonTesterTree.h:38
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
MuonVal::ThreeVectorBranch
Definition
ThreeVectorBranch.h:14
MuonVal::VectorBranch
Definition
VectorBranch.h:14
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
Identifier
Definition
IdentifierFieldParser.cxx:14
MuonValR4
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
Definition
SpacePointWriter.cxx:32
dump
-event-from-file
xAOD::MMCluster
MMCluster_v1 MMCluster
Definition
MMClusterFwd.h:11
Generated on
for ATLAS Offline Software by
1.17.0