ATLAS Offline Software
Loading...
Searching...
No Matches
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
10
11#include <unordered_map>
12#include <unordered_set>
16namespace MuonValR4{
17
19 public:
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
49
50 std::string m_collName{};
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
bool msgLvl(const MSG::Level lvl) const
Test the output level.
ThreeVectorBranch m_globPos
Position of the Mdt drift circle in the global frame.
std::vector< const xAOD::MdtDriftCircle * > m_dumpedPRDS
Vector of PRDs parsed via the external mechanism. These measurements are parsed first.
bool m_applyFilter
Apply a filter to dump the prds.
VectorBranch< float > & m_driftRadius
Dirft radius of the associated drit circle.
VectorBranch< float > & m_driftRadiusUncert
Uncertainty on the drift radius measurement.
void enableSeededDump()
Activates the seeded dump of the branch.
void dumpAllHitsInChamber(const Identifier &chamberId)
All hits from this particular chamber identifier are dumped to the output including the ones from the...
VectorBranch< uint16_t > & m_adcCounts
Adc counts of the measurement.
MdtIdentifierBranch m_id
Identifier of the Mdt.
unsigned int push_back(const xAOD::MdtDriftCircle &dc)
Push back the drift circle measurement to the output.
VectorBranch< uint16_t > & m_tdcCounts
tdc counts of the measurement
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...
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
std::unordered_map< Identifier, unsigned int > m_idOutIdxMap
Map of Identifiers to the position index inside the vector.
SG::ReadHandleKey< xAOD::MdtDriftCircleContainer > m_key
MdtDriftCircleVariables(MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="MdtPrd")
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
Branch to store all information of the MDT identifier.
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
TTree * tree() override final
Returns the underlying TTree object.
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
Property holding a SG store/key/clid from which a ReadHandle is made.
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
-event-from-file
MdtDriftCircle_v1 MdtDriftCircle