ATLAS Offline Software
Loading...
Searching...
No Matches
RpcMeasurementVariables.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_RPCSTRIPVARIABLES_H
6#define PRDTESTERR4_RPCSTRIPVARIABLES_H
11
12#include <unordered_map>
13#include <unordered_set>
17namespace MuonValR4{
18
20 public:
22 const std::string& inContainer,
23 MSG::Level msgLvl = MSG::Level::INFO,
24 const std::string& collName="RpcPrd");
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::RpcMeasurement& measurement);
40 void dumpAllHitsInChamber(const Identifier& chamberId);
44 void enableSeededDump();
45 private:
46 void dump(const ActsTrk::GeometryContext& gctx,
47 const xAOD::RpcMeasurement& dc);
48
50
51 std::string m_collName{};
63 VectorBranch<float>& m_toT{parent().newVector<float>(m_collName+"_timeOverThresh")};
64
65
67 std::unordered_set<Identifier> m_filteredChamb{};
69 std::unordered_map<Identifier, unsigned int> m_idOutIdxMap{};
71 std::vector<const xAOD::RpcMeasurement*> m_dumpedPRDS{};
73 bool m_applyFilter{false};
74 };
75}
76#endif
bool msgLvl(const MSG::Level lvl) const
Test the output level.
std::unordered_map< Identifier, unsigned int > m_idOutIdxMap
Map of Identifiers to the position index inside the vector.
TwoVectorBranch m_locCov
local covariance of the measurement
SG::ReadHandleKey< xAOD::RpcMeasurementContainer > m_key
VectorBranch< float > & m_time
Time of the measurement.
std::vector< const xAOD::RpcMeasurement * > m_dumpedPRDS
Vector of PRDs parsed via the external mechanism. These measurements are parsed first.
void dumpAllHitsInChamber(const Identifier &chamberId)
All hits from this particular chamber identifier are dumped to the output including the ones from the...
bool m_applyFilter
Apply a filter to dump the prds.
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
TwoVectorBranch m_locPos
Local strip position of the measurement.
RpcIdentifierBranch m_id
Identifier of the Mdt.
VectorBranch< float > & m_toT
Time over threshold.
RpcMeasurementVariables(MuonTesterTree &tree, const std::string &inContainer, MSG::Level msgLvl=MSG::Level::INFO, const std::string &collName="RpcPrd")
ThreeVectorBranch m_globPos
Position of the Mdt drift circle in the global frame.
void enableSeededDump()
Activates the seeded dump of the branch.
unsigned int push_back(const xAOD::RpcMeasurement &measurement)
Push back the drift circle measurement to the output.
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...
TesterModuleBase(MuonTesterTree &tree, const std::string &grp_name, MSG::Level msglvl=MSG::Level::INFO)
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
RpcMeasurement_v1 RpcMeasurement