ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCombined::MuonCombinedDebuggerTool Class Reference

#include <MuonCombinedDebuggerTool.h>

Inheritance diagram for MuonCombined::MuonCombinedDebuggerTool:
Collaboration diagram for MuonCombined::MuonCombinedDebuggerTool:

Public Member Functions

 MuonCombinedDebuggerTool (const std::string &type, const std::string &name, const IInterface *parent)
 ~MuonCombinedDebuggerTool ()=default
StatusCode initialize () override
void fillBranches (const MuonCandidateCollection &muonCandidates, const InDetCandidateCollection &inDetCandidates)
void fillMsIdBranches (const MuonCandidateCollection &muonCandidates, const InDetCandidateCollection &inDetCandidates)
void fillIdBranches (const InDetCandidateCollection &inDetCandidates)
void fillMsBranches (const MuonCandidateCollection &muonCandidates)
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 ()

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 bookBranches ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ToolHandle< Rec::IMuonMatchQualitym_matchQuality {this, "MuonMatchQuality", "Rec::MuonMatchQuality/MuonMatchQuality"}
ToolHandle< Trk::ITruthToTrackm_truthToTrack {this, "TruthToTrack", "Trk::TruthToTrack/TruthToTrack"}
ServiceHandle< ITHistSvc > m_histSvc
TTree * m_recoTree
int m_eventNumber {}
std::vector< int > m_mstrack_has_truth
std::vector< int > m_mstrack_has_truth_par
std::vector< int > m_mstrack_truth_pdgid
std::vector< int > m_mstrack_truth_uniqueID
std::vector< double > m_mstrack_truth_sur_x
std::vector< double > m_mstrack_truth_sur_y
std::vector< double > m_mstrack_truth_sur_z
std::vector< double > m_mstrack_truth_d0
std::vector< double > m_mstrack_truth_z0
std::vector< double > m_mstrack_truth_phi0
std::vector< double > m_mstrack_truth_theta
std::vector< double > m_mstrack_truth_qOverP
std::vector< double > m_mstrack_sur_x
std::vector< double > m_mstrack_sur_y
std::vector< double > m_mstrack_sur_z
std::vector< double > m_mstrack_d0
std::vector< double > m_mstrack_z0
std::vector< double > m_mstrack_phi0
std::vector< double > m_mstrack_theta
std::vector< double > m_mstrack_qOverP
std::vector< double > m_mstrack_cov_d0
std::vector< double > m_mstrack_cov_z0
std::vector< double > m_mstrack_cov_phi0
std::vector< double > m_mstrack_cov_theta
std::vector< double > m_mstrack_cov_qOverP
std::vector< int > m_mstrack_has_sa
std::vector< double > m_mstrack_sa_sur_x
std::vector< double > m_mstrack_sa_sur_y
std::vector< double > m_mstrack_sa_sur_z
std::vector< double > m_mstrack_sa_d0
std::vector< double > m_mstrack_sa_z0
std::vector< double > m_mstrack_sa_phi0
std::vector< double > m_mstrack_sa_theta
std::vector< double > m_mstrack_sa_qOverP
std::vector< double > m_mstrack_sa_cov_d0
std::vector< double > m_mstrack_sa_cov_z0
std::vector< double > m_mstrack_sa_cov_phi0
std::vector< double > m_mstrack_sa_cov_theta
std::vector< double > m_mstrack_sa_cov_qOverP
std::vector< int > m_idtrack_has_truth
std::vector< int > m_idtrack_has_truth_par
std::vector< int > m_idtrack_truth_pdgid
std::vector< int > m_idtrack_truth_uniqueID
std::vector< double > m_idtrack_truth_sur_x
std::vector< double > m_idtrack_truth_sur_y
std::vector< double > m_idtrack_truth_sur_z
std::vector< double > m_idtrack_truth_d0
std::vector< double > m_idtrack_truth_z0
std::vector< double > m_idtrack_truth_phi0
std::vector< double > m_idtrack_truth_theta
std::vector< double > m_idtrack_truth_qOverP
std::vector< double > m_idtrack_sur_x
std::vector< double > m_idtrack_sur_y
std::vector< double > m_idtrack_sur_z
std::vector< double > m_idtrack_d0
std::vector< double > m_idtrack_z0
std::vector< double > m_idtrack_phi0
std::vector< double > m_idtrack_theta
std::vector< double > m_idtrack_qOverP
std::vector< double > m_idtrack_cov_d0
std::vector< double > m_idtrack_cov_z0
std::vector< double > m_idtrack_cov_phi0
std::vector< double > m_idtrack_cov_theta
std::vector< double > m_idtrack_cov_qOverP
std::vector< std::vector< double > > m_ms_id_ochi2
std::vector< std::vector< int > > m_ms_id_ondf
std::vector< std::vector< double > > m_ms_id_oprob
std::vector< std::vector< double > > m_ms_id_ichi2
std::vector< std::vector< int > > m_ms_id_indf
std::vector< std::vector< double > > m_ms_id_iprob
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

Definition at line 24 of file MuonCombinedDebuggerTool.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

◆ MuonCombinedDebuggerTool()

MuonCombined::MuonCombinedDebuggerTool::MuonCombinedDebuggerTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 26 of file MuonCombinedDebuggerTool.cxx.

26 :
27 AthAlgTool(type, name, parent), m_histSvc("THistSvc", name), m_recoTree(nullptr) {
28 declareInterface<MuonCombinedDebuggerTool>(this);
29 }
AthAlgTool()
Default constructor:

◆ ~MuonCombinedDebuggerTool()

MuonCombined::MuonCombinedDebuggerTool::~MuonCombinedDebuggerTool ( )
default

Member Function Documentation

◆ bookBranches()

void MuonCombined::MuonCombinedDebuggerTool::bookBranches ( )
private

Definition at line 46 of file MuonCombinedDebuggerTool.cxx.

46 {
47 if (m_recoTree) {
48 ATH_MSG_WARNING("bookBranches() must be called once only! No tree booked!");
49 return;
50 }
51
52 m_recoTree = new TTree("reco", "reco");
53
54 if (m_histSvc->regTree("/RECODEBUG/reco", m_recoTree).isFailure()) ATH_MSG_WARNING("problems registering TTree to THistSvc!");
55
56 m_recoTree->Branch("eventNumber", &m_eventNumber, "eventNumber/I");
57
58 // m_recoTree->Branch("mstrack_truth_nprecLayers", &m_mstrack_truth_nprecLayers);
59 // m_recoTree->Branch("mstrack_nprecLayers", &m_mstrack_nprecLayers);
60
61 m_recoTree->Branch("mstrack_has_truth", &m_mstrack_has_truth);
62 m_recoTree->Branch("mstrack_has_truth_par", &m_mstrack_has_truth_par);
63 m_recoTree->Branch("mstrack_has_sa", &m_mstrack_has_sa);
64
65 m_recoTree->Branch("mstrack_truth_pdgid", &m_mstrack_truth_pdgid);
66 m_recoTree->Branch("mstrack_truth_barcode", &m_mstrack_truth_uniqueID);
67 m_recoTree->Branch("mstrack_truth_sur_x", &m_mstrack_truth_sur_x);
68 m_recoTree->Branch("mstrack_truth_sur_y", &m_mstrack_truth_sur_y);
69 m_recoTree->Branch("mstrack_truth_sur_z", &m_mstrack_truth_sur_z);
70 m_recoTree->Branch("mstrack_truth_d0", &m_mstrack_truth_d0);
71 m_recoTree->Branch("mstrack_truth_z0", &m_mstrack_truth_z0);
72 m_recoTree->Branch("mstrack_truth_phi0", &m_mstrack_truth_phi0);
73 m_recoTree->Branch("mstrack_truth_theta", &m_mstrack_truth_theta);
74 m_recoTree->Branch("mstrack_truth_qOverP", &m_mstrack_truth_qOverP);
75
76 m_recoTree->Branch("mstrack_sur_x", &m_mstrack_sur_x);
77 m_recoTree->Branch("mstrack_sur_y", &m_mstrack_sur_y);
78 m_recoTree->Branch("mstrack_sur_z", &m_mstrack_sur_z);
79 m_recoTree->Branch("mstrack_d0", &m_mstrack_d0);
80 m_recoTree->Branch("mstrack_z0", &m_mstrack_z0);
81 m_recoTree->Branch("mstrack_phi0", &m_mstrack_phi0);
82 m_recoTree->Branch("mstrack_theta", &m_mstrack_theta);
83 m_recoTree->Branch("mstrack_qOverP", &m_mstrack_qOverP);
84 m_recoTree->Branch("mstrack_cov_d0", &m_mstrack_cov_d0);
85 m_recoTree->Branch("mstrack_cov_z0", &m_mstrack_cov_z0);
86 m_recoTree->Branch("mstrack_cov_phi0", &m_mstrack_cov_phi0);
87 m_recoTree->Branch("mstrack_cov_theta", &m_mstrack_cov_theta);
88 m_recoTree->Branch("mstrack_cov_qOverP", &m_mstrack_cov_qOverP);
89
90 m_recoTree->Branch("mstrack_sa_sur_x", &m_mstrack_sa_sur_x);
91 m_recoTree->Branch("mstrack_sa_sur_y", &m_mstrack_sa_sur_y);
92 m_recoTree->Branch("mstrack_sa_sur_z", &m_mstrack_sa_sur_z);
93 m_recoTree->Branch("mstrack_sa_d0", &m_mstrack_sa_d0);
94 m_recoTree->Branch("mstrack_sa_z0", &m_mstrack_sa_z0);
95 m_recoTree->Branch("mstrack_sa_phi0", &m_mstrack_sa_phi0);
96 m_recoTree->Branch("mstrack_sa_theta", &m_mstrack_sa_theta);
97 m_recoTree->Branch("mstrack_sa_qOverP", &m_mstrack_sa_qOverP);
98 m_recoTree->Branch("mstrack_sa_cov_d0", &m_mstrack_sa_cov_d0);
99 m_recoTree->Branch("mstrack_sa_cov_z0", &m_mstrack_sa_cov_z0);
100 m_recoTree->Branch("mstrack_sa_cov_phi0", &m_mstrack_sa_cov_phi0);
101 m_recoTree->Branch("mstrack_sa_cov_theta", &m_mstrack_sa_cov_theta);
102 m_recoTree->Branch("mstrack_sa_cov_qOverP", &m_mstrack_sa_cov_qOverP);
103
104 m_recoTree->Branch("idtrack_truth_pdgid", &m_idtrack_truth_pdgid);
105 m_recoTree->Branch("idtrack_truth_barcode", &m_idtrack_truth_uniqueID);
106 m_recoTree->Branch("idtrack_has_truth", &m_idtrack_has_truth);
107 m_recoTree->Branch("idtrack_has_truth_par", &m_idtrack_has_truth_par);
108 m_recoTree->Branch("idtrack_truth_sur_x", &m_idtrack_truth_sur_x);
109 m_recoTree->Branch("idtrack_truth_sur_y", &m_idtrack_truth_sur_y);
110 m_recoTree->Branch("idtrack_truth_sur_z", &m_idtrack_truth_sur_z);
111 m_recoTree->Branch("idtrack_truth_d0", &m_idtrack_truth_d0);
112 m_recoTree->Branch("idtrack_truth_z0", &m_idtrack_truth_z0);
113 m_recoTree->Branch("idtrack_truth_phi0", &m_idtrack_truth_phi0);
114 m_recoTree->Branch("idtrack_truth_theta", &m_idtrack_truth_theta);
115 m_recoTree->Branch("idtrack_truth_qOverP", &m_idtrack_truth_qOverP);
116
117 m_recoTree->Branch("idtrack_sur_x", &m_idtrack_sur_x);
118 m_recoTree->Branch("idtrack_sur_y", &m_idtrack_sur_y);
119 m_recoTree->Branch("idtrack_sur_z", &m_idtrack_sur_z);
120 m_recoTree->Branch("idtrack_d0", &m_idtrack_d0);
121 m_recoTree->Branch("idtrack_z0", &m_idtrack_z0);
122 m_recoTree->Branch("idtrack_phi0", &m_idtrack_phi0);
123 m_recoTree->Branch("idtrack_theta", &m_idtrack_theta);
124 m_recoTree->Branch("idtrack_qOverP", &m_idtrack_qOverP);
125 m_recoTree->Branch("idtrack_cov_d0", &m_idtrack_cov_d0);
126 m_recoTree->Branch("idtrack_cov_z0", &m_idtrack_cov_z0);
127 m_recoTree->Branch("idtrack_cov_phi0", &m_idtrack_cov_phi0);
128 m_recoTree->Branch("idtrack_cov_theta", &m_idtrack_cov_theta);
129 m_recoTree->Branch("idtrack_cov_qOverP", &m_idtrack_cov_qOverP);
130
131 m_recoTree->Branch("ms_id_ichi2", &m_ms_id_ichi2);
132 m_recoTree->Branch("ms_id_indf", &m_ms_id_indf);
133 m_recoTree->Branch("ms_id_iprob", &m_ms_id_iprob);
134 m_recoTree->Branch("ms_id_ochi2", &m_ms_id_ochi2);
135 m_recoTree->Branch("ms_id_ondf", &m_ms_id_ondf);
136 m_recoTree->Branch("ms_id_oprob", &m_ms_id_oprob);
137 }
#define ATH_MSG_WARNING(x)
std::vector< std::vector< double > > m_ms_id_iprob
std::vector< std::vector< int > > m_ms_id_indf
std::vector< std::vector< double > > m_ms_id_ochi2
std::vector< std::vector< int > > m_ms_id_ondf
std::vector< std::vector< double > > m_ms_id_ichi2
std::vector< std::vector< double > > m_ms_id_oprob

◆ 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

◆ fillBranches()

void MuonCombined::MuonCombinedDebuggerTool::fillBranches ( const MuonCandidateCollection & muonCandidates,
const InDetCandidateCollection & inDetCandidates )

Definition at line 139 of file MuonCombinedDebuggerTool.cxx.

140 {
141 fillMsBranches(muonCandidates);
142 fillIdBranches(inDetCandidates);
143 fillMsIdBranches(muonCandidates, inDetCandidates);
144 if (m_recoTree->Fill() == -1) { ATH_MSG_WARNING("problems writing reco debugging ttree!"); }
145 }
void fillMsIdBranches(const MuonCandidateCollection &muonCandidates, const InDetCandidateCollection &inDetCandidates)
void fillIdBranches(const InDetCandidateCollection &inDetCandidates)
void fillMsBranches(const MuonCandidateCollection &muonCandidates)

◆ fillIdBranches()

void MuonCombined::MuonCombinedDebuggerTool::fillIdBranches ( const InDetCandidateCollection & inDetCandidates)

Definition at line 204 of file MuonCombinedDebuggerTool.cxx.

204 {
205 // truth
206 m_idtrack_truth_pdgid.clear();
208 m_idtrack_has_truth.clear();
210 m_idtrack_truth_sur_x.clear();
211 m_idtrack_truth_sur_y.clear();
212 m_idtrack_truth_sur_z.clear();
213 m_idtrack_truth_d0.clear();
214 m_idtrack_truth_z0.clear();
215 m_idtrack_truth_phi0.clear();
216 m_idtrack_truth_theta.clear();
218
219 // id track
220 m_idtrack_sur_x.clear();
221 m_idtrack_sur_y.clear();
222 m_idtrack_sur_z.clear();
223 m_idtrack_d0.clear();
224 m_idtrack_z0.clear();
225 m_idtrack_phi0.clear();
226 m_idtrack_theta.clear();
227 m_idtrack_qOverP.clear();
228 m_idtrack_cov_d0.clear();
229 m_idtrack_cov_z0.clear();
230 m_idtrack_cov_phi0.clear();
231 m_idtrack_cov_theta.clear();
232 m_idtrack_cov_qOverP.clear();
233
234 for (const auto* inDetCandidate : inDetCandidates) {
235 // id track
236 m_idtrack_sur_x.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->associatedSurface().center().x());
237 m_idtrack_sur_y.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->associatedSurface().center().y());
238 m_idtrack_sur_z.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->associatedSurface().center().z());
239 m_idtrack_d0.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->parameters()[Trk::d0]);
240 m_idtrack_z0.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->parameters()[Trk::z0]);
241 m_idtrack_phi0.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->parameters()[Trk::phi0]);
242 m_idtrack_theta.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->parameters()[Trk::theta]);
243 m_idtrack_qOverP.push_back(inDetCandidate->indetTrackParticle().track()->perigeeParameters()->parameters()[Trk::qOverP]);
244 const AmgSymMatrix(5)* covid = inDetCandidate->indetTrackParticle().track()->perigeeParameters()->covariance();
245 if (covid) {
246 m_idtrack_cov_d0.push_back((*covid)(Trk::d0, Trk::d0));
247 m_idtrack_cov_z0.push_back((*covid)(Trk::z0, Trk::z0));
248 m_idtrack_cov_phi0.push_back((*covid)(Trk::phi0, Trk::phi0));
249 m_idtrack_cov_theta.push_back((*covid)(Trk::theta, Trk::theta));
250 m_idtrack_cov_qOverP.push_back((*covid)(Trk::qOverP, Trk::qOverP));
251 } else {
252 m_idtrack_cov_d0.push_back(-1);
253 m_idtrack_cov_z0.push_back(-1);
254 m_idtrack_cov_phi0.push_back(-1);
255 m_idtrack_cov_theta.push_back(-1);
256 m_idtrack_cov_qOverP.push_back(-1);
257 }
258
259 // truth
260 static const SG::ConstAccessor<ElementLink<xAOD::TruthParticleContainer> >
261 truthParticleLinkAcc("truthParticleLink");
262 if (truthParticleLinkAcc.isAvailable(inDetCandidate->indetTrackParticle())) {
263 ElementLink<xAOD::TruthParticleContainer> truthLink =
264 truthParticleLinkAcc(inDetCandidate->indetTrackParticle());
265 if (truthLink.isValid()) {
266 m_idtrack_has_truth.push_back(1);
267 m_idtrack_truth_pdgid.push_back((*truthLink)->pdgId());
268 m_idtrack_truth_uniqueID.push_back(HepMC::uniqueID(*truthLink));
269 const Trk::TrackParameters* perigee = m_truthToTrack->makePerigeeParameters(*truthLink);
270 if (perigee) {
271 m_idtrack_has_truth_par.push_back(1);
272 m_idtrack_truth_sur_x.push_back(perigee->associatedSurface().center().x());
273 m_idtrack_truth_sur_y.push_back(perigee->associatedSurface().center().y());
274 m_idtrack_truth_sur_z.push_back(perigee->associatedSurface().center().z());
275 m_idtrack_truth_d0.push_back(perigee->parameters()[Trk::d0]);
276 m_idtrack_truth_z0.push_back(perigee->parameters()[Trk::z0]);
277 m_idtrack_truth_phi0.push_back(perigee->parameters()[Trk::phi0]);
278 m_idtrack_truth_theta.push_back(perigee->parameters()[Trk::theta]);
279 m_idtrack_truth_qOverP.push_back(perigee->parameters()[Trk::qOverP]);
280 } else {
281 m_idtrack_has_truth_par.push_back(0);
282 m_idtrack_truth_sur_x.push_back(-1);
283 m_idtrack_truth_sur_y.push_back(-1);
284 m_idtrack_truth_sur_z.push_back(-1);
285 m_idtrack_truth_d0.push_back(-1);
286 m_idtrack_truth_z0.push_back(-1);
287 m_idtrack_truth_phi0.push_back(-1);
288 m_idtrack_truth_theta.push_back(-1);
289 m_idtrack_truth_qOverP.push_back(-1);
290 }
291 } else {
292 m_idtrack_has_truth.push_back(0);
293 m_idtrack_has_truth_par.push_back(0);
294 m_idtrack_truth_pdgid.push_back(0); // FIXME Create a constant for undefined PDGID?
296 m_idtrack_truth_sur_x.push_back(-1);
297 m_idtrack_truth_sur_y.push_back(-1);
298 m_idtrack_truth_sur_z.push_back(-1);
299 m_idtrack_truth_d0.push_back(-1);
300 m_idtrack_truth_z0.push_back(-1);
301 m_idtrack_truth_phi0.push_back(-1);
302 m_idtrack_truth_theta.push_back(-1);
303 m_idtrack_truth_qOverP.push_back(-1);
304 }
305 } else {
306 m_idtrack_has_truth.push_back(0);
307 m_idtrack_has_truth_par.push_back(0);
308 m_idtrack_truth_pdgid.push_back(0); // FIXME Create a constant for undefined PDGID?
310 m_idtrack_truth_sur_x.push_back(-1);
311 m_idtrack_truth_sur_y.push_back(-1);
312 m_idtrack_truth_sur_z.push_back(-1);
313 m_idtrack_truth_d0.push_back(-1);
314 m_idtrack_truth_z0.push_back(-1);
315 m_idtrack_truth_phi0.push_back(-1);
316 m_idtrack_truth_theta.push_back(-1);
317 m_idtrack_truth_qOverP.push_back(-1);
318 }
319 }
320 }
#define AmgSymMatrix(dim)
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
const Amg::Vector3D & center() const
Returns the center position of the Surface.
int uniqueID(const T &p)
constexpr int UNDEFINED_ID
@ phi0
Definition ParamDefs.h:65
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64
ParametersBase< TrackParametersDim, Charged > TrackParameters

◆ fillMsBranches()

void MuonCombined::MuonCombinedDebuggerTool::fillMsBranches ( const MuonCandidateCollection & muonCandidates)

Definition at line 322 of file MuonCombinedDebuggerTool.cxx.

322 {
323 // ms track
324 m_mstrack_sur_x.clear();
325 m_mstrack_sur_y.clear();
326 m_mstrack_sur_z.clear();
327 m_mstrack_d0.clear();
328 m_mstrack_z0.clear();
329 m_mstrack_phi0.clear();
330 m_mstrack_theta.clear();
331 m_mstrack_qOverP.clear();
332 m_mstrack_cov_d0.clear();
333 m_mstrack_cov_z0.clear();
334 m_mstrack_cov_phi0.clear();
335 m_mstrack_cov_theta.clear();
336 m_mstrack_cov_qOverP.clear();
337
338 // sa track
339 m_mstrack_has_sa.clear();
340 m_mstrack_sa_sur_x.clear();
341 m_mstrack_sa_sur_y.clear();
342 m_mstrack_sa_sur_z.clear();
343 m_mstrack_sa_d0.clear();
344 m_mstrack_sa_z0.clear();
345 m_mstrack_sa_phi0.clear();
346 m_mstrack_sa_theta.clear();
347 m_mstrack_sa_qOverP.clear();
348 m_mstrack_sa_cov_d0.clear();
349 m_mstrack_sa_cov_z0.clear();
350 m_mstrack_sa_cov_phi0.clear();
353
354 // truth
355 m_mstrack_has_truth.clear();
357 m_mstrack_truth_pdgid.clear();
359 m_mstrack_truth_sur_x.clear();
360 m_mstrack_truth_sur_y.clear();
361 m_mstrack_truth_sur_z.clear();
362 m_mstrack_truth_d0.clear();
363 m_mstrack_truth_z0.clear();
364 m_mstrack_truth_phi0.clear();
365 m_mstrack_truth_theta.clear();
367
368 for (const auto* muonCandidate : muonCandidates) {
369 bool hasExtr = muonCandidate->extrapolatedTrack();
370 const Trk::TrackParameters* muonPars = hasExtr ? muonCandidate->extrapolatedTrack()->perigeeParameters()
371 : muonCandidate->muonSpectrometerTrack().perigeeParameters();
372 if (!muonPars) {
373 ATH_MSG_WARNING("MuonCandidate without Perigee, skipping");
374 return;
375 }
376
377 // ms track
378 m_mstrack_sur_x.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->associatedSurface().center().x());
379 m_mstrack_sur_y.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->associatedSurface().center().y());
380 m_mstrack_sur_z.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->associatedSurface().center().z());
381 m_mstrack_d0.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->parameters()[Trk::d0]);
382 m_mstrack_z0.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->parameters()[Trk::z0]);
383 m_mstrack_phi0.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->parameters()[Trk::phi0]);
384 m_mstrack_theta.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->parameters()[Trk::theta]);
385 m_mstrack_qOverP.push_back(muonCandidate->muonSpectrometerTrack().perigeeParameters()->parameters()[Trk::qOverP]);
386 const AmgSymMatrix(5)* cov = muonCandidate->muonSpectrometerTrack().perigeeParameters()->covariance();
387 if (cov) {
388 m_mstrack_cov_d0.push_back((*cov)(Trk::d0, Trk::d0));
389 m_mstrack_cov_z0.push_back((*cov)(Trk::z0, Trk::z0));
390 m_mstrack_cov_phi0.push_back((*cov)(Trk::phi0, Trk::phi0));
391 m_mstrack_cov_theta.push_back((*cov)(Trk::theta, Trk::theta));
392 m_mstrack_cov_qOverP.push_back((*cov)(Trk::qOverP, Trk::qOverP));
393 } else {
394 m_mstrack_cov_d0.push_back(-1);
395 m_mstrack_cov_z0.push_back(-1);
396 m_mstrack_cov_phi0.push_back(-1);
397 m_mstrack_cov_theta.push_back(-1);
398 m_mstrack_cov_qOverP.push_back(-1);
399 }
400
401 // sa track
402 m_mstrack_has_sa.push_back(hasExtr);
403 if (hasExtr) {
404 m_mstrack_sa_sur_x.push_back(muonPars->associatedSurface().center().x());
405 m_mstrack_sa_sur_y.push_back(muonPars->associatedSurface().center().y());
406 m_mstrack_sa_sur_z.push_back(muonPars->associatedSurface().center().z());
407 m_mstrack_sa_d0.push_back(muonPars->parameters()[Trk::d0]);
408 m_mstrack_sa_z0.push_back(muonPars->parameters()[Trk::z0]);
409 m_mstrack_sa_phi0.push_back(muonPars->parameters()[Trk::phi0]);
410 m_mstrack_sa_theta.push_back(muonPars->parameters()[Trk::theta]);
411 m_mstrack_sa_qOverP.push_back(muonPars->parameters()[Trk::qOverP]);
412 const AmgSymMatrix(5)* cov = muonPars->covariance();
413 if (cov) {
414 m_mstrack_sa_cov_d0.push_back((*cov)(Trk::d0, Trk::d0));
415 m_mstrack_sa_cov_z0.push_back((*cov)(Trk::z0, Trk::z0));
416 m_mstrack_sa_cov_phi0.push_back((*cov)(Trk::phi0, Trk::phi0));
417 m_mstrack_sa_cov_theta.push_back((*cov)(Trk::theta, Trk::theta));
419 }
420 } else {
421 m_mstrack_sa_sur_x.push_back(-1);
422 m_mstrack_sa_sur_y.push_back(-1);
423 m_mstrack_sa_sur_z.push_back(-1);
424 m_mstrack_sa_d0.push_back(-1);
425 m_mstrack_sa_z0.push_back(-1);
426 m_mstrack_sa_phi0.push_back(-1);
427 m_mstrack_sa_theta.push_back(-1);
428 m_mstrack_sa_qOverP.push_back(-1);
429 m_mstrack_sa_cov_d0.push_back(-1);
430 m_mstrack_sa_cov_z0.push_back(-1);
431 m_mstrack_sa_cov_phi0.push_back(-1);
432 m_mstrack_sa_cov_theta.push_back(-1);
433 m_mstrack_sa_cov_qOverP.push_back(-1);
434 }
435
436 // truth
437 static const SG::ConstAccessor<ElementLink<xAOD::TruthParticleContainer> >
438 truthParticleLinkAcc("truthParticleLink");
439 if (truthParticleLinkAcc.isAvailable(**muonCandidate->muonSpectrometerTrackLink())) {
440 ElementLink<xAOD::TruthParticleContainer> truthLink =
441 truthParticleLinkAcc(**muonCandidate->muonSpectrometerTrackLink());
442 if (truthLink.isValid()) {
443 m_mstrack_has_truth.push_back(1);
444 m_mstrack_truth_pdgid.push_back((*truthLink)->pdgId());
445 m_mstrack_truth_uniqueID.push_back(HepMC::uniqueID(*truthLink));
446 const Trk::TrackParameters* perigee = m_truthToTrack->makePerigeeParameters(*truthLink);
447 if (perigee) {
448 m_mstrack_has_truth_par.push_back(1);
449 m_mstrack_truth_sur_x.push_back(perigee->associatedSurface().center().x());
450 m_mstrack_truth_sur_y.push_back(perigee->associatedSurface().center().y());
451 m_mstrack_truth_sur_z.push_back(perigee->associatedSurface().center().z());
452 m_mstrack_truth_d0.push_back(perigee->parameters()[Trk::d0]);
453 m_mstrack_truth_z0.push_back(perigee->parameters()[Trk::z0]);
454 m_mstrack_truth_phi0.push_back(perigee->parameters()[Trk::phi0]);
455 m_mstrack_truth_theta.push_back(perigee->parameters()[Trk::theta]);
456 m_mstrack_truth_qOverP.push_back(perigee->parameters()[Trk::qOverP]);
457 } else {
458 m_mstrack_has_truth_par.push_back(0);
459 m_mstrack_truth_sur_x.push_back(-1);
460 m_mstrack_truth_sur_y.push_back(-1);
461 m_mstrack_truth_sur_z.push_back(-1);
462 m_mstrack_truth_d0.push_back(-1);
463 m_mstrack_truth_z0.push_back(-1);
464 m_mstrack_truth_phi0.push_back(-1);
465 m_mstrack_truth_theta.push_back(-1);
466 m_mstrack_truth_qOverP.push_back(-1);
467 }
468 } else { // no truth link available
469 m_mstrack_has_truth.push_back(0);
470 m_mstrack_has_truth_par.push_back(0);
471 m_mstrack_truth_pdgid.push_back(0); // FIXME Create a constant for undefined PDGID?
473 m_mstrack_truth_sur_x.push_back(-1);
474 m_mstrack_truth_sur_y.push_back(-1);
475 m_mstrack_truth_sur_z.push_back(-1);
476 m_mstrack_truth_d0.push_back(-1);
477 m_mstrack_truth_z0.push_back(-1);
478 m_mstrack_truth_phi0.push_back(-1);
479 m_mstrack_truth_theta.push_back(-1);
480 m_mstrack_truth_qOverP.push_back(-1);
481 }
482 } else { // no truth link available
483 m_mstrack_has_truth.push_back(0);
484 m_mstrack_has_truth_par.push_back(0);
485 m_mstrack_truth_pdgid.push_back(0); // FIXME Create a constant for undefined PDGID?
487 m_mstrack_truth_sur_x.push_back(-1);
488 m_mstrack_truth_sur_y.push_back(-1);
489 m_mstrack_truth_sur_z.push_back(-1);
490 m_mstrack_truth_d0.push_back(-1);
491 m_mstrack_truth_z0.push_back(-1);
492 m_mstrack_truth_phi0.push_back(-1);
493 m_mstrack_truth_theta.push_back(-1);
494 m_mstrack_truth_qOverP.push_back(-1);
495 }
496 }
497 }

◆ fillMsIdBranches()

void MuonCombined::MuonCombinedDebuggerTool::fillMsIdBranches ( const MuonCandidateCollection & muonCandidates,
const InDetCandidateCollection & inDetCandidates )

Definition at line 147 of file MuonCombinedDebuggerTool.cxx.

148 {
149 m_ms_id_ochi2.clear();
150 m_ms_id_ondf.clear();
151 m_ms_id_oprob.clear();
152 m_ms_id_ichi2.clear();
153 m_ms_id_indf.clear();
154 m_ms_id_iprob.clear();
155 m_ms_id_ochi2.resize(muonCandidates.size());
156 m_ms_id_ondf.resize(muonCandidates.size());
157 m_ms_id_oprob.resize(muonCandidates.size());
158 m_ms_id_ichi2.resize(muonCandidates.size());
159 m_ms_id_indf.resize(muonCandidates.size());
160 m_ms_id_iprob.resize(muonCandidates.size());
161
162 unsigned int imu = 0;
163 const EventContext& ctx = Gaudi::Hive::currentContext();
164 for (const auto* muonCandidate : muonCandidates) {
165 bool hasExtr = muonCandidate->extrapolatedTrack();
166
167 for (const auto* inDetCandidate : inDetCandidates) {
168 // matching chi2s
169 double outerMatchChi2 = m_matchQuality->outerMatchChi2(*inDetCandidate->indetTrackParticle().track(),
170 muonCandidate->muonSpectrometerTrack(), ctx);
171 int outerMatchDoF =
172 m_matchQuality->outerMatchDOF(*inDetCandidate->indetTrackParticle().track(), muonCandidate->muonSpectrometerTrack());
173 double outerMatchProb = m_matchQuality->outerMatchProbability(*inDetCandidate->indetTrackParticle().track(),
174 muonCandidate->muonSpectrometerTrack(), ctx);
175 double innerMatchChi2 = -1;
176 int innerMatchDoF = -1;
177 double innerMatchProb = -1;
178 if (hasExtr) {
179 innerMatchChi2 = m_matchQuality->innerMatchChi2(*inDetCandidate->indetTrackParticle().track(),
180 *muonCandidate->extrapolatedTrack(), ctx);
181 innerMatchDoF =
182 m_matchQuality->innerMatchDOF(*inDetCandidate->indetTrackParticle().track(), *muonCandidate->extrapolatedTrack());
183 innerMatchProb = m_matchQuality->innerMatchProbability(*inDetCandidate->indetTrackParticle().track(),
184 *muonCandidate->extrapolatedTrack(), ctx);
185 }
186
187 m_ms_id_ochi2[imu].push_back(outerMatchChi2);
188 m_ms_id_ondf[imu].push_back(outerMatchDoF);
189 m_ms_id_oprob[imu].push_back(outerMatchProb);
190 if (hasExtr) {
191 m_ms_id_ichi2[imu].push_back(innerMatchChi2);
192 m_ms_id_indf[imu].push_back(innerMatchDoF);
193 m_ms_id_iprob[imu].push_back(innerMatchProb);
194 } else {
195 m_ms_id_ichi2[imu].push_back(-1);
196 m_ms_id_indf[imu].push_back(-1);
197 m_ms_id_iprob[imu].push_back(-1);
198 }
199 }
200 imu++;
201 }
202 }
size_type size() const noexcept
Returns the number of elements in the collection.
ToolHandle< Rec::IMuonMatchQuality > m_matchQuality

◆ initialize()

StatusCode MuonCombined::MuonCombinedDebuggerTool::initialize ( )
override

Definition at line 31 of file MuonCombinedDebuggerTool.cxx.

31 {
32 ATH_MSG_INFO("initialize " << name() << " for debugging purposes of the muon reconstruction");
33 ATH_CHECK(m_matchQuality.retrieve());
34 ATH_CHECK(m_truthToTrack.retrieve());
35 ATH_CHECK(m_histSvc.retrieve());
36 if (Gaudi::Concurrency::ConcurrencyFlags::numThreads() > 1) {
37 ATH_MSG_FATAL("Detected more than one thread, namaely "
38 << Gaudi::Concurrency::ConcurrencyFlags::numThreads()
39 << ", to run this tool. Which should never happen as the results will be a total desaster");
40 return StatusCode::FAILURE;
41 }
43 return StatusCode::SUCCESS;
44 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)

◆ 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 & MuonCombined::MuonCombinedDebuggerTool::interfaceID ( )
inlinestatic

Definition at line 30 of file MuonCombinedDebuggerTool.h.

30 {
31 static const InterfaceID IID_MuonCombinedDebuggerTool("MuonCombined::MuonCombinedDebuggerTool", 1, 0);
32 return IID_MuonCombinedDebuggerTool;
33 }

◆ 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 }

◆ 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_eventNumber

int MuonCombined::MuonCombinedDebuggerTool::m_eventNumber {}
private

Definition at line 54 of file MuonCombinedDebuggerTool.h.

54{};

◆ 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_histSvc

ServiceHandle<ITHistSvc> MuonCombined::MuonCombinedDebuggerTool::m_histSvc
private

Definition at line 51 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_cov_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_cov_d0
private

Definition at line 119 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_cov_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_cov_phi0
private

Definition at line 121 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_cov_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_cov_qOverP
private

Definition at line 123 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_cov_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_cov_theta
private

Definition at line 122 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_cov_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_cov_z0
private

Definition at line 120 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_d0
private

Definition at line 114 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_has_truth

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_has_truth
private

Definition at line 98 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_has_truth_par

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_has_truth_par
private

Definition at line 99 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_phi0
private

Definition at line 116 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_qOverP
private

Definition at line 118 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_sur_x

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_sur_x
private

Definition at line 111 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_sur_y

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_sur_y
private

Definition at line 112 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_sur_z

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_sur_z
private

Definition at line 113 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_theta
private

Definition at line 117 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_d0
private

Definition at line 105 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_pdgid

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_pdgid
private

Definition at line 100 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_phi0
private

Definition at line 107 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_qOverP
private

Definition at line 109 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_sur_x

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_sur_x
private

Definition at line 102 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_sur_y

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_sur_y
private

Definition at line 103 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_sur_z

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_sur_z
private

Definition at line 104 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_theta
private

Definition at line 108 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_uniqueID

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_uniqueID
private

Definition at line 101 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_truth_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_truth_z0
private

Definition at line 106 of file MuonCombinedDebuggerTool.h.

◆ m_idtrack_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_idtrack_z0
private

Definition at line 115 of file MuonCombinedDebuggerTool.h.

◆ m_matchQuality

ToolHandle<Rec::IMuonMatchQuality> MuonCombined::MuonCombinedDebuggerTool::m_matchQuality {this, "MuonMatchQuality", "Rec::MuonMatchQuality/MuonMatchQuality"}
private

Definition at line 48 of file MuonCombinedDebuggerTool.h.

48{this, "MuonMatchQuality", "Rec::MuonMatchQuality/MuonMatchQuality"};

◆ m_ms_id_ichi2

std::vector<std::vector<double> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_ichi2
private

Definition at line 128 of file MuonCombinedDebuggerTool.h.

◆ m_ms_id_indf

std::vector<std::vector<int> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_indf
private

Definition at line 129 of file MuonCombinedDebuggerTool.h.

◆ m_ms_id_iprob

std::vector<std::vector<double> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_iprob
private

Definition at line 130 of file MuonCombinedDebuggerTool.h.

◆ m_ms_id_ochi2

std::vector<std::vector<double> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_ochi2
private

Definition at line 125 of file MuonCombinedDebuggerTool.h.

◆ m_ms_id_ondf

std::vector<std::vector<int> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_ondf
private

Definition at line 126 of file MuonCombinedDebuggerTool.h.

◆ m_ms_id_oprob

std::vector<std::vector<double> > MuonCombined::MuonCombinedDebuggerTool::m_ms_id_oprob
private

Definition at line 127 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_cov_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_cov_d0
private

Definition at line 77 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_cov_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_cov_phi0
private

Definition at line 79 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_cov_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_cov_qOverP
private

Definition at line 81 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_cov_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_cov_theta
private

Definition at line 80 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_cov_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_cov_z0
private

Definition at line 78 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_d0
private

Definition at line 72 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_has_sa

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_has_sa
private

Definition at line 83 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_has_truth

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_has_truth
private

Definition at line 56 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_has_truth_par

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_has_truth_par
private

Definition at line 57 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_phi0
private

Definition at line 74 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_qOverP
private

Definition at line 76 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_cov_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_cov_d0
private

Definition at line 92 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_cov_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_cov_phi0
private

Definition at line 94 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_cov_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_cov_qOverP
private

Definition at line 96 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_cov_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_cov_theta
private

Definition at line 95 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_cov_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_cov_z0
private

Definition at line 93 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_d0
private

Definition at line 87 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_phi0
private

Definition at line 89 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_qOverP
private

Definition at line 91 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_sur_x

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_sur_x
private

Definition at line 84 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_sur_y

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_sur_y
private

Definition at line 85 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_sur_z

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_sur_z
private

Definition at line 86 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_theta
private

Definition at line 90 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sa_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sa_z0
private

Definition at line 88 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sur_x

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sur_x
private

Definition at line 69 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sur_y

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sur_y
private

Definition at line 70 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_sur_z

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_sur_z
private

Definition at line 71 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_theta
private

Definition at line 75 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_d0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_d0
private

Definition at line 63 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_pdgid

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_pdgid
private

Definition at line 58 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_phi0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_phi0
private

Definition at line 65 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_qOverP

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_qOverP
private

Definition at line 67 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_sur_x

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_sur_x
private

Definition at line 60 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_sur_y

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_sur_y
private

Definition at line 61 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_sur_z

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_sur_z
private

Definition at line 62 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_theta

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_theta
private

Definition at line 66 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_uniqueID

std::vector<int> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_uniqueID
private

Definition at line 59 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_truth_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_truth_z0
private

Definition at line 64 of file MuonCombinedDebuggerTool.h.

◆ m_mstrack_z0

std::vector<double> MuonCombined::MuonCombinedDebuggerTool::m_mstrack_z0
private

Definition at line 73 of file MuonCombinedDebuggerTool.h.

◆ m_recoTree

TTree* MuonCombined::MuonCombinedDebuggerTool::m_recoTree
private

Definition at line 53 of file MuonCombinedDebuggerTool.h.

◆ m_truthToTrack

ToolHandle<Trk::ITruthToTrack> MuonCombined::MuonCombinedDebuggerTool::m_truthToTrack {this, "TruthToTrack", "Trk::TruthToTrack/TruthToTrack"}
private

Definition at line 49 of file MuonCombinedDebuggerTool.h.

49{this, "TruthToTrack", "Trk::TruthToTrack/TruthToTrack"};

◆ 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: