ATLAS Offline Software
ITrkObserverTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // ITrkObserverTool.h
8 // Header file for class ITrkObserverTool
9 // Author: C.Rauchegger <christoph.rauchegger@cern.ch>
10 //
11 // Tool to observe/monitor the track candiates during the
12 // whole ambiguity solving process
14 #ifndef TRK_ITRKOBSERVERTOOL_H
15 #define TRK_ITRKOBSERVERTOOL_H
16 
17 // FrameWork includes
18 #include "GaudiKernel/IAlgTool.h"
21 // data type of map for storing in cache
23 
24 // Forward declaration
25 
26 namespace Trk
27 {
28  static const InterfaceID IID_ITrkObserverTool("Trk::ITrkObserverTool", 1, 0);
29 
30  class ITrkObserverTool : virtual public IAlgTool {
31  public:
32  virtual ~ITrkObserverTool() {};
33  static const InterfaceID& interfaceID();
34 
36  virtual void updateScore(int uid, double score) const = 0;
38  virtual void addInputTrack(int uid, const Trk::Track& track) const = 0;
39  virtual void addSubTrack(int track_uid, int parent_uid, const Trk::Track& track) const = 0;
40  virtual ObservedTrackMap* getTrackMap(const EventContext& ctx) const = 0;
41  virtual int saveTracksToStore(const EventContext& ctx, const ObservedTrackMap* trk_map) const = 0;
46  int numWeightedShared) const = 0;
47  };
48 
49  inline const InterfaceID& Trk::ITrkObserverTool::interfaceID() {
50  return IID_ITrkObserverTool;
51  }
52 }
53 
54 #endif // TRK_ITRKOBSERVERTOOL_H
xAOD::numSharedOrSplit
@ numSharedOrSplit
Definition: TrackingPrimitives.h:521
xAOD::hasIBLHit
@ hasIBLHit
Definition: TrackingPrimitives.h:527
xAOD::numWeightedShared
@ numWeightedShared
Definition: TrackingPrimitives.h:541
xAOD::numUnused
@ numUnused
Definition: TrackingPrimitives.h:535
xAOD::isPatternTrack
@ isPatternTrack
Definition: TrackingPrimitives.h:524
xAOD::averageSplit2
@ averageSplit2
Definition: TrackingPrimitives.h:540
xAOD::hasSharedIBLHit
@ hasSharedIBLHit
Definition: TrackingPrimitives.h:528
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ITrkObserverTool::~ITrkObserverTool
virtual ~ITrkObserverTool()
Definition: ITrkObserverTool.h:32
xAOD::numSplitSharedPixel
@ numSplitSharedPixel
Definition: TrackingPrimitives.h:519
xAOD::numPseudo
@ numPseudo
Definition: TrackingPrimitives.h:538
Trk::ITrkObserverTool::updateHolesSharedHits
virtual void updateHolesSharedHits(int uid, int numPixelHoles, int numSCTHoles, int numSplitSharedPixel, int numSplitSharedSCT, int numSharedOrSplit, int numSharedOrSplitPixels, int numShared, int isPatternTrack, int totalSiHits, int inROI, int hasIBLHit, int hasSharedIBLHit, int hasSharedPixel, int firstPixIsShared, int numPixelDeadSensor, int numSCTDeadSensor, int numPixelHits, int numSCTHits, int numUnused, int numTRT_Unused, int numSCT_Unused, int numPseudo, float averageSplit1, float averageSplit2, int numWeightedShared) const =0
Trk::ITrkObserverTool::rejectTrack
virtual void rejectTrack(int uid, xAOD::RejectionStep rejectStep, xAOD::RejectionReason rejectReason) const =0
xAOD::firstPixIsShared
@ firstPixIsShared
Definition: TrackingPrimitives.h:530
ObservedTrackMap.h
Trk::ITrkObserverTool::getTrackMap
virtual ObservedTrackMap * getTrackMap(const EventContext &ctx) const =0
Trk::ITrkObserverTool::addInputTrack
virtual void addInputTrack(int uid, const Trk::Track &track) const =0
xAOD::hasSharedPixel
@ hasSharedPixel
Definition: TrackingPrimitives.h:529
Trk::ITrkObserverTool::updateTrackMap
virtual void updateTrackMap(int uid, double score, xAOD::RejectionStep rejectStep, xAOD::RejectionReason rejectReason) const =0
ObservedTrackMap
std::map< int, std::tuple< Trk::Track *, double, xAOD::RejectionStep, xAOD::RejectionReason, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, float, float, int, std::vector< xAOD::RejectionStep >, std::vector< xAOD::RejectionReason > > > ObservedTrackMap
Definition: ObservedTrackMap.h:50
xAOD::numSCTDeadSensor
@ numSCTDeadSensor
Definition: TrackingPrimitives.h:532
Trk::ITrkObserverTool
Definition: ITrkObserverTool.h:30
xAOD::totalSiHits
@ totalSiHits
Definition: TrackingPrimitives.h:525
xAOD::numPixelHits
@ numPixelHits
Definition: TrackingPrimitives.h:533
TrackCollection.h
xAOD::numSharedOrSplitPixels
@ numSharedOrSplitPixels
Definition: TrackingPrimitives.h:522
xAOD::numSCTHits
@ numSCTHits
Definition: TrackingPrimitives.h:534
xAOD::rejectStep
@ rejectStep
Definition: TrackingPrimitives.h:514
xAOD::RejectionReason
RejectionReason
Definition: TrackingPrimitives.h:471
xAOD::numSCT_Unused
@ numSCT_Unused
Definition: TrackingPrimitives.h:537
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ITrkObserverTool::updateScore
virtual void updateScore(int uid, double score) const =0
xAOD::inROI
@ inROI
Definition: TrackingPrimitives.h:526
Trk::ITrkObserverTool::addSubTrack
virtual void addSubTrack(int track_uid, int parent_uid, const Trk::Track &track) const =0
xAOD::averageSplit1
@ averageSplit1
Definition: TrackingPrimitives.h:539
xAOD::score
@ score
Definition: TrackingPrimitives.h:513
Trk::ITrkObserverTool::saveTracksToStore
virtual int saveTracksToStore(const EventContext &ctx, const ObservedTrackMap *trk_map) const =0
xAOD::rejectReason
@ rejectReason
Definition: TrackingPrimitives.h:515
xAOD::numPixelHoles
@ numPixelHoles
Definition: TrackingPrimitives.h:517
xAOD::numTRT_Unused
@ numTRT_Unused
Definition: TrackingPrimitives.h:536
xAOD::numSCTHoles
@ numSCTHoles
Definition: TrackingPrimitives.h:518
xAOD::numSplitSharedSCT
@ numSplitSharedSCT
Definition: TrackingPrimitives.h:520
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::numShared
@ numShared
Definition: TrackingPrimitives.h:523
Trk::ITrkObserverTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITrkObserverTool.h:49
TrackingPrimitives.h
xAOD::RejectionStep
RejectionStep
Definition: TrackingPrimitives.h:457
xAOD::numPixelDeadSensor
@ numPixelDeadSensor
Definition: TrackingPrimitives.h:531