ATLAS Offline Software
SCT_ClusterOnTrackTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Header file for class SCT_ClusterOnTrackTool
8 // (c) ATLAS Detector software
10 // Interface for SCT_ClusterOnTrack production
12 // started 1/05/2004 I.Gavrilenko - see ChangeLog for details
14 
15 #ifndef SCT_ClusterOnTrackTool_H
16 #define SCT_ClusterOnTrackTool_H
17 
18 #include "GaudiKernel/ToolHandle.h"
19 #include "GaudiKernel/ThreadLocalContext.h"
22 
27 
28 namespace InDet {
29 
30 
39  class SCT_ClusterOnTrackTool final:
40  public AthAlgTool,virtual public Trk::IRIO_OnTrackCreator
41 {
43  // Public methods:
45 
46 public:
47 
49  SCT_ClusterOnTrackTool(const std::string&,const std::string&,const IInterface*);
50  virtual ~SCT_ClusterOnTrackTool () = default;
52  virtual StatusCode initialize() override;
54  virtual StatusCode finalize () override;
55 
56 
64  const Trk::PrepRawData&, const Trk::TrackParameters&, const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
65 
74  static double getCorrection(double phi, int nstrip) ;
75 
76 
87  static double getError(double phi, int nstrip) ;
88 
89  private:
90 
92  // Private data:
94 
97  {this,"SCTErrorScalingKey", "/Indet/TrkErrorScalingSCT", "Key for SCT error scaling conditions data."};
98 
99  ToolHandle<ISiLorentzAngleTool> m_lorentzAngleTool
100  {this, "LorentzAngleTool", "SiLorentzAngleTool", "Tool to retrieve Lorentz angle"};
101 
104  {this, "MakeTwoDimBarrelClusters", false,
105  "flag if strip length should be part of the measurement"};
106  IntegerProperty m_option_errorStrategy
107  {this, "ErrorStrategy", -1,
108  "if ErrorStrategy < 0, keep previous errors else recompute"};
110  {this, "CorrectionStrategy", -1,
111  "if CorrectionStrategy >= 0, apply a correction to the cluster position"};
112 };
113 
114 } // end of namespace InDet
115 
116 #endif // SCT_ClusterOnTrackTool_H
SCT_ClusterOnTrack.h
SCTRIO_OnTrackErrorScaling.h
TrackParameters.h
InDet::SCT_ClusterOnTrackTool::m_option_correctionStrategy
IntegerProperty m_option_correctionStrategy
Definition: SCT_ClusterOnTrackTool.h:110
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::SCT_ClusterOnTrackTool::getCorrection
static double getCorrection(double phi, int nstrip)
Returns a correction to be applied to the SCT cluster local x position in simulated events to remove ...
Definition: SCT_ClusterOnTrackTool.cxx:250
IRIO_OnTrackCreator.h
ISiLorentzAngleTool.h
InDet::SCT_ClusterOnTrackTool::initialize
virtual StatusCode initialize() override
AlgTool initialisation.
Definition: SCT_ClusterOnTrackTool.cxx:41
InDet::SCT_ClusterOnTrackTool::m_sctErrorScalingKey
SG::ReadCondHandleKey< RIO_OnTrackErrorScaling > m_sctErrorScalingKey
toolhandle for central error scaling
Definition: SCT_ClusterOnTrackTool.h:97
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
InDet::SCT_ClusterOnTrackTool::~SCT_ClusterOnTrackTool
virtual ~SCT_ClusterOnTrackTool()=default
Trk::ParametersBase
Definition: ParametersBase.h:55
InDet::SCT_ClusterOnTrackTool
creates SCT_ClusterOnTrack objects allowing to calibrate cluster position and error using a given tra...
Definition: SCT_ClusterOnTrackTool.h:41
Trk::PrepRawData
Definition: PrepRawData.h:62
InDet::SCT_ClusterOnTrackTool::finalize
virtual StatusCode finalize() override
AlgTool termination.
Definition: SCT_ClusterOnTrackTool.cxx:82
SG::ReadCondHandleKey< RIO_OnTrackErrorScaling >
InDet::SCT_ClusterOnTrackTool::m_lorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_lorentzAngleTool
Definition: SCT_ClusterOnTrackTool.h:100
InDet::SCT_ClusterOnTrackTool::getError
static double getError(double phi, int nstrip)
Returns the resolution on the reconstructed position (local x) of SCT clusters in simulated events.
Definition: SCT_ClusterOnTrackTool.cxx:284
InDet::SCT_ClusterOnTrackTool::m_option_errorStrategy
IntegerProperty m_option_errorStrategy
Definition: SCT_ClusterOnTrackTool.h:107
AthAlgTool
Definition: AthAlgTool.h:26
Trk::IRIO_OnTrackCreator
Interface class for transforming Trk::PrepRawData to Trk::RIO_OnTrack using a local track hypothesis.
Definition: IRIO_OnTrackCreator.h:33
InDet::SCT_ClusterOnTrackTool::SCT_ClusterOnTrackTool
SCT_ClusterOnTrackTool(const std::string &, const std::string &, const IInterface *)
AlgTool constructor.
Definition: SCT_ClusterOnTrackTool.cxx:31
InDet::SCT_ClusterOnTrackTool::correct
virtual InDet::SCT_ClusterOnTrack * correct(const Trk::PrepRawData &, const Trk::TrackParameters &, const EventContext &ctx=Gaudi::Hive::currentContext()) const override
produces an SCT_ClusterOnTrack using the measured SCT_Cluster and the track prediction.
Definition: SCT_ClusterOnTrackTool.cxx:94
InDet::SCT_ClusterOnTrackTool::m_option_make2dimBarrelClusters
BooleanProperty m_option_make2dimBarrelClusters
job options
Definition: SCT_ClusterOnTrackTool.h:104
InDet::SCT_ClusterOnTrack
Definition: SCT_ClusterOnTrack.h:44