ATLAS Offline Software
Loading...
Searching...
No Matches
TrackSummaryModule.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef MUONPRDTESTR4_TRACKSUMMARYMODULE_H
5#define MUONPRDTESTR4_TRACKSUMMARYMODULE_H
6
11
12
13namespace MuonValR4{
16 class TrackSummaryValueBranch : public MuonVal::VectorBranch<std::uint8_t> {
17 public:
30 const std::string& collName,
31 Category cat,
32 Status status,
33 LayerIndex layer,
34 bool isSmall);
35 using VectorBranch<std::uint8_t>::push_back;
37 void push_back(const MuonR4::HitSummary& summary);
38 private:
39 Category m_cat{Category::nCategories};
40 Status m_status{Status::MaxValue};
41 LayerIndex m_layer{LayerIndex::LayerIndexMax};
42 bool m_isSmall{false};
43 };
44
46 public:
49 const std::string& collName,
50 const MuonR4::ITrackSummaryTool* summaryTool);
53 bool fill(const EventContext& ctx) override;
55 bool init() override;
56
58
59 void push_back(const EventContext& ctx, const ConstTrack_t track);
60 void push_back(const EventContext& ctx, const MuonR4::MsTrackSeed& seed);
61 void push_back(const MuonR4::HitSummary& summary);
62
63
64 private:
65 using ValuePtr_t = std::shared_ptr<TrackSummaryValueBranch>;
66 std::vector<ValuePtr_t> m_values{};
68
69 };
70}
71
72#endif
Interface tool to calculate the hit summary of tracks & track seeds in the MuonSpectrometer.
ActsTrk::TrackContainer::ConstTrackProxy ConstTrack_t
Abrivation of the Track proxy.
bool fill(const EventContext &ctx) override
Clears vector in cases that it has not been updated in this event Returns false if the vector has not...
std::vector< ValuePtr_t > m_values
std::shared_ptr< TrackSummaryValueBranch > ValuePtr_t
void push_back(const EventContext &ctx, const ConstTrack_t track)
TrackSummaryModule(MuonVal::MuonTesterTree &parent, const std::string &collName, const MuonR4::ITrackSummaryTool *summaryTool)
Constructor.
MuonR4::ITrackSummaryTool::ConstTrack_t ConstTrack_t
bool init() override
Initialized the Branch.
const MuonR4::ITrackSummaryTool * m_summaryTool
MuonR4::HitSummary::HitCategory Category
TrackSummaryValueBranch(TTree *tree, const std::string &collName, Category cat, Status status, LayerIndex layer, bool isSmall)
Constructor taking the reference to the tree & the summary values together with an overall collection...
MuonR4::HitSummary::LayerIndex LayerIndex
MuonR4::HitSummary::Status Status
void push_back(const MuonR4::HitSummary &summary)
push back the assigned hit summary value
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
VectorBranch(TTree *tree, const std::string &name)
Lightweight algorithm to read xAOD MDT sim hits and (fast-digitised) drift circles from SG and fill a...
bool isSmall(const ChIndex index)
Returns true if the chamber index is in a small sector.
Summary struct to hold the hit counts on the track per MS layer.
Definition HitSummary.h:22
Muon::MuonStationIndex::LayerIndex LayerIndex
Abrivation of the layer index.
Definition HitSummary.h:25
HitCategory
Category of the hit.
Definition HitSummary.h:29
Status
Contribution to the track fit.
Definition HitSummary.h:36