ATLAS Offline Software
Loading...
Searching...
No Matches
TrackStateOnSurfaceDecorator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// TrackToVertexWrapper.h, (c) ATLAS Detector software
8
9#ifndef DERIVATIONFRAMEWORK_TRACKSTATEONSURFACEDECORATOR_H
10#define DERIVATIONFRAMEWORK_TRACKSTATEONSURFACEDECORATOR_H
11
12#include <string>
13#include <vector>
14
17#include "GaudiKernel/ToolHandle.h"
18#include "AthLinks/ElementLink.h"
32
37
39
41
42class AtlasDetectorID;
43class PixelID;
44class SCT_ID;
45class TRT_ID;
46
47namespace Trk {
48 class IUpdator;
49 class PrepRawData;
50}
51
52namespace DerivationFramework {
53
54 class TrackStateOnSurfaceDecorator : public extends<ExpressionParserUser<AthAlgTool>, IAugmentationTool> {
55 public:
56 using base_class::base_class;
57
58 StatusCode initialize();
59 StatusCode finalize();
60 virtual StatusCode addBranches(const EventContext& ctx) const;
61
62 private:
63
64
66 const std::vector<unsigned int>*,
68
69 // --- Steering and configuration flags
70 Gaudi::Property<bool> m_storeHoles{this, "StoreHoles", true};
71 Gaudi::Property<bool> m_storeOutliers{this, "StoreOutliers", true};
72 Gaudi::Property<bool> m_storeTRT{this, "StoreTRT", false};
73 Gaudi::Property<bool> m_storeSCT{this, "StoreSCT", true};
74 Gaudi::Property<bool> m_storePixel{this, "StorePixel", true};
75 Gaudi::Property<bool> m_addPulls{this, "AddPulls", true};
76 Gaudi::Property<bool> m_addSurfaceInfo{this, "AddSurfaceInfo", true};
77 Gaudi::Property<bool> m_addPRD{this, "AddPRD", true};
78 Gaudi::Property<bool> m_addExtraEventInfo{this, "AddExtraEventInfo", true};
79
80 // --- Configuration keys
82 { this, "EventInfoKey", "EventInfo", "" };
83 Gaudi::Property<std::string> m_sgName
84 { this, "DecorationPrefix", "IDDET1_",""};
86 { this, "ContainerName", "InDetTrackParticles", "" };
88 { this,"TRTPhaseKey","TRT_Phase", ""};
89 StringProperty m_selectionString
90 { this, "SelectionString", "", "track selections"};
91
93 { this, "PixelMapName", "PixelClustersOffsets" , ""};
95 { this, "SctMapName", "SCT_ClustersOffsets" , ""};
97 { this, "TrtMapName", "TRT_DriftCirclesOffsets" , ""};
98
100 {this, "PixelClustersName", "PixelClusters" ,"" };
102 {this, "SctClustersName", "SCT_Clusters" ,"" };
104 {this, "TrtDriftCirclesName", "TRT_DriftCircles" ,"" };
105
107 { this,"PRDtoTrackMap","","option PRD-to-track association"};
108
110 { this, "PixelMsosName", "PixelMSOSs", "" };
112 { this, "SctMsosName", "SCT_MSOSs", "" };
114 { this, "TrtMsosName", "TRT_MSOSs", ""};
115
116
117 // --- Read Cond Handle Key
118 // For P->T converter of SCT_Clusters
119 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
120
121
122 // --- Services and tools
123 const AtlasDetectorID* m_idHelper = nullptr;
124 const PixelID* m_pixId = nullptr;
125 const SCT_ID* m_sctId = nullptr;
126 const TRT_ID* m_trtId = nullptr;
127
128 ToolHandle<Trk::IUpdator> m_updator {this, "Updator", "Trk::KalmanUpdator"};
129 ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator
130 {this, "ResidualPullCalculator",
131 "Trk::ResidualPullCalculator/ResidualPullCalculator"};
132 ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool
133 {this, "HoleSearch", "InDet::InDetTrackHoleSearchTool/InDetHoleSearchTool"};
134 ToolHandle<Trk::IExtrapolator> m_extrapolator
135 {this, "TrackExtrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
136 ToolHandle<ITRT_CalDbTool> m_trtcaldbTool {this, "TRT_CalDbTool", "TRT_CalDbTool"};
137 ToolHandle<ITRT_ToT_dEdx> m_TRTdEdxTool
138 {this, "TRT_ToT_dEdx", "InDet::TRT_ElectronPidTools/TRT_ToT_dEdx"};
139
140 // --- Private other members
141 std::vector<SG::WriteDecorHandleKey<xAOD::EventInfo> > m_trtPhaseDecorKey;
147 std::vector<SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> > m_trackTRTFloatDecorKeys;
153 std::vector<SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> > m_trackPixFloatDecorKeys;
155 Gaudi::Property< std::vector<float> > m_pixelLayerRadii {this, "PixelLayerRadii", {29.5,50.5,88.5,122.5}, "Radii to extrapolate to for estimating track position on layers" };
156
157
158 };
159}
160
161#endif // DERIVATIONFRAMEWORK_TRACKSTATEONSURFACEDECORATOR_H
abstract interface to TRT calibration constants
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Handle class for adding a decoration to an object.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_pixelMsosName
std::vector< SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > > m_trackPixFloatDecorKeys
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_containerName
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_trtDCName
std::vector< SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > > m_trackTRTFloatDecorKeys
std::vector< SG::WriteDecorHandleKey< xAOD::EventInfo > > m_trtPhaseDecorKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackTSOSMOSLinkDecorKey
virtual StatusCode addBranches(const EventContext &ctx) const
ElementLink< xAOD::TrackMeasurementValidationContainer > buildElementLink(const Trk::PrepRawData *, const std::vector< unsigned int > *, const xAOD::TrackMeasurementValidationContainer *) const
SG::ReadHandleKey< std::vector< unsigned int > > m_pixelMapName
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_sctClustersName
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_sctMsosName
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_pixelClustersName
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
SG::ReadHandleKey< std::vector< unsigned int > > m_trtMapName
Gaudi::Property< std::vector< float > > m_pixelLayerRadii
SG::ReadHandleKey< std::vector< unsigned int > > m_sctMapName
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_trtMsosName
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Set of interfaces for methods operating on track states, mainly for Kalman filtering.
Definition IUpdator.h:64
THE reconstruction tool.
Ensure that the ATLAS eigen extensions are properly loaded.
TrackMeasurementValidationContainer_v1 TrackMeasurementValidationContainer
Definition of the current "TrackMeasurementValidation container version".