ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonPhaseII
MuonValidation
MuonPRDTestR4
MuonPRDTestR4
MdtDriftCircleVariables.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_MDTDRITFCIRCLEVARIABLES_H
6
#define PRDTESTERR4_MDTDRITFCIRCLEVARIABLES_H
7
#include "
MuonPRDTestR4/TesterModuleBase.h
"
8
#include "
xAODMuonPrepData/MdtDriftCircleContainer.h
"
9
#include "
MuonTesterTree/IdentifierBranch.h
"
10
11
#include <unordered_map>
12
#include <unordered_set>
16
namespace
MuonValR4
{
17
18
class
MdtDriftCircleVariables
:
public
TesterModuleBase
{
19
public
:
20
MdtDriftCircleVariables
(
MuonTesterTree
&
tree
,
21
const
std::string& inContainer,
22
MSG::Level
msgLvl
= MSG::Level::INFO,
23
const
std::string& collName=
"MdtPrd"
);
24
25
bool
declare_keys
()
override
final
;
26
27
28
bool
fill
(
const
EventContext& ctx)
override
final
;
29
34
unsigned
int
push_back
(
const
xAOD::MdtDriftCircle
& dc);
39
void
dumpAllHitsInChamber
(
const
Identifier
& chamberId);
43
void
enableSeededDump
();
44
private
:
45
void
dump
(
const
ActsTrk::GeometryContext
& gctx,
46
const
xAOD::MdtDriftCircle
& dc);
47
48
SG::ReadHandleKey<xAOD::MdtDriftCircleContainer>
m_key
{};
49
50
std::string
m_collName
{};
52
MdtIdentifierBranch
m_id
{
parent
(),
m_collName
};
54
ThreeVectorBranch
m_globPos
{
parent
(),
m_collName
+
"_globalPos"
};
56
VectorBranch<float>
&
m_driftRadius
{
parent
().
newVector
<
float
>(
m_collName
+
"_driftRadius"
)};
58
VectorBranch<float>
&
m_driftRadiusUncert
{
parent
().
newVector
<
float
>(
m_collName
+
"_uncertDriftRadius"
)};
60
VectorBranch<uint16_t>
&
m_tdcCounts
{
parent
().
newVector
<uint16_t>(
m_collName
+
"_tdc"
)};
62
VectorBranch<uint16_t>
&
m_adcCounts
{
parent
().
newVector
<uint16_t>(
m_collName
+
"_adc"
)};
63
65
std::unordered_set<Identifier>
m_filteredChamb
{};
67
std::unordered_map<Identifier, unsigned int>
m_idOutIdxMap
{};
69
std::vector<const xAOD::MdtDriftCircle*>
m_dumpedPRDS
{};
71
bool
m_applyFilter
{
false
};
72
};
73
}
74
#endif
IdentifierBranch.h
MdtDriftCircleContainer.h
TesterModuleBase.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::MdtDriftCircleVariables::m_globPos
ThreeVectorBranch m_globPos
Position of the Mdt drift circle in the global frame.
Definition
MdtDriftCircleVariables.h:54
MuonValR4::MdtDriftCircleVariables::m_dumpedPRDS
std::vector< const xAOD::MdtDriftCircle * > m_dumpedPRDS
Vector of PRDs parsed via the external mechanism. These measurements are parsed first.
Definition
MdtDriftCircleVariables.h:69
MuonValR4::MdtDriftCircleVariables::m_applyFilter
bool m_applyFilter
Apply a filter to dump the prds.
Definition
MdtDriftCircleVariables.h:71
MuonValR4::MdtDriftCircleVariables::m_driftRadius
VectorBranch< float > & m_driftRadius
Dirft radius of the associated drit circle.
Definition
MdtDriftCircleVariables.h:56
MuonValR4::MdtDriftCircleVariables::m_collName
std::string m_collName
Definition
MdtDriftCircleVariables.h:50
MuonValR4::MdtDriftCircleVariables::m_driftRadiusUncert
VectorBranch< float > & m_driftRadiusUncert
Uncertainty on the drift radius measurement.
Definition
MdtDriftCircleVariables.h:58
MuonValR4::MdtDriftCircleVariables::enableSeededDump
void enableSeededDump()
Activates the seeded dump of the branch.
Definition
MdtDriftCircleVariables.cxx:48
MuonValR4::MdtDriftCircleVariables::dumpAllHitsInChamber
void dumpAllHitsInChamber(const Identifier &chamberId)
All hits from this particular chamber identifier are dumped to the output including the ones from the...
Definition
MdtDriftCircleVariables.cxx:51
MuonValR4::MdtDriftCircleVariables::m_adcCounts
VectorBranch< uint16_t > & m_adcCounts
Adc counts of the measurement.
Definition
MdtDriftCircleVariables.h:62
MuonValR4::MdtDriftCircleVariables::m_id
MdtIdentifierBranch m_id
Identifier of the Mdt.
Definition
MdtDriftCircleVariables.h:52
MuonValR4::MdtDriftCircleVariables::push_back
unsigned int push_back(const xAOD::MdtDriftCircle &dc)
Push back the drift circle measurement to the output.
Definition
MdtDriftCircleVariables.cxx:55
MuonValR4::MdtDriftCircleVariables::m_tdcCounts
VectorBranch< uint16_t > & m_tdcCounts
tdc counts of the measurement
Definition
MdtDriftCircleVariables.h:60
MuonValR4::MdtDriftCircleVariables::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
MdtDriftCircleVariables.cxx:20
MuonValR4::MdtDriftCircleVariables::declare_keys
bool declare_keys() override final
Definition
MdtDriftCircleVariables.cxx:17
MuonValR4::MdtDriftCircleVariables::m_filteredChamb
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
Definition
MdtDriftCircleVariables.h:65
MuonValR4::MdtDriftCircleVariables::m_idOutIdxMap
std::unordered_map< Identifier, unsigned int > m_idOutIdxMap
Map of Identifiers to the position index inside the vector.
Definition
MdtDriftCircleVariables.h:67
MuonValR4::MdtDriftCircleVariables::m_key
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_key
Definition
MdtDriftCircleVariables.h:48
MuonValR4::MdtDriftCircleVariables::MdtDriftCircleVariables
MdtDriftCircleVariables(MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="MdtPrd")
Definition
MdtDriftCircleVariables.cxx:9
MuonValR4::TesterModuleBase::TesterModuleBase
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
Definition
TesterModuleBase.cxx:12
MuonVal::MdtIdentifierBranch
Branch to store all information of the MDT identifier.
Definition
IdentifierBranch.h:41
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::MdtDriftCircle
MdtDriftCircle_v1 MdtDriftCircle
Definition
MdtDriftCircleFwd.h:11
Generated on
for ATLAS Offline Software by
1.17.0