  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
   15 #include "AthLinks/ElementLink.h" 
   16 #include "GaudiKernel/ConcurrencyFlags.h" 
   28         declareInterface<MuonCombinedDebuggerTool>(
this);
 
   32         ATH_MSG_INFO(
"initialize " << 
name() << 
" for debugging purposes of the muon reconstruction");
 
   39                           << 
", to run this tool. Which should never happen as the results will be a total desaster");
 
   40             return StatusCode::FAILURE;
 
   43         return StatusCode::SUCCESS;
 
   48             ATH_MSG_WARNING(
"bookBranches() must be called once only! No tree booked!");
 
  162         unsigned int imu = 0;
 
  163         const EventContext& ctx = Gaudi::Hive::currentContext();
 
  164         for (
const auto* muonCandidate : muonCandidates) {
 
  165             bool hasExtr = muonCandidate->extrapolatedTrack();
 
  167             for (
const auto* inDetCandidate : inDetCandidates) {
 
  169                 double outerMatchChi2 = 
m_matchQuality->outerMatchChi2(*inDetCandidate->indetTrackParticle().track(),
 
  170                                                                        muonCandidate->muonSpectrometerTrack(), ctx);
 
  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;
 
  179                     innerMatchChi2 = 
m_matchQuality->innerMatchChi2(*inDetCandidate->indetTrackParticle().track(),
 
  180                                                                     *muonCandidate->extrapolatedTrack(), ctx);
 
  182                         m_matchQuality->innerMatchDOF(*inDetCandidate->indetTrackParticle().track(), *muonCandidate->extrapolatedTrack());
 
  183                     innerMatchProb = 
m_matchQuality->innerMatchProbability(*inDetCandidate->indetTrackParticle().track(),
 
  184                                                                            *muonCandidate->extrapolatedTrack(), ctx);
 
  234         for (
const auto* inDetCandidate : inDetCandidates) {
 
  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]);
 
  244             const AmgSymMatrix(5)* covid = inDetCandidate->indetTrackParticle().track()->perigeeParameters()->covariance();
 
  261               truthParticleLinkAcc(
"truthParticleLink");
 
  262             if (truthParticleLinkAcc.
isAvailable(inDetCandidate->indetTrackParticle())) {
 
  264                   truthParticleLinkAcc(inDetCandidate->indetTrackParticle());
 
  368         for (
const auto* muonCandidate : muonCandidates) {
 
  369             bool hasExtr = muonCandidate->extrapolatedTrack();
 
  370             const Trk::TrackParameters* muonPars = hasExtr ? muonCandidate->extrapolatedTrack()->perigeeParameters()
 
  371                                                            : muonCandidate->muonSpectrometerTrack().perigeeParameters();
 
  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]);
 
  386             const AmgSymMatrix(5)* 
cov = muonCandidate->muonSpectrometerTrack().perigeeParameters()->covariance();
 
  438               truthParticleLinkAcc(
"truthParticleLink");
 
  439             if (truthParticleLinkAcc.
isAvailable(**muonCandidate->muonSpectrometerTrackLink())) {
 
  441                   truthParticleLinkAcc(**muonCandidate->muonSpectrometerTrackLink());
 
  
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
 
Helper class to provide constant type-safe access to aux data.
 
const Amg::Vector3D & center() const
Returns the center position of the Surface.
 
bool isValid() const
Test to see if the link can be dereferenced.
 
#define AmgSymMatrix(dim)
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
constexpr int UNDEFINED_ID
 
ElementLink implementation for ROOT usage.
 
#define ATH_MSG_WARNING(x)
 
The MuonTagToSegMap is an auxillary construct that links the MuonSegments associated with a combined ...
 
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
 
Helper class to provide constant type-safe access to aux data.
 
size_type size() const noexcept
Returns the number of elements in the collection.