ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSegmentPerformanceAlg Class Reference

#include <MuonSegmentPerformanceAlg.h>

Inheritance diagram for MuonSegmentPerformanceAlg:
Collaboration diagram for MuonSegmentPerformanceAlg:

Public Member Functions

 MuonSegmentPerformanceAlg (const std::string &name, ISvcLocator *pSvcLocator)
virtual ~MuonSegmentPerformanceAlg ()=default
virtual StatusCode initialize () override
virtual StatusCode execute () override
virtual StatusCode finalize () override
unsigned int cardinality () const override final
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
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 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

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

using counter_t = std::array<int, s_chIdxMax>
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

std::string printRatio (const std::string &prefix, unsigned int begin, unsigned int end, const counter_t &reco, const counter_t &truth) const
std::string printRatio (const std::string &prefix, unsigned int begin, unsigned int end, const counter_t &reco) const
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

bool m_writeToFile
 name of external file to write statistics
std::string m_fileName
std::ofstream m_fileOutput
 output file
SG::ReadHandleKey< xAOD::MuonSegmentContainerm_segmentKey {this, "SegmentLocation", "MuonSegments"}
SG::ReadHandleKey< xAOD::MuonSegmentContainerm_truthSegmentKey {this, "TruthSegmentLocation", "MuonTruthSegments"}
SG::ReadDecorHandleKey< xAOD::MuonSegmentContainerm_truthSegmenLinkKey {this, "truthSegmentsRecoSegmentLinkKey", m_truthSegmentKey, "recoSegmentLink" }
unsigned int m_nevents
std::vector< int > m_nhitCuts
std::vector< std::string > m_hitCutString
std::vector< counter_tm_ntruth
std::vector< counter_tm_nfound
std::vector< counter_tm_nfake
DataObjIDColl m_extendedExtraObjects
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

Static Private Attributes

static constexpr unsigned s_chIdxMax = Muon::MuonStationIndex::toInt(Muon::MuonStationIndex::ChIndex::ChIndexMax)

Detailed Description

Definition at line 18 of file MuonSegmentPerformanceAlg.h.

Member Typedef Documentation

◆ counter_t

using MuonSegmentPerformanceAlg::counter_t = std::array<int, s_chIdxMax>
private

Definition at line 32 of file MuonSegmentPerformanceAlg.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MuonSegmentPerformanceAlg()

MuonSegmentPerformanceAlg::MuonSegmentPerformanceAlg ( const std::string & name,
ISvcLocator * pSvcLocator )

Definition at line 13 of file MuonSegmentPerformanceAlg.cxx.

13 :
14 AthAlgorithm(name, pSvcLocator),
15 m_writeToFile(false),
16 m_nevents(0) {
17
18 declareProperty("writeToFile", m_writeToFile = false);
19 declareProperty("FileName", m_fileName = "MuonSegmentPerformanceAlg.txt");
20}
AthAlgorithm()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
bool m_writeToFile
name of external file to write statistics

◆ ~MuonSegmentPerformanceAlg()

virtual MuonSegmentPerformanceAlg::~MuonSegmentPerformanceAlg ( )
virtualdefault

Member Function Documentation

◆ cardinality()

unsigned int MuonSegmentPerformanceAlg::cardinality ( ) const
inlinefinaloverride

Definition at line 29 of file MuonSegmentPerformanceAlg.h.

29{ return 1;}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::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 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::evtStore ( )
inlineinherited

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

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode MuonSegmentPerformanceAlg::execute ( )
overridevirtual

Definition at line 39 of file MuonSegmentPerformanceAlg.cxx.

39 {
40 const EventContext& ctx{Gaudi::Hive::currentContext()};
41 const xAOD::MuonSegmentContainer* segments = nullptr;
42 const xAOD::MuonSegmentContainer* truthSegments = nullptr;
43 ATH_CHECK(SG::get(segments, m_segmentKey, ctx));
44 ATH_CHECK(SG::get(truthSegments, m_truthSegmentKey, ctx));
45 if (!segments || !truthSegments) {
46 return StatusCode::SUCCESS;
47 }
48 std::set<const xAOD::MuonSegment*> matchedSegments;
49 ++m_nevents;
50
51 bool missedSegment = false;
52 for (const auto seg : *truthSegments) {
53 ChIndex chIndex = seg->chamberIndex();
54 if (chIndex == ChIndex::ChUnknown || chIndex == ChIndex::ChIndexMax) {
55 continue;
56 }
57 unsigned int index = 0;
58 if (seg->nPrecisionHits() < 3) continue;
59 while ((index < m_nhitCuts.size() - 1) && seg->nPrecisionHits() > m_nhitCuts[index] ) ++index;
60
62
63 if (index == 2 && (chIndex == ChIndex::CSS || chIndex == ChIndex::CSL) ){
64 ATH_MSG_WARNING(chName(chIndex)<<" with more than 4 layers ");
65 }
66 static const SG::ConstAccessor<ElementLink<xAOD::MuonSegmentContainer> >
67 recoSegmentLinkAcc("recoSegmentLink");
68 const ElementLink<xAOD::MuonSegmentContainer>& recoLink = recoSegmentLinkAcc(*seg);
69 if (recoLink.isValid()) {
71 matchedSegments.insert(*recoLink);
72 } else {
73 ATH_MSG_DEBUG(" Missing segment in sector "
74 << seg->sector() << " " << chName(chIndex)
75 << " eta " << seg->etaIndex() << " nprec " << seg->nPrecisionHits() << " nphi " << seg->nPhiLayers()
76 << " nTrigEta " << seg->nTrigEtaLayers());
77 missedSegment = true;
78 }
79 }
80 if (missedSegment) ATH_MSG_DEBUG(" Dump Fake segments ");
81
82 for (const auto seg : *segments) {
83 if (matchedSegments.count(seg)) continue;
84 ChIndex chIndex = seg->chamberIndex();
85 if (chIndex == ChIndex::ChUnknown || chIndex == ChIndex::ChIndexMax) {
86 ATH_MSG_WARNING("bad index ");
87 continue;
88 }
89
90 unsigned int index = 0;
91 if (seg->nPrecisionHits() < 3) continue;
92 while ((index < m_nhitCuts.size() - 1) and (seg->nPrecisionHits() > m_nhitCuts[index]) ) ++index;
93 if (missedSegment)
94 ATH_MSG_DEBUG(" Fake segment in sector "
95 << seg->sector() << " " << chName(chIndex)
96 << " eta " << seg->etaIndex() << " nprec " << seg->nPrecisionHits() << " nphi " << seg->nPhiLayers()
97 << " nTrigEta " << seg->nTrigEtaLayers());
98
100 }
101
102 return StatusCode::SUCCESS;
103}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
std::vector< counter_t > m_ntruth
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_segmentKey
std::vector< counter_t > m_nfake
std::vector< counter_t > m_nfound
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_truthSegmentKey
str index
Definition DeMoScan.py:362
ChIndex chIndex(const std::string &index)
convert ChIndex name string to enum
constexpr int toInt(const EnumType enumVal)
const std::string & chName(ChIndex index)
convert ChIndex into a string
ChIndex
enum to classify the different chamber layers in the muon spectrometer
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.
MuonSegmentContainer_v1 MuonSegmentContainer
Definition of the current "MuonSegment container version".

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51{
52 // If we didn't find any symlinks to add, just return the collection
53 // from the base class. Otherwise, return the extended collection.
54 if (!m_extendedExtraObjects.empty()) {
56 }
57 return Algorithm::extraOutputDeps();
58}
DataObjIDColl m_extendedExtraObjects

◆ finalize()

StatusCode MuonSegmentPerformanceAlg::finalize ( )
overridevirtual

Definition at line 146 of file MuonSegmentPerformanceAlg.cxx.

146 {
147 std::ofstream fileOutput;
148 std::string outfile = "muonPerformance_segments.txt";
149 fileOutput.open(outfile.c_str(), std::ios::trunc);
150 std::ostringstream sout;
151 sout.precision(4);
152
153 unsigned int width = 9;
154 sout << "Segment finding efficiencies barrel" << std::endl;
155 sout << " Chambers ";
156 std::string prefix_eff = " Efficiency ";
157 std::string prefix_fake = " Fake rate ";
158 unsigned end{0};
159 for (unsigned int i = 0; i < s_chIdxMax; ++i){
160 if (!isBarrel(static_cast<ChIndex>(i))) {
161 break;
162 }
163 sout << std::setw(width) << chName(static_cast<ChIndex>(i));
164 ++end;
165 }
166 for (unsigned int j = 0; j < end; ++j) {
167 sout << printRatio(prefix_eff + m_hitCutString[j], 0, end, m_nfound[j], m_ntruth[j]);
168 }
169 sout << std::endl;
170 for (unsigned int j = 0; j < end; ++j) {
171 sout << printRatio(prefix_fake + m_hitCutString[j], 0, end, m_nfake[j]);
172 }
173 sout << std::endl;
174
175 sout << "Segment finding efficiencies endcaps" << std::endl;
176 sout << " Chambers ";
177 for (unsigned int i = end; i < s_chIdxMax; ++i)
178 sout << std::setw(width) << chName(static_cast<ChIndex>(i));
179 for (unsigned int j = 0; j < m_nfound.size(); ++j) {
180 sout << printRatio(prefix_eff + m_hitCutString[j], end, s_chIdxMax, m_nfound[j],
181 m_ntruth[j]);
182 }
183 sout << std::endl;
184 for (unsigned int j = 0; j < m_nfound.size(); ++j) {
185 sout << printRatio(prefix_fake + m_hitCutString[j], end, s_chIdxMax, m_nfake[j]);
186 }
187 sout << std::endl;
188 fileOutput << sout.str() << std::endl;
189 fileOutput.close();
190 return StatusCode::SUCCESS;
191}
const double width
std::string printRatio(const std::string &prefix, unsigned int begin, unsigned int end, const counter_t &reco, const counter_t &truth) const
static constexpr unsigned s_chIdxMax
std::vector< std::string > m_hitCutString
bool isBarrel(const ChIndex index)
Returns true if the chamber index points to a barrel chamber.

◆ initialize()

StatusCode MuonSegmentPerformanceAlg::initialize ( )
overridevirtual

Definition at line 22 of file MuonSegmentPerformanceAlg.cxx.

22 {
23 // initialize cuts, please make sure the number of bins and the sizes of the cuts + string are always the same
24 unsigned int nbins = 3;
25 m_nevents = 0;
26 m_ntruth.resize(nbins);
27 m_nfound.resize(nbins);
28 m_nfake.resize(nbins);
29 m_nhitCuts = {3, 4, 5};
30 m_hitCutString = {"n==3 ", "n==4 ", "n>=5 "};
31
35
36 return StatusCode::SUCCESS;
37}
SG::ReadDecorHandleKey< xAOD::MuonSegmentContainer > m_truthSegmenLinkKey

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Algorithm > >::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.

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< Algorithm >::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< Algorithm > >::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.

◆ printRatio() [1/2]

std::string MuonSegmentPerformanceAlg::printRatio ( const std::string & prefix,
unsigned int begin,
unsigned int end,
const counter_t & reco ) const
private

Definition at line 130 of file MuonSegmentPerformanceAlg.cxx.

131 {
132 std::ostringstream sout;
133 unsigned int width = 9;
134 unsigned int precision = 3;
135 sout << std::endl << prefix;
136 for (unsigned int i = begin; i < end; ++i) {
137 sout << std::setw(width) << std::setprecision(precision);
138 if (m_nevents == 0)
139 sout << " ";
140 else
141 sout << static_cast<double>(reco[i]) / static_cast<double>(m_nevents);
142 }
143 return sout.str();
144}

◆ printRatio() [2/2]

std::string MuonSegmentPerformanceAlg::printRatio ( const std::string & prefix,
unsigned int begin,
unsigned int end,
const counter_t & reco,
const counter_t & truth ) const
private

Definition at line 105 of file MuonSegmentPerformanceAlg.cxx.

106 {
107 std::ostringstream sout;
108 unsigned int width = 9;
109 unsigned int precision = 3;
110 sout << std::endl << prefix;
111 for (unsigned int i = begin; i < end; ++i) {
112 sout << std::setw(width) << std::setprecision(precision);
113 if (truth[i] == 0)
114 sout << " ";
115 else
116 sout << static_cast<double>(reco[i]) / static_cast<double>(truth[i]);
117 }
118 sout << std::endl
119 << " #Events "
120 << " ";
121 for (unsigned int i = begin; i < end; ++i) {
122 sout << std::setw(width) << std::setprecision(precision);
123 if (truth[i] == 0)
124 sout << " ";
125 else
126 sout << static_cast<double>(truth[i]);
127 }
128 return sout.str();
129}

◆ 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< Algorithm > >::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< Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.

Definition at line 66 of file AthAlgorithm.cxx.

66 {
68
69 if (sc.isFailure()) {
70 return sc;
71 }
72 ServiceHandle<ICondSvc> cs("CondSvc",name());
73 for (auto h : outputHandles()) {
74 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75 // do this inside the loop so we don't create the CondSvc until needed
76 if ( cs.retrieve().isFailure() ) {
77 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78 return StatusCode::SUCCESS;
79 }
80 if (cs->regHandle(this,*h).isFailure()) {
81 sc = StatusCode::FAILURE;
82 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83 << " with CondSvc");
84 }
85 }
86 }
87 return sc;
88}
#define ATH_MSG_ERROR(x)
static Double_t sc
virtual StatusCode sysInitialize() override
Override sysInitialize.
AthCommonDataStore(const std::string &name, T... args)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::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< Algorithm > >::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< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_fileName

std::string MuonSegmentPerformanceAlg::m_fileName
private

Definition at line 39 of file MuonSegmentPerformanceAlg.h.

◆ m_fileOutput

std::ofstream MuonSegmentPerformanceAlg::m_fileOutput
private

output file

Definition at line 42 of file MuonSegmentPerformanceAlg.h.

◆ m_hitCutString

std::vector<std::string> MuonSegmentPerformanceAlg::m_hitCutString
private

Definition at line 50 of file MuonSegmentPerformanceAlg.h.

◆ m_nevents

unsigned int MuonSegmentPerformanceAlg::m_nevents
private

Definition at line 48 of file MuonSegmentPerformanceAlg.h.

◆ m_nfake

std::vector<counter_t > MuonSegmentPerformanceAlg::m_nfake
private

Definition at line 53 of file MuonSegmentPerformanceAlg.h.

◆ m_nfound

std::vector<counter_t > MuonSegmentPerformanceAlg::m_nfound
private

Definition at line 52 of file MuonSegmentPerformanceAlg.h.

◆ m_nhitCuts

std::vector<int> MuonSegmentPerformanceAlg::m_nhitCuts
private

Definition at line 49 of file MuonSegmentPerformanceAlg.h.

◆ m_ntruth

std::vector<counter_t > MuonSegmentPerformanceAlg::m_ntruth
private

Definition at line 51 of file MuonSegmentPerformanceAlg.h.

◆ m_segmentKey

SG::ReadHandleKey<xAOD::MuonSegmentContainer> MuonSegmentPerformanceAlg::m_segmentKey {this, "SegmentLocation", "MuonSegments"}
private

Definition at line 44 of file MuonSegmentPerformanceAlg.h.

44{this, "SegmentLocation", "MuonSegments"};

◆ m_truthSegmenLinkKey

SG::ReadDecorHandleKey<xAOD::MuonSegmentContainer> MuonSegmentPerformanceAlg::m_truthSegmenLinkKey {this, "truthSegmentsRecoSegmentLinkKey", m_truthSegmentKey, "recoSegmentLink" }
private

Definition at line 46 of file MuonSegmentPerformanceAlg.h.

46{this, "truthSegmentsRecoSegmentLinkKey", m_truthSegmentKey, "recoSegmentLink" };

◆ m_truthSegmentKey

SG::ReadHandleKey<xAOD::MuonSegmentContainer> MuonSegmentPerformanceAlg::m_truthSegmentKey {this, "TruthSegmentLocation", "MuonTruthSegments"}
private

Definition at line 45 of file MuonSegmentPerformanceAlg.h.

45{this, "TruthSegmentLocation", "MuonTruthSegments"};

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeToFile

bool MuonSegmentPerformanceAlg::m_writeToFile
private

name of external file to write statistics

Definition at line 38 of file MuonSegmentPerformanceAlg.h.

◆ s_chIdxMax

unsigned MuonSegmentPerformanceAlg::s_chIdxMax = Muon::MuonStationIndex::toInt(Muon::MuonStationIndex::ChIndex::ChIndexMax)
staticconstexprprivate

Definition at line 31 of file MuonSegmentPerformanceAlg.h.


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