ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::MuonHitSummaryTool Class Reference

Helper tool to extract simple counts from a Trk::Track, Trk::TrackSummary or Trk::MuonTrackSummary. More...

#include <MuonHitSummaryTool.h>

Inheritance diagram for Muon::MuonHitSummaryTool:
Collaboration diagram for Muon::MuonHitSummaryTool:

Public Member Functions

 MuonHitSummaryTool (const std::string &, const std::string &, const IInterface *)
virtual ~MuonHitSummaryTool ()=default
StatusCode initialize ()
virtual CompactSummary summary (const Trk::Track &track) const
 Calculate compact summary.
virtual CompactSummary summary (const Trk::TrackSummary &summary) const
 Calculate compact summary.
virtual CompactSummary summary (const Trk::MuonTrackSummary &summary) const
 Calculate compact summary.
virtual CompactSummary summary (const Muon::MuonSegment &segment) const
 Calculate compact summary.
virtual CompactSummary summary (const std::vector< const Muon::MuonSegment * > &segments) const
 Calculate compact summary.
virtual CompactSummary summary (const std::vector< const Trk::MeasurementBase * > &measurements) const
 Calculate compact summary.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()
 IAlgTool interface.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

void getMuonTrackSummary (Trk::MuonTrackSummary &muonSummary, const Trk::Track &track) const
 helper function to calculate MuonTrackSummary from track
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Static Private Member Functions

static void calculateSummaryCounts (CompactSummary &sum)

Private Attributes

ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc
ServiceHandle< IMuonEDMHelperSvcm_edmHelperSvc
PublicToolHandle< MuonEDMPrinterToolm_printer
ToolHandle< Trk::ITrackSummaryHelperToolm_summaryHelperTool
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Helper tool to extract simple counts from a Trk::Track, Trk::TrackSummary or Trk::MuonTrackSummary.

Definition at line 24 of file MuonHitSummaryTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MuonHitSummaryTool()

Muon::MuonHitSummaryTool::MuonHitSummaryTool ( const std::string & ty,
const std::string & na,
const IInterface * pa )

Definition at line 16 of file MuonHitSummaryTool.cxx.

16 : AthAlgTool(ty, na, pa) {
17 declareInterface<IMuonHitSummaryTool>(this);
18 }
AthAlgTool()
Default constructor:

◆ ~MuonHitSummaryTool()

virtual Muon::MuonHitSummaryTool::~MuonHitSummaryTool ( )
virtualdefault

Member Function Documentation

◆ calculateSummaryCounts()

void Muon::MuonHitSummaryTool::calculateSummaryCounts ( IMuonHitSummaryTool::CompactSummary & sum)
staticprivate

Definition at line 141 of file MuonHitSummaryTool.cxx.

141 {
142 sum.nprecisionLayers = 0;
143 sum.nprecisionGoodLayers = 0;
144 sum.nprecisionHoleLayers = 0;
145 sum.nphiLayers = 0;
146 sum.ntrigEtaLayers = 0;
147 sum.nphiHoleLayers = 0;
148 sum.ntrigEtaHoleLayers = 0;
149
150 std::map<MuonStationIndex::StIndex, Muon::IMuonHitSummaryTool::HitSummary>::const_iterator hsit = sum.stationLayers.begin();
151 std::map<MuonStationIndex::StIndex, Muon::IMuonHitSummaryTool::HitSummary>::const_iterator hsit_end = sum.stationLayers.end();
152 for (; hsit != hsit_end; ++hsit) {
153 const Muon::IMuonHitSummaryTool::HitSummary& hitSummary = hsit->second;
154 sum.ntrigEtaLayers += hitSummary.netaTriggerLayers;
155 sum.nphiHoleLayers += hitSummary.nphiHoleLayers;
156 sum.ntrigEtaHoleLayers += hitSummary.netaTriggerHoleLayers;
157 if (hitSummary.nprecisionHits > 2) {
158 ++sum.nprecisionLayers;
159 if (hitSummary.nprecisionGoodHits > 2) {
160 ++sum.nprecisionGoodLayers;
161 sum.isEndcap = hitSummary.isEndcap;
162 sum.isSmall = hitSummary.isSmall;
163 }
164 } else if (hitSummary.nprecisionHoles > 2)
165 ++sum.nprecisionHoleLayers;
166 }
167 sum.nphiLayers = sum.phiLayers.size();
168 }
unsigned int nprecisionHoles
number of paired eta/phi trigger layers
unsigned int nphiHoleLayers
number of eta trigger layer holes
unsigned int netaTriggerHoleLayers
number of precision holes
unsigned int nprecisionGoodHits
number of precision hits
unsigned int netaTriggerLayers
number of precision hits that are not deweighted
bool isEndcap
number of out of bounds hits

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ getMuonTrackSummary()

void Muon::MuonHitSummaryTool::getMuonTrackSummary ( Trk::MuonTrackSummary & muonSummary,
const Trk::Track & track ) const
private

helper function to calculate MuonTrackSummary from track

Definition at line 28 of file MuonHitSummaryTool.cxx.

28 {
29 // check whether helper tool set
30 if (m_summaryHelperTool.empty()) return;
31
32 const EventContext& ctx = Gaudi::Hive::currentContext(); // FIXME: should be passed as argument
33
34 Trk::TrackSummary tmpSummary;
35 m_summaryHelperTool->addDetailedTrackSummary(ctx, track, tmpSummary);
36 if (!tmpSummary.muonTrackSummary()) {
37 ATH_MSG_WARNING("Could not create MuonTrackSummary, please enable the creation in " << m_summaryHelperTool);
38 return;
39 }
40 muonSummary = *tmpSummary.muonTrackSummary();
41 }
#define ATH_MSG_WARNING(x)
ToolHandle< Trk::ITrackSummaryHelperTool > m_summaryHelperTool
const MuonTrackSummary * muonTrackSummary() const
returns a pointer to the MuonTrackSummary if available

◆ initialize()

StatusCode Muon::MuonHitSummaryTool::initialize ( )

Definition at line 20 of file MuonHitSummaryTool.cxx.

20 {
21 ATH_CHECK(m_idHelperSvc.retrieve());
22 if (!m_summaryHelperTool.empty()) ATH_CHECK(m_summaryHelperTool.retrieve());
23 if (!m_printer.empty()) ATH_CHECK(m_printer.retrieve());
24 ATH_CHECK(m_edmHelperSvc.retrieve());
25 return StatusCode::SUCCESS;
26 }
#define ATH_CHECK
Evaluate an expression and check for errors.
PublicToolHandle< MuonEDMPrinterTool > m_printer
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & Muon::IMuonHitSummaryTool::interfaceID ( )
inlinestaticinherited

IAlgTool interface.

Definition at line 142 of file IMuonHitSummaryTool.h.

142{ return IID_IMuonHitSummaryTool; }
static const InterfaceID IID_IMuonHitSummaryTool("Muon::IMuonHitSummaryTool", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ summary() [1/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const Muon::MuonSegment & segment) const
virtual

Calculate compact summary.

Parameters
segmentinput MuonSegment
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 170 of file MuonHitSummaryTool.cxx.

170 {
171 return summary(segment.containedMeasurements());
172 }
virtual CompactSummary summary(const Trk::Track &track) const
Calculate compact summary.
const std::vector< const Trk::MeasurementBase * > & containedMeasurements() const
returns the vector of Trk::MeasurementBase objects

◆ summary() [2/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const std::vector< const Muon::MuonSegment * > & segments) const
virtual

Calculate compact summary.

Parameters
segmentsinput vector of MuonSegments
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 174 of file MuonHitSummaryTool.cxx.

174 {
175 std::vector<const Trk::MeasurementBase*> rioVec;
176 std::vector<const Muon::MuonSegment*>::const_iterator sit = segments.begin();
177 std::vector<const Muon::MuonSegment*>::const_iterator sit_end = segments.end();
178 for (; sit != sit_end; ++sit)
179 rioVec.insert(rioVec.end(), (*sit)->containedMeasurements().begin(), (*sit)->containedMeasurements().end());
180 return summary(rioVec);
181 }

◆ summary() [3/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const std::vector< const Trk::MeasurementBase * > & measurements) const
virtual

Calculate compact summary.

Parameters
measurementsinput vector of MeasurementBase
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 183 of file MuonHitSummaryTool.cxx.

183 {
185 std::map<int, int> sectorLayerCounts; // count hits per sector
186
187 std::map<MuonStationIndex::StIndex, std::map<MuonStationIndex::PhiIndex, std::pair<int, int> > > countLayersPerStation;
188
189 std::vector<const Trk::MeasurementBase*>::const_iterator it = rioVec.begin();
190 std::vector<const Trk::MeasurementBase*>::const_iterator it_end = rioVec.end();
191 for (; it != it_end; ++it) {
192 Identifier id = m_edmHelperSvc->getIdentifier(**it);
193 if (!id.is_valid() || !m_idHelperSvc->isMuon(id)) continue;
194
195 bool isMdt = m_idHelperSvc->isMdt(id);
196 bool isCsc = m_idHelperSvc->isCsc(id);
197 bool measuresPhi = m_idHelperSvc->measuresPhi(id);
198
199 // only account for sectors if chamber has eta hits
200 if (isMdt || (isCsc && !measuresPhi)) {
201 int sector = m_idHelperSvc->sector(id);
202 if (isMdt) ++sectorLayerCounts[sector];
203 if (isCsc) ++sectorLayerCounts[sector];
204 sum.sectors.insert(sector);
205 }
206
207 // only account for phi layers if not an MDT and has phi hits
208 if (!isMdt && measuresPhi) {
210 sum.phiLayers.insert(index);
211 }
212
214 HitSummary& hitSummary = sum.stationLayers[index];
215 if (isMdt || (isCsc && !measuresPhi)) ++hitSummary.nprecisionHits;
216
217 if (!isMdt) {
218 MuonStationIndex::PhiIndex pindex = m_idHelperSvc->phiIndex(id);
219 std::pair<int, int> etaPhiCount = countLayersPerStation[index][pindex];
220 if (measuresPhi)
221 ++etaPhiCount.first;
222 else
223 ++etaPhiCount.second;
224 }
225 }
226
227 int maxHits = -1;
228 int mainSec = -1;
229 std::map<int, int>::iterator secIt = sectorLayerCounts.begin();
230 std::map<int, int>::iterator secIt_end = sectorLayerCounts.end();
231 for (; secIt != secIt_end; ++secIt) {
232 if (secIt->second > maxHits) {
233 maxHits = secIt->second;
234 mainSec = secIt->first;
235 }
236 }
237 sum.mainSector = mainSec;
238
239 std::map<MuonStationIndex::StIndex, std::map<MuonStationIndex::PhiIndex, std::pair<int, int> > >::iterator sit =
240 countLayersPerStation.begin();
241 std::map<MuonStationIndex::StIndex, std::map<MuonStationIndex::PhiIndex, std::pair<int, int> > >::iterator sit_end =
242 countLayersPerStation.end();
243 for (; sit != sit_end; ++sit) {
244 HitSummary& hitSummary = sum.stationLayers[sit->first];
245
246 std::map<MuonStationIndex::PhiIndex, std::pair<int, int> >::iterator pit = sit->second.begin();
247 std::map<MuonStationIndex::PhiIndex, std::pair<int, int> >::iterator pit_end = sit->second.end();
248 for (; pit != pit_end; ++pit) {
249 if (pit->second.first != 0) ++hitSummary.nphiLayers;
250 if (pit->second.second != 0 && pit->first != MuonStationIndex::PhiIndex::CSC) ++hitSummary.netaTriggerLayers;
251 if (pit->second.second != 0 && pit->second.first != 0) ++hitSummary.netaPhiLayers;
252 }
253 }
255 return sum;
256 }
static void calculateSummaryCounts(CompactSummary &sum)
str index
Definition DeMoScan.py:362
StIndex
enum to classify the different station layers in the muon spectrometer
PhiIndex
enum to classify the different phi layers in the muon spectrometer

◆ summary() [4/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const Trk::MuonTrackSummary & summary) const
virtual

Calculate compact summary.

Can fail if summary does not have a MuonTrackSummary.

Parameters
summaryMuonTrackSummary of input track
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 61 of file MuonHitSummaryTool.cxx.

61 {
63
64 std::map<int, int> sectorLayerCounts; // count hits per sector
65
66 // loop over chambers
67 std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit = s.chamberHitSummary().begin();
68 std::vector<Trk::MuonTrackSummary::ChamberHitSummary>::const_iterator chit_end = s.chamberHitSummary().end();
69 for (; chit != chit_end; ++chit) {
70 const Identifier& chId = chit->chamberId();
71 bool isMdt = m_idHelperSvc->isMdt(chId);
72 bool isCsc = m_idHelperSvc->isCsc(chId);
73 bool isMM = m_idHelperSvc->isMM(chId);
74 bool issTgc = m_idHelperSvc->issTgc(chId);
75 bool isEIPrec = isCsc || isMM || issTgc;
76
77 // only account for sectors if chamber has eta hits
78 if ((isMdt && chit->nhits() > 0) || (isEIPrec && chit->netaHits() > 0)) {
79 int sector = m_idHelperSvc->sector(chId);
80 if (isMdt)
81 sectorLayerCounts[sector] += chit->nhits();
82 else
83 sectorLayerCounts[sector] += chit->netaHits();
84 sum.sectors.insert(sector);
85 }
86
87 // only account for phi layers if not an MDT and has phi hits
88 if (!isMdt && chit->nphiHits() > 0) {
90 sum.phiLayers.insert(index);
91 }
92
93 MuonStationIndex::StIndex index = m_idHelperSvc->stationIndex(chId);
94 HitSummary& hitSummary = sum.stationLayers[index];
95 hitSummary.isEndcap = m_idHelperSvc->isEndcap(chId);
96 hitSummary.isSmall = m_idHelperSvc->isSmallChamber(chId);
97 if (isMdt) {
98 hitSummary.nprecisionHits += chit->nhits();
99 hitSummary.nprecisionHoles += chit->nholes();
100 hitSummary.nprecisionOutliers += chit->noutliers();
101 hitSummary.nprecisionCloseHits += chit->ncloseHits();
102 hitSummary.nprecisionGoodHits += chit->ngoodHits();
103 hitSummary.noutBoundsHits += chit->noutBoundsHits();
104 } else {
105 if (isEIPrec) {
106 hitSummary.nprecisionHits += chit->netaHits();
107 hitSummary.nprecisionGoodHits += chit->netaHits();
108 hitSummary.nprecisionHoles += chit->etaProjection().nholes;
109 hitSummary.nprecisionOutliers += chit->etaProjection().noutliers;
110 hitSummary.nprecisionCloseHits += chit->etaProjection().ncloseHits;
111 } else {
112 if (chit->netaHits() > 0) ++hitSummary.netaTriggerLayers;
113 }
114 if (chit->nphiHits() > 0) ++hitSummary.nphiLayers;
115 if (chit->nphiHits() > 0 && chit->netaHits() > 0) ++hitSummary.netaPhiLayers;
116
117 if (!isEIPrec && chit->etaProjection().nholes > 0 && chit->etaProjection().nhits == 0) ++hitSummary.netaTriggerHoleLayers;
118 if (chit->phiProjection().nholes > 0 && chit->phiProjection().nhits == 0) ++hitSummary.nphiHoleLayers;
119 }
120 }
121
122 int maxHits = -1;
123 int mainSec = -1;
124 std::map<int, int>::iterator secIt = sectorLayerCounts.begin();
125 std::map<int, int>::iterator secIt_end = sectorLayerCounts.end();
126 for (; secIt != secIt_end; ++secIt) {
127 if (secIt->second > maxHits) {
128 maxHits = secIt->second;
129 mainSec = secIt->first;
130 }
131 }
132 sum.mainSector = mainSec;
133
135
136 if (msgLvl(MSG::DEBUG)) ATH_MSG_DEBUG(sum.dump());
137
138 return sum;
139 }
#define ATH_MSG_DEBUG(x)
bool msgLvl(const MSG::Level lvl) const

◆ summary() [5/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const Trk::Track & track) const
virtual

Calculate compact summary.

Parameters
trackinput track
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 43 of file MuonHitSummaryTool.cxx.

43 {
44 if (msgLvl(MSG::DEBUG)) ATH_MSG_DEBUG(m_printer->print(track) << std::endl << m_printer->printStations(track));
45
46 // check if the track already has a MuonTrackSummary, if so use it
47 if (track.trackSummary() && track.trackSummary()->muonTrackSummary()) return summary(*track.trackSummary()->muonTrackSummary());
48
49 // calculate muon summary from track
50 Trk::MuonTrackSummary muonSummary;
51 getMuonTrackSummary(muonSummary, track);
52 return summary(muonSummary);
53 }
void getMuonTrackSummary(Trk::MuonTrackSummary &muonSummary, const Trk::Track &track) const
helper function to calculate MuonTrackSummary from track

◆ summary() [6/6]

IMuonHitSummaryTool::CompactSummary Muon::MuonHitSummaryTool::summary ( const Trk::TrackSummary & summary) const
virtual

Calculate compact summary.

Parameters
summaryTrackSummary of input track
Returns
CompactSummary

Implements Muon::IMuonHitSummaryTool.

Definition at line 55 of file MuonHitSummaryTool.cxx.

55 {
56 // check if the track summary has a MuonTrackSummary, if so use it
57 if (sum.muonTrackSummary()) return summary(*sum.muonTrackSummary());
58 return {};
59 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default).

Definition at line 393 of file AthCommonDataStore.h.

◆ m_edmHelperSvc

ServiceHandle<IMuonEDMHelperSvc> Muon::MuonHitSummaryTool::m_edmHelperSvc
private
Initial value:
{
this,
"edmHelper",
"Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
"Handle to the service providing the IMuonEDMHelperSvc interface",
}

Definition at line 77 of file MuonHitSummaryTool.h.

77 {
78 this,
79 "edmHelper",
80 "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
81 "Handle to the service providing the IMuonEDMHelperSvc interface",
82 };

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default).

Definition at line 390 of file AthCommonDataStore.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> Muon::MuonHitSummaryTool::m_idHelperSvc
private
Initial value:
{
this,
"MuonIdHelperSvc",
"Muon::MuonIdHelperSvc/MuonIdHelperSvc",
}

Definition at line 72 of file MuonHitSummaryTool.h.

72 {
73 this,
74 "MuonIdHelperSvc",
75 "Muon::MuonIdHelperSvc/MuonIdHelperSvc",
76 };

◆ m_printer

PublicToolHandle<MuonEDMPrinterTool> Muon::MuonHitSummaryTool::m_printer
private
Initial value:
{
this,
"Printer",
"Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
}

Definition at line 84 of file MuonHitSummaryTool.h.

84 {
85 this,
86 "Printer",
87 "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
88 };

◆ m_summaryHelperTool

ToolHandle<Trk::ITrackSummaryHelperTool> Muon::MuonHitSummaryTool::m_summaryHelperTool
private
Initial value:
{
this,
"MuonTrackSummaryHelperTool",
"Muon::MuonTrackSummaryHelperTool/MuonTrackSummaryHelperTool",
}

Definition at line 89 of file MuonHitSummaryTool.h.

89 {
90 this,
91 "MuonTrackSummaryHelperTool",
92 "Muon::MuonTrackSummaryHelperTool/MuonTrackSummaryHelperTool",
93 };

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: