ATLAS Offline Software
IMuonRefitTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_IMUONREFITTOOL_H
6 #define MUON_IMUONREFITTOOL_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 #include "Identifier/Identifier.h"
11 
12 namespace Trk {
13  class Track;
14 }
15 
16 namespace Muon {
17 
19  class IMuonRefitTool : virtual public IAlgTool {
20  public:
21  struct Settings {
23  broad(false),
24  refit(true),
25  removeOutliers(true),
27  recalibrate(false),
28  updateErrors(true),
29  updateTriggerErrors(false),
30  prepareForFit(true),
32  removeOtherSectors(false),
33  deweightOtherSectors(false),
35  removeTriggerEtaHits(false),
37  removeBEE(false) {}
38 
39  bool broad;
40  bool refit;
43  bool recalibrate;
44  bool updateErrors;
53  bool removeBEE;
54  std::set<Identifier> chambersToBeremoved;
55  std::set<MuonStationIndex::StIndex>
57  std::set<MuonStationIndex::PhiIndex>
59  };
60 
61  public:
63  static const InterfaceID& interfaceID() {
64  static const InterfaceID IID_IMuonRefitTool("Muon::IMuonRefitTool", 1, 0);
65  return IID_IMuonRefitTool;
66  }
67 
68  virtual ~IMuonRefitTool() = default;
70  virtual std::unique_ptr<Trk::Track> refit(const Trk::Track& track, const EventContext& ctx,
71  const Settings* settings = nullptr) const = 0;
73  virtual std::vector<std::unique_ptr<Trk::Track> > refit(const std::vector<Trk::Track*>& tracks, const EventContext& ctx,
74  const Settings* settings = nullptr) const = 0;
75  };
76 
77 } // namespace Muon
78 
79 #endif
Muon::IMuonRefitTool::Settings::recreateStartingParameters
bool recreateStartingParameters
prepare the input track for a refit
Definition: IMuonRefitTool.h:47
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Muon::IMuonRefitTool::Settings::removeTriggerEtaHits
bool removeTriggerEtaHits
extrapolate muon to muon entrance after refit
Definition: IMuonRefitTool.h:51
Muon::IMuonRefitTool::Settings::broad
bool broad
Definition: IMuonRefitTool.h:39
Muon::IMuonRefitTool::Settings::removeBarrelEndcapOverlap
bool removeBarrelEndcapOverlap
all trigger eta hits are turned into outliers
Definition: IMuonRefitTool.h:52
Muon::IMuonRefitTool::Settings
Definition: IMuonRefitTool.h:21
Muon::IMuonRefitTool::Settings::chambersToBeremoved
std::set< Identifier > chambersToBeremoved
turn all hits in the BEE chambers into outliers
Definition: IMuonRefitTool.h:54
Muon::IMuonRefitTool::Settings::removeOtherSectors
bool removeOtherSectors
recreate starting parameters by extrapolating from first hit on track
Definition: IMuonRefitTool.h:48
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::IMuonRefitTool
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
Definition: IMuonRefitTool.h:19
Muon::IMuonRefitTool::Settings::removeOutliers
bool removeOutliers
toogle on/off refit of the track
Definition: IMuonRefitTool.h:41
Muon::IMuonRefitTool::Settings::precisionLayersToBeremoved
std::set< MuonStationIndex::StIndex > precisionLayersToBeremoved
all hits in chambers that are in the list are turned into outliers
Definition: IMuonRefitTool.h:56
Muon::IMuonRefitTool::Settings::refit
bool refit
use broad error settings
Definition: IMuonRefitTool.h:40
Muon::IMuonRefitTool::Settings::recalibrate
bool recalibrate
toogle on/off the dropping of track that could not be cleaned
Definition: IMuonRefitTool.h:43
Muon::IMuonRefitTool::Settings::updateTriggerErrors
bool updateTriggerErrors
update the errors without recalibrating
Definition: IMuonRefitTool.h:45
Muon::IMuonRefitTool::Settings::phiLayersToBeremoved
std::set< MuonStationIndex::PhiIndex > phiLayersToBeremoved
all precision hits in station layers that are in the list are turned into outliers
Definition: IMuonRefitTool.h:58
Muon::IMuonRefitTool::Settings::extrapolateToMuonEntry
bool extrapolateToMuonEntry
de-weight all hits in sectors that are not the main sector
Definition: IMuonRefitTool.h:50
Muon::IMuonRefitTool::refit
virtual std::unique_ptr< Trk::Track > refit(const Trk::Track &track, const EventContext &ctx, const Settings *settings=nullptr) const =0
refit a track
Muon::IMuonRefitTool::interfaceID
static const InterfaceID & interfaceID()
access to tool interface
Definition: IMuonRefitTool.h:63
Muon::IMuonRefitTool::~IMuonRefitTool
virtual ~IMuonRefitTool()=default
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Muon::IMuonRefitTool::Settings::prepareForFit
bool prepareForFit
update the errors of the trigger hits
Definition: IMuonRefitTool.h:46
Muon::IMuonRefitTool::Settings::updateErrors
bool updateErrors
recalibrate the hits
Definition: IMuonRefitTool.h:44
Muon::IMuonRefitTool::Settings::removeBEE
bool removeBEE
turn all hits in the barrel/endcap part of the track with least hits into outliers
Definition: IMuonRefitTool.h:53
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::IMuonRefitTool::Settings::Settings
Settings()
Definition: IMuonRefitTool.h:22
MuonStationIndex.h
Muon::IMuonRefitTool::Settings::discardNotCleanedTracks
bool discardNotCleanedTracks
remove MDT outliers locally redoing the local segment fit
Definition: IMuonRefitTool.h:42
Muon::IMuonRefitTool::refit
virtual std::vector< std::unique_ptr< Trk::Track > > refit(const std::vector< Trk::Track * > &tracks, const EventContext &ctx, const Settings *settings=nullptr) const =0
refit and back extrapolate a vector of track pairs
Muon::IMuonRefitTool::Settings::deweightOtherSectors
bool deweightOtherSectors
remove all hits in sectors that are not the main sector
Definition: IMuonRefitTool.h:49