ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Muon::MuonRecoValidationTool Class Reference

#include <MuonRecoValidationTool.h>

Inheritance diagram for Muon::MuonRecoValidationTool:
Collaboration diagram for Muon::MuonRecoValidationTool:

Public Member Functions

 MuonRecoValidationTool (const std::string &, const std::string &, const IInterface *)
 default AlgTool constructor More...
 
 ~MuonRecoValidationTool ()=default
 destructor More...
 
virtual StatusCode initialize () override
 initialize method, method taken from bass-class AlgTool More...
 
bool addTrackParticle (const xAOD::TrackParticle &indetTrackParticle, const MuonSystemExtension &muonSystemExtention) const override
 add a new TrackParticle with it's muon system extension More...
 
bool add (const MuonSystemExtension::Intersection &intersection, const MuonSegment &segment, int stage) const override
 add a new segment More...
 
bool add (const MuonSystemExtension::Intersection &intersection, const MuonHough::MuonLayerHough::Maximum &maximum) const override
 add a new hough maximum More...
 
bool add (const MuonSystemExtension::Intersection &intersection, const Trk::PrepRawData &prd, float expos, float expos_err) const override
 add a new prd More...
 
bool addTimeMeasurement (const MuonSystemExtension::Intersection &intersection, const Trk::MeasurementBase &meas) const override
 add a new time measurement More...
 
bool addTimeMeasurement (const MuonSystemExtension::Intersection &intersection, const Identifier &id, const Amg::Vector3D &gpos, float time, float errorTime) const override
 add a new time measurement More...
 
bool addTimeMeasurements (const xAOD::TrackParticle &indetTrackParticle, const MuGirlNS::StauHits &stauHits) const override
 add StauHits to ntuple More...
 
bool addMuonCandidate (const xAOD::TrackParticle &indetTrackParticle, const MuonCandidate *candidate, Trk::Track *combinedTrack, int ntimes, float beta, float chi2ndof, int stage) const override
 add a new muon candidate More...
 
virtual void handle (const Incident &inc) override
 incident service handle for EndEvent More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool and IAlgTool interface methods. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
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. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

void clear ()
 clear ntuples More...
 
void extract (const MuonSegment &segment, std::set< Identifier > &ids, std::vector< const MuonClusterOnTrack * > &clusters) const
 
int getIndex (const MuonSystemExtension::Intersection &intersection) const
 
int getBarcode (const std::set< Identifier > &ids) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
ServiceHandle< IMuonEDMHelperSvcm_edmHelperSvc
 
ToolHandle< IMuonSegmentHitSummaryToolm_segmentHitSummaryTool
 
ToolHandle< IMuonHitSummaryToolm_hitSummaryTool
 
ToolHandle< IMuonTruthSummaryToolm_truthSummaryTool
 
ToolHandle< Trk::IExtrapolatorm_extrapolator
 
ToolHandle< IMuTagMatchingToolm_matchingTool
 
ToolHandle< IMuonHitTimingToolm_hitTimingTool
 
ServiceHandle< IIncidentSvc > m_incidentSvc
 
std::vector< const xAOD::TrackParticle * > m_trackParticles
 
std::map< const Trk::TrackParameters *, unsigned int > m_trackParticleIndexLookup
 
MuonInsideOutValidationNtuple m_ntuple
 
TTree * m_tree = nullptr
 
std::atomic< unsigned int > m_candidateCounter
 
bool m_isMC
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 46 of file MuonRecoValidationTool.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

◆ MuonRecoValidationTool()

Muon::MuonRecoValidationTool::MuonRecoValidationTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

default AlgTool constructor

Definition at line 35 of file MuonRecoValidationTool.cxx.

35  :
36  AthAlgTool(t, n, p),
37  m_segmentHitSummaryTool("Muon::MuonSegmentHitSummaryTool/MuonSegmentHitSummaryTool"),
38  m_hitSummaryTool("Muon::MuonHitSummaryTool/MuonHitSummaryTool"),
39  m_truthSummaryTool("Muon::MuonTruthSummaryTool/MuonTruthSummaryTool"),
40  m_extrapolator("Trk::Extrapolation/AtlasExtrapolator"),
41  m_matchingTool("MuTagMatchingTool/MuTagMatchingTool"),
42  m_hitTimingTool("Muon::MuonHitTimingTool/MuonHitTimingTool"),
43  m_incidentSvc("IncidentSvc", n),
45  declareInterface<IMuonRecoValidationTool>(this);
46  declareProperty("MuonSegmentHitSummaryTool", m_segmentHitSummaryTool);
47  declareProperty("MuonHitSummaryTool", m_hitSummaryTool);
48  declareProperty("MuonTruthSummaryTool", m_truthSummaryTool);
49  declareProperty("Extrapolator", m_extrapolator);
50  declareProperty("MatchTool", m_matchingTool);
51  declareProperty("MuonHitTimingTool", m_hitTimingTool);
52  declareProperty("IncidentSvc", m_incidentSvc);
53  declareProperty("isMC", m_isMC = false);
54  }

◆ ~MuonRecoValidationTool()

Muon::MuonRecoValidationTool::~MuonRecoValidationTool ( )
default

destructor

Member Function Documentation

◆ add() [1/3]

bool Muon::MuonRecoValidationTool::add ( const MuonSystemExtension::Intersection intersection,
const MuonHough::MuonLayerHough::Maximum maximum 
) const
overridevirtual

add a new hough maximum

Implements Muon::IMuonRecoValidationTool.

Definition at line 400 of file MuonRecoValidationTool.cxx.

401  {
402  m_ntuple.houghBlock.maximum->push_back(maximum.max);
403 
405 
406  int sector = -1;
407  int chIndex = -1;
408  float maxwidth = (maximum.binposmax - maximum.binposmin);
409  if (maximum.hough) {
410  maxwidth *= maximum.hough->m_binsize;
411  sector = maximum.hough->m_descriptor.sector;
412  chIndex = maximum.hough->m_descriptor.chIndex;
413  }
414  m_ntuple.houghBlock.id.fill(sector, chIndex);
416 
417  // get truth from hits
418  std::set<Identifier> ids;
419 
420  MuonHough::HitVec::const_iterator hit = maximum.hits.begin();
421  MuonHough::HitVec::const_iterator hit_end = maximum.hits.end();
422  for (; hit != hit_end; ++hit) {
423  // treat the case that the hit is a composite TGC hit
424  if ((*hit)->tgc) {
425  for (const auto& prd : (*hit)->tgc->etaCluster) ids.insert(prd->identify());
426  } else if ((*hit)->prd) {
427  ids.insert((*hit)->prd->identify());
428  }
429  }
430  int barcode = -1, pdg = 0;
431  if (m_isMC) {
433  pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
434  }
436 
437  ATH_MSG_DEBUG(" Adding Hough maximum to ntuple ");
438 
439  return true;
440  }

◆ add() [2/3]

bool Muon::MuonRecoValidationTool::add ( const MuonSystemExtension::Intersection intersection,
const MuonSegment segment,
int  stage 
) const
overridevirtual

add a new segment

Implements Muon::IMuonRecoValidationTool.

Definition at line 319 of file MuonRecoValidationTool.cxx.

319  {
320  const EventContext& ctx = Gaudi::Hive::currentContext();
321  m_ntuple.segmentBlock.stage->push_back(stage);
322 
323  Identifier id = m_edmHelperSvc->chamberId(segment);
324  m_ntuple.segmentBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
325 
326  // position information
327  m_ntuple.segmentBlock.r->push_back(segment.globalPosition().perp());
328  m_ntuple.segmentBlock.z->push_back(segment.globalPosition().z());
329 
330  // timing information
331  float t0 = segment.hasFittedT0() ? segment.time() : -99999;
332  float t0Error = segment.hasFittedT0() ? segment.errorTime() : -99999;
333  m_ntuple.segmentBlock.t0->push_back(t0);
334  m_ntuple.segmentBlock.t0Error->push_back(t0Error);
335 
336  // extract clusters and ids
337  std::set<Identifier> ids;
338  std::vector<const MuonClusterOnTrack*> clusters;
340 
341  IMuonHitTimingTool::TimingResult result = m_hitTimingTool->calculateTimingResult(clusters);
342  t0 = result.valid ? result.time : -99999;
343  t0Error = result.valid ? result.error : -99999;
344  m_ntuple.segmentBlock.t0Trig->push_back(t0);
345  m_ntuple.segmentBlock.t0TrigError->push_back(t0Error);
346 
347  // hit counts
348  IMuonSegmentHitSummaryTool::HitCounts hitCounts = m_segmentHitSummaryTool->getHitCounts(segment);
349  m_ntuple.segmentBlock.nmdtHits->push_back(hitCounts.nmdtHits()+ hitCounts.nmmHits() + hitCounts.ncscHits.netaHits);
350  m_ntuple.segmentBlock.ntrigEtaHits->push_back(hitCounts.netaTrigHitLayers);
351  m_ntuple.segmentBlock.ntrigPhiHits->push_back(hitCounts.nphiTrigHitLayers);
352 
353  // barcode + pdg
354  int barcode = getBarcode(ids);
355  int pdg = 0;
356  if (m_isMC) pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
358 
360 
361  // extrapolate and create an intersection @ the segment surface.
362  std::shared_ptr<Trk::TrackParameters> exPars(
363  m_extrapolator->extrapolate(ctx, *intersection.trackParameters, segment.associatedSurface(), Trk::anyDirection, false, Trk::muon));
364  if (!exPars) {
365  ATH_MSG_VERBOSE(" extrapolation failed ");
366  m_ntuple.segmentBlock.quality->push_back(-2);
367  m_ntuple.segmentBlock.xresiduals.fill(0., 1., 0., 1., -1);
368  m_ntuple.segmentBlock.yresiduals.fill(0., 1., 0., 1., -1);
369  m_ntuple.segmentBlock.angleXZ.fill(0., 1., 0., 1., -1);
370  m_ntuple.segmentBlock.angleYZ.fill(0., 1., 0., 1., -1);
371  m_ntuple.segmentBlock.combinedYZ.fill(0., 1., 0., 1., -1);
372  return false;
373  }
374 
375  // cast to AtaPlane so we can get the segment info
376  std::shared_ptr<Trk::AtaPlane> ataPlane = std::dynamic_pointer_cast<Trk::AtaPlane>(exPars);
377  if (!ataPlane) {
378  ATH_MSG_WARNING(" dynamic_cast<> failed ");
379  m_ntuple.segmentBlock.quality->push_back(-2);
380  m_ntuple.segmentBlock.angleXZ.fill(0., 1., 0., 1., -1);
381  m_ntuple.segmentBlock.angleYZ.fill(0., 1., 0., 1., -1);
382  m_ntuple.segmentBlock.combinedYZ.fill(0., 1., 0., 1., -1);
383  return false;
384  }
385  MuonCombined::MuonSegmentInfo segmentInfo = m_matchingTool->muTagSegmentInfo(ctx, nullptr, segment, ataPlane);
386  m_ntuple.segmentBlock.quality->push_back(segmentInfo.quality);
387  m_ntuple.segmentBlock.xresiduals.fillResPull(segmentInfo.resX, segmentInfo.pullX, segmentInfo.segErrorX, segmentInfo.exErrorX, 1);
388  m_ntuple.segmentBlock.yresiduals.fillResPull(segmentInfo.resY, segmentInfo.pullY, segmentInfo.segErrorY, segmentInfo.exErrorY, 1);
389  m_ntuple.segmentBlock.angleXZ.fillResPull(segmentInfo.dangleXZ, segmentInfo.pullXZ, segmentInfo.segErrorXZ, segmentInfo.exErrorXZ,
390  1);
391  m_ntuple.segmentBlock.angleYZ.fillResPull(segmentInfo.dangleYZ, segmentInfo.pullYZ, segmentInfo.segErrorYZ, segmentInfo.exErrorYZ,
392  1);
393  m_ntuple.segmentBlock.combinedYZ.fillResPull(segmentInfo.resCY, segmentInfo.pullCY, 1);
394 
395  ATH_MSG_DEBUG(" Adding Segment to ntuple: stage " << stage);
396 
397  return true;
398  }

◆ add() [3/3]

bool Muon::MuonRecoValidationTool::add ( const MuonSystemExtension::Intersection intersection,
const Trk::PrepRawData prd,
float  expos,
float  expos_err 
) const
overridevirtual

add a new prd

Implements Muon::IMuonRecoValidationTool.

Definition at line 442 of file MuonRecoValidationTool.cxx.

443  {
444  Identifier id = prd.identify();
445  m_ntuple.hitBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
447 
448  int barcode = -1, pdg = 0;
449  if (m_isMC) {
450  barcode = m_truthSummaryTool->getBarcode(id);
451  pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
452  }
454 
455  float sign = expos < 0 ? -1. : 1.;
457  expos_err);
458 
459  return true;
460  }

◆ addMuonCandidate()

bool Muon::MuonRecoValidationTool::addMuonCandidate ( const xAOD::TrackParticle indetTrackParticle,
const MuonCandidate candidate,
Trk::Track combinedTrack,
int  ntimes,
float  beta,
float  chi2ndof,
int  stage 
) const
overridevirtual

add a new muon candidate

Implements Muon::IMuonRecoValidationTool.

Definition at line 486 of file MuonRecoValidationTool.cxx.

487  {
488  auto pos = std::find(m_trackParticles.begin(), m_trackParticles.end(), &indetTrackParticle);
489  if (pos == m_trackParticles.end()) {
490  ATH_MSG_WARNING("addMuonCandidate: indetTrackParticle not found ");
491  return false;
492  }
493 
495  int nprec = 0;
496  int ntrigPhi = 0;
497  int ntrigEta = 0;
498  int nseg = candidate ? candidate->layerIntersections.size() : 0;
499  const Trk::Track* track = combinedTrack;
500  if (combinedTrack) {
501  IMuonHitSummaryTool::CompactSummary summary = m_hitSummaryTool->summary(*track);
502  nprec = summary.nprecisionLayers;
503  ntrigPhi = summary.nphiLayers;
504  ntrigEta = summary.ntrigEtaLayers;
505  }
506  m_ntuple.candidateBlock.fill(ntimes, beta, chi2ndof, nseg, nprec, ntrigPhi, ntrigEta, stage);
507  return true;
508  }

◆ addTimeMeasurement() [1/2]

bool Muon::MuonRecoValidationTool::addTimeMeasurement ( const MuonSystemExtension::Intersection intersection,
const Identifier id,
const Amg::Vector3D gpos,
float  time,
float  errorTime 
) const
overridevirtual

add a new time measurement

Implements Muon::IMuonRecoValidationTool.

Definition at line 215 of file MuonRecoValidationTool.cxx.

216  {
217  // track index
219 
220  // identifier info
221  m_ntuple.timeBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
222 
223  // position information
224  m_ntuple.timeBlock.fill(2, m_idHelperSvc->gasGapId(id).get_identifier32().get_compact(), gpos.perp(), gpos.z(), time, errorTime);
225 
226  // barcode + pdg
227  int barcode = -1, pdg = 0;
228  if (m_isMC) {
229  barcode = m_truthSummaryTool->getBarcode(id);
230  pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
231  }
233 
234  return true;
235  }

◆ addTimeMeasurement() [2/2]

bool Muon::MuonRecoValidationTool::addTimeMeasurement ( const MuonSystemExtension::Intersection intersection,
const Trk::MeasurementBase meas 
) const
overridevirtual

add a new time measurement

Implements Muon::IMuonRecoValidationTool.

Definition at line 237 of file MuonRecoValidationTool.cxx.

238  {
239  float segmentTimeCorrection = 0.;
240 
241  const MuonSegment* seg = dynamic_cast<const MuonSegment*>(&meas);
242  if (seg && seg->hasFittedT0()) {
244 
245  Identifier id = m_edmHelperSvc->chamberId(*seg);
246  m_ntuple.timeBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
247 
248  // position information
249  m_ntuple.timeBlock.fill(1, m_idHelperSvc->chamberId(id).get_identifier32().get_compact(), seg->globalPosition().perp(),
250  seg->globalPosition().z(), seg->time() - segmentTimeCorrection, seg->errorTime());
251 
252  // barcode + pdg
253  std::set<Identifier> ids;
254  std::vector<const MuonClusterOnTrack*> clusters;
255  extract(*seg, ids, clusters);
256  int barcode = getBarcode(ids);
257  int pdg = 0;
258  if (m_isMC) pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
260 
261  return true;
262  }
263 
264  const RpcClusterOnTrack* rpc = dynamic_cast<const RpcClusterOnTrack*>(&meas);
265  if (rpc) {
267 
268  Identifier id = rpc->identify();
269  m_ntuple.timeBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
270 
271  // barcode + pdg
272  int barcode = -1, pdg = 0;
273  if (m_isMC) {
274  barcode = m_truthSummaryTool->getBarcode(id);
275  pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
276  }
278 
279  bool measphi = m_idHelperSvc->measuresPhi(id);
280  const Amg::Vector3D& GP = rpc->globalPosition();
281  const Muon::RpcPrepData* MClus = rpc->prepRawData();
282  const MuonGM::RpcReadoutElement* rpc_readout_element = MClus->detectorElement();
283  Amg::Vector3D posi = rpc_readout_element->stripPos(id);
284 
285  // let's correct rpc time subtracting delay due to the induced electric signal propagation along strip
286  double correct_time_along_strip = 0;
287  if (measphi == 0) {
288  correct_time_along_strip = rpc_readout_element->distanceToEtaReadout(GP) / 1000. * SIG_VEL;
289  } else {
290  correct_time_along_strip = rpc_readout_element->distanceToPhiReadout(GP) / 1000. * SIG_VEL;
291  }
292 
293  // let's evaluate the average delay due to the induced electric signal propagation along strip
294  double av_correct_time_along_strip = 0;
295  if (measphi == 0) {
296  av_correct_time_along_strip = rpc_readout_element->distanceToEtaReadout(posi) / 1000. * SIG_VEL;
297  } else {
298  av_correct_time_along_strip = rpc_readout_element->distanceToPhiReadout(posi) / 1000. * SIG_VEL;
299  }
300 
301  // let's evaluate [real TOF - nominal TOF]
302  double real_TOF_onRPCgap = GP.mag() / 1000. * C_VEL;
303  double nominal_TOF_onRPCgap = posi.mag() / 1000. * C_VEL;
304 
305  // let's evaluate the total time correction
306  double correct_time_tot = real_TOF_onRPCgap - nominal_TOF_onRPCgap + correct_time_along_strip - av_correct_time_along_strip;
307 
308  // time and position information
309  m_ntuple.timeBlock.fill(0, m_idHelperSvc->gasGapId(id).get_identifier32().get_compact(), rpc->globalPosition().perp(),
310  rpc->globalPosition().z(), rpc->time(), 2., correct_time_along_strip, av_correct_time_along_strip,
311  real_TOF_onRPCgap, nominal_TOF_onRPCgap, correct_time_tot);
312 
313  return true;
314  }
315 
316  return true;
317  }

◆ addTimeMeasurements()

bool Muon::MuonRecoValidationTool::addTimeMeasurements ( const xAOD::TrackParticle indetTrackParticle,
const MuGirlNS::StauHits stauHits 
) const
overridevirtual

add StauHits to ntuple

Implements Muon::IMuonRecoValidationTool.

Definition at line 177 of file MuonRecoValidationTool.cxx.

178  {
179  Muon::MuonBetaCalculationUtils muonBetaCalculationUtils;
180 
181  auto pos = std::find(m_trackParticles.begin(), m_trackParticles.end(), &indetTrackParticle);
182  if (pos == m_trackParticles.end()) {
183  ATH_MSG_WARNING("addTimeMeasurement: indetTrackParticle not found ");
184  return false;
185  }
186  int index = std::distance(m_trackParticles.begin(), pos);
187 
188  for (const auto& stauHit : stauHits) {
189  Identifier id = stauHit.id;
190  int type = m_idHelperSvc->technologyIndex(id) + 10;
191  double r = sqrt(stauHit.x * stauHit.x + stauHit.y * stauHit.y);
192  double tof = muonBetaCalculationUtils.calculateTof(1, sqrt(r * r + stauHit.z * stauHit.z));
193  // track index
195 
196  // identifier info
197  m_ntuple.timeBlock.id.fill(m_idHelperSvc->sector(id), m_idHelperSvc->chamberIndex(id));
198 
199  // position + time information
200  m_ntuple.timeBlock.fill(type, m_idHelperSvc->gasGapId(id).get_identifier32().get_compact(), r, stauHit.z, stauHit.mToF - tof,
201  stauHit.error, stauHit.propagationTime, stauHit.e, tof, 0., stauHit.shift, 1000 * m_candidateCounter);
202 
203  // barcode + pdg
204  int barcode = -1, pdg = 0;
205  if (m_isMC) {
206  barcode = m_truthSummaryTool->getBarcode(id);
207  pdg = barcode != -1 ? m_truthSummaryTool->getPdgId(barcode) : 0;
208  }
210  }
212  return true;
213  }

◆ addTrackParticle()

bool Muon::MuonRecoValidationTool::addTrackParticle ( const xAOD::TrackParticle indetTrackParticle,
const MuonSystemExtension muonSystemExtention 
) const
overridevirtual

add a new TrackParticle with it's muon system extension

Implements Muon::IMuonRecoValidationTool.

Definition at line 106 of file MuonRecoValidationTool.cxx.

107  {
108  m_ntuple.trackParticleBlock.pt->push_back(indetTrackParticle.pt());
109  m_ntuple.trackParticleBlock.p->push_back(1. / indetTrackParticle.qOverP());
110  m_ntuple.trackParticleBlock.eta->push_back(indetTrackParticle.eta());
111  m_ntuple.trackParticleBlock.phi->push_back(indetTrackParticle.phi());
112  int pdg = 0;
113  int barcode = -1; // FIXME barcode-based
114  float beta = 1.;
115  // set truth
116  typedef ElementLink<xAOD::TruthParticleContainer> ElementTruthLink_t;
118  truthParticleLinkAcc("truthParticleLink");
119  if (truthParticleLinkAcc.isAvailable(indetTrackParticle)) {
120  const ElementTruthLink_t link = truthParticleLinkAcc(indetTrackParticle);
121  if (link.isValid()) {
122  pdg = (*link)->pdgId();
123  barcode = HepMC::barcode(*link);
124  beta = (*link)->p4().Beta();
125  }
126  }
127  m_ntuple.trackParticleBlock.truth.fill(pdg, barcode, beta); // FIXME barcode-based
128 
129  // try to find the pointer of the indetTrackParticle
130  bool found = false;
131  for (unsigned int index = 0; index < m_trackParticles.size(); ++index) {
132  if (&indetTrackParticle == m_trackParticles[index]) {
133  found = true;
134  break;
135  }
136  }
137  if (!found) {
138  // set index to the last element
139  unsigned int index = m_trackParticles.size();
140  m_trackParticles.push_back(&indetTrackParticle);
141 
142  const std::vector<Muon::MuonSystemExtension::Intersection>& layerIntersections = muonSystemExtension.layerIntersections();
143  ATH_MSG_DEBUG("Adding ID track: pt " << indetTrackParticle.pt() << " eta " << indetTrackParticle.eta() << " phi "
144  << indetTrackParticle.phi() << " layers " << layerIntersections.size());
145 
146  for (std::vector<Muon::MuonSystemExtension::Intersection>::const_iterator it = layerIntersections.begin();
147  it != layerIntersections.end(); ++it) {
148  m_trackParticleIndexLookup[it->trackParameters.get()] = index;
149  }
150  }
151  return true;
152  }

◆ clear()

void Muon::MuonRecoValidationTool::clear ( )
private

clear ntuples

Definition at line 90 of file MuonRecoValidationTool.cxx.

90  {
92  m_ntuple.clear();
93  m_trackParticles.clear();
95  }

◆ declareGaudiProperty() [1/4]

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

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

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

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

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

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

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

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

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

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extract()

void Muon::MuonRecoValidationTool::extract ( const MuonSegment segment,
std::set< Identifier > &  ids,
std::vector< const MuonClusterOnTrack * > &  clusters 
) const
private

Definition at line 462 of file MuonRecoValidationTool.cxx.

463  {
464  // loop over hits and extract clusters and ids
465  std::vector<const Trk::MeasurementBase*>::const_iterator mit = segment.containedMeasurements().begin();
466  std::vector<const Trk::MeasurementBase*>::const_iterator mit_end = segment.containedMeasurements().end();
467  for (; mit != mit_end; ++mit) {
468  // get Identifier and remove MDT hits
469  Identifier id = m_edmHelperSvc->getIdentifier(**mit);
470  if (!id.is_valid()) continue;
471  ids.insert(id);
472  if (!m_idHelperSvc->isTrigger(id)) continue;
473 
474  // cast to MuonClusterOnTrack
475  const MuonClusterOnTrack* clus = dynamic_cast<const MuonClusterOnTrack*>(*mit);
476  if (clus)
477  clusters.push_back(clus);
478  else {
479  const CompetingMuonClustersOnTrack* crot = dynamic_cast<const CompetingMuonClustersOnTrack*>(*mit);
480  if (!crot || crot->containedROTs().empty()) continue;
481  clusters.insert(clusters.end(), crot->containedROTs().begin(), crot->containedROTs().end());
482  }
483  }
484  }

◆ 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

◆ getBarcode()

int Muon::MuonRecoValidationTool::getBarcode ( const std::set< Identifier > &  ids) const
private

Definition at line 154 of file MuonRecoValidationTool.cxx.

154  {
155  if (!m_isMC) return HepMC::INVALID_PARTICLE_ID;
156 
157  // count how often a barcode occurs
158  std::map<int, int> counters;
159  for (std::set<Identifier>::const_iterator it = ids.begin(); it != ids.end(); ++it) {
160  const int bc = m_truthSummaryTool->getBarcode(*it); // FIXME barcode-based
161  if (bc != -1) ++counters[bc];
162  }
163 
164  // pick the most frequent
165  int barcode = -1;
166  int max = -1;
167  for (std::map<int, int>::iterator it = counters.begin(); it != counters.end(); ++it) {
168  if (it->second > max) {
169  barcode = it->first; // FIXME barcode-based
170  max = it->second;
171  }
172  }
173 
174  return barcode;
175  }

◆ getIndex()

int Muon::MuonRecoValidationTool::getIndex ( const MuonSystemExtension::Intersection intersection) const
inlineprivate

Definition at line 93 of file MuonRecoValidationTool.h.

93  {
94  int index = -1;
95  auto result = m_trackParticleIndexLookup.find(intersection.trackParameters.get());
96  if (result != m_trackParticleIndexLookup.end()) index = result->second;
97  return index;
98  }

◆ handle()

void Muon::MuonRecoValidationTool::handle ( const Incident &  inc)
overridevirtual

incident service handle for EndEvent

Definition at line 97 of file MuonRecoValidationTool.cxx.

97  {
98  // Only clear cache for EndEvent incident
99  if (inc.type() == IncidentType::EndEvent) {
100  ATH_MSG_DEBUG(" clearing cache at end of event ");
101  m_tree->Fill();
102  clear();
103  }
104  }

◆ initialize()

StatusCode Muon::MuonRecoValidationTool::initialize ( )
overridevirtual

initialize method, method taken from bass-class AlgTool

Definition at line 56 of file MuonRecoValidationTool.cxx.

56  {
57 
59  ATH_MSG_ERROR("This tool cannot be used in multi-threaded mode");
60  return StatusCode::FAILURE;
61  }
62 
63  ATH_CHECK(m_idHelperSvc.retrieve());
64  ATH_CHECK(m_edmHelperSvc.retrieve());
66  ATH_CHECK(m_hitSummaryTool.retrieve());
67  if (m_isMC) {
68  ATH_CHECK(m_truthSummaryTool.retrieve());
69  } else {
70  m_truthSummaryTool.disable();
71  }
72  ATH_CHECK(m_extrapolator.retrieve());
73  ATH_CHECK(m_matchingTool.retrieve());
74  ATH_CHECK(m_hitTimingTool.retrieve());
75  ITHistSvc* thistSvc = nullptr;
76  ATH_CHECK(service("THistSvc", thistSvc));
77 
78  m_tree = new TTree("data", "RecoValidation");
79  ATH_CHECK(thistSvc->regTree("/MuonRecoVal/data", m_tree));
80 
81  m_ntuple.init("", m_tree);
82 
83  // call handle in case of EndEvent
84  ATH_CHECK(m_incidentSvc.retrieve());
85  m_incidentSvc->addListener(this, IncidentType::EndEvent);
86 
87  return StatusCode::SUCCESS;
88  }

◆ 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()

static const InterfaceID& Muon::IMuonRecoValidationTool::interfaceID ( )
inlinestaticinherited

AlgTool and IAlgTool interface methods.

Definition at line 27 of file IMuonRecoValidationTool.h.

27  {
28  static const InterfaceID IID_IMuonRecoValidationTool("Muon::IMuonRecoValidationTool", 1, 0);
29  return IID_IMuonRecoValidationTool;
30  }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_candidateCounter

std::atomic<unsigned int> Muon::MuonRecoValidationTool::m_candidateCounter
mutableprivate

Definition at line 121 of file MuonRecoValidationTool.h.

◆ 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::MuonRecoValidationTool::m_edmHelperSvc
private
Initial value:
{this, "edmHelper", "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
"Handle to the service providing the IMuonEDMHelperSvc interface"}

Definition at line 104 of file MuonRecoValidationTool.h.

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

ToolHandle<Trk::IExtrapolator> Muon::MuonRecoValidationTool::m_extrapolator
private

Definition at line 109 of file MuonRecoValidationTool.h.

◆ m_hitSummaryTool

ToolHandle<IMuonHitSummaryTool> Muon::MuonRecoValidationTool::m_hitSummaryTool
private

Definition at line 107 of file MuonRecoValidationTool.h.

◆ m_hitTimingTool

ToolHandle<IMuonHitTimingTool> Muon::MuonRecoValidationTool::m_hitTimingTool
private

Definition at line 111 of file MuonRecoValidationTool.h.

◆ m_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> Muon::MuonRecoValidationTool::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 103 of file MuonRecoValidationTool.h.

◆ m_incidentSvc

ServiceHandle<IIncidentSvc> Muon::MuonRecoValidationTool::m_incidentSvc
private

Definition at line 112 of file MuonRecoValidationTool.h.

◆ m_isMC

bool Muon::MuonRecoValidationTool::m_isMC
private

Definition at line 123 of file MuonRecoValidationTool.h.

◆ m_matchingTool

ToolHandle<IMuTagMatchingTool> Muon::MuonRecoValidationTool::m_matchingTool
private

Definition at line 110 of file MuonRecoValidationTool.h.

◆ m_ntuple

MuonInsideOutValidationNtuple Muon::MuonRecoValidationTool::m_ntuple
mutableprivate

Definition at line 118 of file MuonRecoValidationTool.h.

◆ m_segmentHitSummaryTool

ToolHandle<IMuonSegmentHitSummaryTool> Muon::MuonRecoValidationTool::m_segmentHitSummaryTool
private

Definition at line 106 of file MuonRecoValidationTool.h.

◆ m_trackParticleIndexLookup

std::map<const Trk::TrackParameters*, unsigned int> Muon::MuonRecoValidationTool::m_trackParticleIndexLookup
mutableprivate

Definition at line 116 of file MuonRecoValidationTool.h.

◆ m_trackParticles

std::vector<const xAOD::TrackParticle*> Muon::MuonRecoValidationTool::m_trackParticles
mutableprivate

Definition at line 115 of file MuonRecoValidationTool.h.

◆ m_tree

TTree* Muon::MuonRecoValidationTool::m_tree = nullptr
private

Definition at line 119 of file MuonRecoValidationTool.h.

◆ m_truthSummaryTool

ToolHandle<IMuonTruthSummaryTool> Muon::MuonRecoValidationTool::m_truthSummaryTool
private

Definition at line 108 of file MuonRecoValidationTool.h.

◆ 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:
Muon::MuonRecoValidationTool::m_ntuple
MuonInsideOutValidationNtuple m_ntuple
Definition: MuonRecoValidationTool.h:118
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Muon::MuonValidationTrackParticleBlock::p
std::vector< float > * p
Definition: MuonInsideOutValidationNtuple.h:196
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
Muon::MuonRecoValidationTool::m_trackParticles
std::vector< const xAOD::TrackParticle * > m_trackParticles
Definition: MuonRecoValidationTool.h:115
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
MuonCombined::MuonSegmentInfo::segErrorYZ
double segErrorYZ
error from segment on angle in bending plane
Definition: MuonSegmentInfo.h:95
Muon::MuonValidationTrackParticleBlock::phi
std::vector< float > * phi
Definition: MuonInsideOutValidationNtuple.h:198
beamspotman.r
def r
Definition: beamspotman.py:676
MuonCombined::MuonSegmentInfo::pullXZ
double pullXZ
pull on angle in non-bending plane
Definition: MuonSegmentInfo.h:86
Muon::MuonValidationHoughBlock::id
MuonValidationIdBlock id
Definition: MuonInsideOutValidationNtuple.h:238
MuonCombined::MuonSegmentInfo
Definition: MuonSegmentInfo.h:23
Muon::MuonRecoValidationTool::m_hitSummaryTool
ToolHandle< IMuonHitSummaryTool > m_hitSummaryTool
Definition: MuonRecoValidationTool.h:107
Muon::MuonValidationTrackParticleBlock::pt
std::vector< float > * pt
Definition: MuonInsideOutValidationNtuple.h:195
Muon::MuonValidationIdBlock::fill
void fill(int sector_, int chIndex_)
Definition: MuonInsideOutValidationNtuple.h:65
Muon::MuonValidationTrackParticleBlock::truth
MuonValidationTruthBlock truth
Definition: MuonInsideOutValidationNtuple.h:199
Muon::MuonInsideOutValidationNtuple::candidateBlock
MuonValidationCandidateBlock candidateBlock
Definition: MuonInsideOutValidationNtuple.h:291
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
python.FPGATrackSimAnalysisConfig.stage
stage
Definition: FPGATrackSimAnalysisConfig.py:604
Muon::MuonValidationHitBlock::id
MuonValidationIdBlock id
Definition: MuonInsideOutValidationNtuple.h:248
Trk::locX
@ locX
Definition: ParamDefs.h:43
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
MuonHough::MuonLayerHough::m_binsize
float m_binsize
Definition: MuonLayerHough.h:168
Muon::MuonValidationTimeBlock::fill
void fill(int type_, unsigned int gasgapId_, float r_, float z_, float time_, float err_, float timeProp_=0., float avTimeProp_=0., float tof_=0., float avTof_=0., float timeCor_=0., int stage_=0)
Definition: MuonInsideOutValidationNtuple.h:120
MuonCombined::MuonSegmentInfo::resCY
double resCY
residual on combined local position Y and angle YZ
Definition: MuonSegmentInfo.h:101
MuonCombined::MuonSegmentInfo::exErrorX
double exErrorX
error from extrapolation on residual in non-bending plane
Definition: MuonSegmentInfo.h:50
Muon::MuonValidationSegmentBlock::ntrigEtaHits
std::vector< int > * ntrigEtaHits
Definition: MuonInsideOutValidationNtuple.h:212
index
Definition: index.py:1
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::TrackParticle_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: TrackParticle_v1.cxx:77
Muon::MuonRecoValidationTool::m_isMC
bool m_isMC
Definition: MuonRecoValidationTool.h:123
Muon::MuonRecoValidationTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonRecoValidationTool.h:103
MuonHough::MuonLayerHough::m_descriptor
RegionDescriptor m_descriptor
Definition: MuonLayerHough.h:179
MuonCombined::MuonSegmentInfo::dangleXZ
double dangleXZ
angular residual in the Local coordinate non-bending plane
Definition: MuonSegmentInfo.h:77
Muon::MuonValidationSegmentBlock::track
MuonValidationTrackBlock track
Definition: MuonInsideOutValidationNtuple.h:221
Muon::MuonValidationHoughBlock::track
MuonValidationTrackBlock track
Definition: MuonInsideOutValidationNtuple.h:239
Muon::MuonValidationTruthBlock::fill
void fill(int pdg_, int barcode_, float beta_=1.)
Definition: MuonInsideOutValidationNtuple.h:79
Trk::PrepRawData::localCovariance
const Amg::MatrixX & localCovariance() const
return const ref to the error matrix
ALFA_EventTPCnv_Dict::t0
std::vector< ALFA_RawData_p1 > t0
Definition: ALFA_EventTPCnvDict.h:42
HepMC::INVALID_PARTICLE_ID
constexpr int INVALID_PARTICLE_ID
Definition: MagicNumbers.h:56
skel.it
it
Definition: skel.GENtoEVGEN.py:423
MuonCombined::MuonSegmentInfo::segErrorXZ
double segErrorXZ
error from segment on angle in non-bending plane
Definition: MuonSegmentInfo.h:83
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
Muon::MuonValidationSegmentBlock::quality
std::vector< int > * quality
Definition: MuonInsideOutValidationNtuple.h:210
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition: MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:54
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
Muon::MuonValidationSegmentBlock::combinedYZ
MuonValidationResidualBlock combinedYZ
Definition: MuonInsideOutValidationNtuple.h:227
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Muon::MuonRecoValidationTool::m_edmHelperSvc
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
Definition: MuonRecoValidationTool.h:104
Muon::MuonValidationHitBlock::residuals
MuonValidationResidualBlock residuals
Definition: MuonInsideOutValidationNtuple.h:251
intersection
std::vector< std::string > intersection(std::vector< std::string > &v1, std::vector< std::string > &v2)
Definition: compareFlatTrees.cxx:25
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
Muon::MuonRecoValidationTool::clear
void clear()
clear ntuples
Definition: MuonRecoValidationTool.cxx:90
Trk::combinedTrack
void combinedTrack(long int ICH, double *pv0, double *covi, double BMAG, double *par, double *covo)
Definition: XYZtrp.cxx:113
Muon::MuonInsideOutValidationNtuple::houghBlock
MuonValidationHoughBlock houghBlock
Definition: MuonInsideOutValidationNtuple.h:288
Muon::MuonValidationSegmentBlock::xresiduals
MuonValidationResidualBlock xresiduals
Definition: MuonInsideOutValidationNtuple.h:223
Muon::MuonValidationSegmentBlock::t0
std::vector< float > * t0
Definition: MuonInsideOutValidationNtuple.h:216
Muon::MuonRecoValidationTool::m_trackParticleIndexLookup
std::map< const Trk::TrackParameters *, unsigned int > m_trackParticleIndexLookup
Definition: MuonRecoValidationTool.h:116
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Muon::MuonValidationSegmentBlock::t0Error
std::vector< float > * t0Error
Definition: MuonInsideOutValidationNtuple.h:217
Muon::MuonValidationHoughBlock::residuals
MuonValidationResidualBlock residuals
Definition: MuonInsideOutValidationNtuple.h:241
MuonCombined::MuonSegmentInfo::pullY
double pullY
pull on residual in bending plane
Definition: MuonSegmentInfo.h:68
MuonHough::MuonLayerHough::Maximum::binposmin
int binposmin
Definition: MuonLayerHough.h:68
MuonHough::RegionDescriptor::sector
int sector
Definition: MuonLayerHough.h:40
AthCommonDataStore
Definition: AthCommonDataStore.h:52
Muon::MuonValidationHoughBlock::maximum
std::vector< float > * maximum
Definition: MuonInsideOutValidationNtuple.h:237
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
MuonHough::MuonLayerHough::Maximum::max
float max
Definition: MuonLayerHough.h:59
Muon::MuonRecoValidationTool::m_candidateCounter
std::atomic< unsigned int > m_candidateCounter
Definition: MuonRecoValidationTool.h:121
MuonGM::RpcReadoutElement::distanceToPhiReadout
double distanceToPhiReadout(const Amg::Vector3D &P) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:223
Muon::MuonValidationResidualBlock::fill
void fill(const Trk::MeasurementBase &hit, const MuonSystemExtension::Intersection &intersection, Trk::ParamDefs par)
Definition: MuonInsideOutValidationNtuple.h:136
Muon::RpcPrepData
Class to represent RPC measurements.
Definition: RpcPrepData.h:35
Muon::RpcPrepData::detectorElement
virtual const MuonGM::RpcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD.
Definition: RpcPrepData.h:202
Muon::MuonValidationTimeBlock::id
MuonValidationIdBlock id
Definition: MuonInsideOutValidationNtuple.h:102
Muon::MuonInsideOutValidationNtuple::trackParticleBlock
MuonValidationTrackParticleBlock trackParticleBlock
Definition: MuonInsideOutValidationNtuple.h:286
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Muon::MuonValidationCandidateBlock::track
MuonValidationTrackBlock track
Definition: MuonInsideOutValidationNtuple.h:266
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
MuonHough::RegionDescriptor::chIndex
Muon::MuonStationIndex::ChIndex chIndex
Definition: MuonLayerHough.h:42
Muon::MuonValidationTrackParticleBlock::eta
std::vector< float > * eta
Definition: MuonInsideOutValidationNtuple.h:197
MuonCombined::MuonSegmentInfo::quality
int quality
hit count summary
Definition: MuonSegmentInfo.h:116
Muon::MuonValidationSegmentBlock::truth
MuonValidationTruthBlock truth
Definition: MuonInsideOutValidationNtuple.h:222
Muon::MuonValidationSegmentBlock::yresiduals
MuonValidationResidualBlock yresiduals
Definition: MuonInsideOutValidationNtuple.h:224
sign
int sign(int a)
Definition: TRT_StrawNeighbourSvc.h:127
Muon::MuonRecoValidationTool::extract
void extract(const MuonSegment &segment, std::set< Identifier > &ids, std::vector< const MuonClusterOnTrack * > &clusters) const
Definition: MuonRecoValidationTool.cxx:462
MuonCombined::MuonSegmentInfo::segErrorX
double segErrorX
error from segment on residual in non-bending plane
Definition: MuonSegmentInfo.h:53
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Muon::MuonValidationTrackBlock::fill
void fill(int trkid_)
Definition: MuonInsideOutValidationNtuple.h:91
Muon::MuonValidationSegmentBlock::angleYZ
MuonValidationResidualBlock angleYZ
Definition: MuonInsideOutValidationNtuple.h:226
Muon::MuonValidationSegmentBlock::t0TrigError
std::vector< float > * t0TrigError
Definition: MuonInsideOutValidationNtuple.h:219
MuonHough::MuonLayerHough::Maximum::hough
const MuonLayerHough * hough
Definition: MuonLayerHough.h:75
Trk::muon
@ muon
Definition: ParticleHypothesis.h:28
MuonCombined::MuonSegmentInfo::exErrorY
double exErrorY
error from extrapolation on residual in bending plane
Definition: MuonSegmentInfo.h:62
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
Muon::MuonValidationSegmentBlock::z
std::vector< float > * z
Definition: MuonInsideOutValidationNtuple.h:215
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::PrepRawData::identify
Identifier identify() const
return the identifier
Muon::MuonValidationCandidateBlock::fill
void fill(int ntimes_, float beta_, float chi2ndof_, int nseg_, int nprec_, int ntrigPhi_, int ntrigEta_, int stage_)
Definition: MuonInsideOutValidationNtuple.h:268
xAOD::TrackParticle_v1::qOverP
float qOverP() const
Returns the parameter.
Muon::MuonRecoValidationTool::m_incidentSvc
ServiceHandle< IIncidentSvc > m_incidentSvc
Definition: MuonRecoValidationTool.h:112
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
MuonGM::RpcReadoutElement::stripPos
Amg::Vector3D stripPos(const Identifier &id) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:177
Trk::PrepRawData::localPosition
const Amg::Vector2D & localPosition() const
return the local position reference
Muon::MuonRecoValidationTool::m_hitTimingTool
ToolHandle< IMuonHitTimingTool > m_hitTimingTool
Definition: MuonRecoValidationTool.h:111
MuonHough::MuonLayerHough::Maximum::pos
float pos
Definition: MuonLayerHough.h:60
MuonCombined::MuonSegmentInfo::resY
double resY
residual track - segment in Local coordinate in bending plane
Definition: MuonSegmentInfo.h:59
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Muon::MuonRecoValidationTool::m_tree
TTree * m_tree
Definition: MuonRecoValidationTool.h:119
MuonCombined::MuonSegmentInfo::dangleYZ
double dangleYZ
angular residual in the Local coordinate bending plane
Definition: MuonSegmentInfo.h:89
Muon::MuonValidationSegmentBlock::ntrigPhiHits
std::vector< int > * ntrigPhiHits
Definition: MuonInsideOutValidationNtuple.h:213
MuonHough::MuonLayerHough::Maximum::hits
HitVec hits
Definition: MuonLayerHough.h:73
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Muon::MuonValidationSegmentBlock::nmdtHits
std::vector< int > * nmdtHits
Definition: MuonInsideOutValidationNtuple.h:211
Muon::MuonInsideOutValidationNtuple::hitBlock
MuonValidationHitBlock hitBlock
Definition: MuonInsideOutValidationNtuple.h:289
MuonCombined::MuonSegmentInfo::segErrorY
double segErrorY
error from segment on residual in bending plane
Definition: MuonSegmentInfo.h:65
Muon::MuonValidationHitBlock::truth
MuonValidationTruthBlock truth
Definition: MuonInsideOutValidationNtuple.h:250
DeMoScan.index
string index
Definition: DeMoScan.py:362
Muon::MuonRecoValidationTool::m_segmentHitSummaryTool
ToolHandle< IMuonSegmentHitSummaryTool > m_segmentHitSummaryTool
Definition: MuonRecoValidationTool.h:106
MuonCombined::MuonSegmentInfo::exErrorXZ
double exErrorXZ
error from extrapolation on angle in non-bending plane
Definition: MuonSegmentInfo.h:80
MuonCombined::MuonSegmentInfo::pullYZ
double pullYZ
pull on angle in bending plane
Definition: MuonSegmentInfo.h:98
a
TList * a
Definition: liststreamerinfos.cxx:10
Muon::MuonValidationSegmentBlock::t0Trig
std::vector< float > * t0Trig
Definition: MuonInsideOutValidationNtuple.h:218
Muon::MuonValidationSegmentBlock::r
std::vector< float > * r
Definition: MuonInsideOutValidationNtuple.h:214
h
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
python.BackTrackingConfig.numThreads
int numThreads
Definition: BackTrackingConfig.py:61
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Muon::MuonRecoValidationTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: MuonRecoValidationTool.h:109
MuonCombined::MuonSegmentInfo::pullX
double pullX
pull on residual in non-bending plane
Definition: MuonSegmentInfo.h:56
Muon::MuonValidationSegmentBlock::stage
std::vector< int > * stage
Definition: MuonInsideOutValidationNtuple.h:209
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::MuonValidationSegmentBlock::id
MuonValidationIdBlock id
Definition: MuonInsideOutValidationNtuple.h:220
MuonCombined::MuonSegmentInfo::pullCY
double pullCY
pull on combined local position Y and angle YZ
Definition: MuonSegmentInfo.h:104
RunTileMonitoring.clusters
clusters
Definition: RunTileMonitoring.py:133
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
Muon::MuonValidationTimeBlock::truth
MuonValidationTruthBlock truth
Definition: MuonInsideOutValidationNtuple.h:104
Muon::MuonRecoValidationTool::getIndex
int getIndex(const MuonSystemExtension::Intersection &intersection) const
Definition: MuonRecoValidationTool.h:93
Muon::MuonInsideOutValidationNtuple::segmentBlock
MuonValidationSegmentBlock segmentBlock
Definition: MuonInsideOutValidationNtuple.h:287
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
Muon::MuonValidationBlockBase::clear
void clear()
Definition: MuonInsideOutValidationNtuple.cxx:10
Muon::MuonInsideOutValidationNtuple::timeBlock
MuonValidationTimeBlock timeBlock
Definition: MuonInsideOutValidationNtuple.h:290
Muon::MuonValidationTimeBlock::track
MuonValidationTrackBlock track
Definition: MuonInsideOutValidationNtuple.h:103
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
MuonGM::RpcReadoutElement::distanceToEtaReadout
double distanceToEtaReadout(const Amg::Vector3D &P) const
Definition: MuonDetDescr/MuonReadoutGeometry/src/RpcReadoutElement.cxx:278
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
MuonCombined::MuonSegmentInfo::exErrorYZ
double exErrorYZ
error from extrapolation on angle in bending plane
Definition: MuonSegmentInfo.h:92
Muon::MuonRecoValidationTool::m_truthSummaryTool
ToolHandle< IMuonTruthSummaryTool > m_truthSummaryTool
Definition: MuonRecoValidationTool.h:108
Muon::MuonValidationSegmentBlock::angleXZ
MuonValidationResidualBlock angleXZ
Definition: MuonInsideOutValidationNtuple.h:225
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
Muon::MuonRecoValidationTool::getBarcode
int getBarcode(const std::set< Identifier > &ids) const
Definition: MuonRecoValidationTool.cxx:154
MuonHough::MuonLayerHough::Maximum::binposmax
int binposmax
Definition: MuonLayerHough.h:69
Trk::loc1
@ loc1
Definition: ParamDefs.h:40
Muon::MuonValidationBlockBase::init
void init(const std::string &prefix, TTree *, bool write=true)
Definition: MuonInsideOutValidationNtuple.cxx:28
Muon::MuonValidationResidualBlock::fillResPull
void fillResPull(float res_, float pull_, int status=1)
Definition: MuonInsideOutValidationNtuple.h:164
Muon::MuonValidationHoughBlock::truth
MuonValidationTruthBlock truth
Definition: MuonInsideOutValidationNtuple.h:240
Muon::MuonRecoValidationTool::m_matchingTool
ToolHandle< IMuTagMatchingTool > m_matchingTool
Definition: MuonRecoValidationTool.h:110
MuonCombined::MuonSegmentInfo::resX
double resX
residual track - segment in Local coordinate non-bending plane
Definition: MuonSegmentInfo.h:47
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
Muon::MuonBetaCalculationUtils
Definition: MuonBetaCalculationUtils.h:12
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Muon::MuonBetaCalculationUtils::calculateTof
float calculateTof(float beta, float dist)
Definition: MuonBetaCalculationUtils.h:37
xAOD::TrackParticle_v1::phi
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)
fitman.k
k
Definition: fitman.py:528
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5
Muon::MuonValidationHitBlock::track
MuonValidationTrackBlock track
Definition: MuonInsideOutValidationNtuple.h:249
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65