ATLAS Offline Software
TrackStateOnSurfaceDecorator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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"
31 
36 
38 
39 class AtlasDetectorID;
40 class PixelID;
41 class SCT_ID;
42 class TRT_ID;
43 
44 namespace Trk {
45  class IUpdator;
46  class PrepRawData;
47 }
48 
49 namespace DerivationFramework {
50 
52  public:
53  TrackStateOnSurfaceDecorator(const std::string& t, const std::string& n, const IInterface* p);
54 
57  virtual StatusCode addBranches() const;
58 
59  private:
60 
61 
63  const std::vector<unsigned int>*,
65 
66  // --- Steering and configuration flags
68 
71  bool m_storeTRT;
72  bool m_storeSCT;
74  bool m_addPulls;
76  bool m_addPRD;
78 
79  // --- Configuration keys
81  { this, "EventInfoKey", "EventInfo", "" };
82  Gaudi::Property<std::string> m_sgName
83  { this, "DecorationPrefix", "IDDET1_",""};
85  { this, "ContainerName", "InDetTrackParticles", "" };
87  { this,"TRTPhaseKey","TRT_Phase", ""};
88 
90  { this, "PixelMapName", "PixelClustersOffsets" , ""};
92  { this, "SctMapName", "SCT_ClustersOffsets" , ""};
94  { this, "TrtMapName", "TRT_DriftCirclesOffsets" , ""};
95 
97  {this, "PixelClustersName", "PixelClusters" ,"" };
99  {this, "SctClustersName", "SCT_Clusters" ,"" };
101  {this, "TrtDriftCirclesName", "TRT_DriftCircles" ,"" };
102 
104  { this,"PRDtoTrackMap","","option PRD-to-track association"};
105 
107  { this, "PixelMsosName", "PixelMSOSs", "" };
109  { this, "SctMsosName", "SCT_MSOSs", "" };
111  { this, "TrtMsosName", "TRT_MSOSs", ""};
112 
113  // --- Read Cond Handle Key
114  // For P->T converter of SCT_Clusters
115  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
116 
117 
118  // --- Services and tools
120  const PixelID* m_pixId;
121  const SCT_ID* m_sctId;
122  const TRT_ID* m_trtId;
123 
124  ToolHandle<Trk::IUpdator> m_updator;
125  ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator;
126  ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool;
127  ToolHandle<Trk::IExtrapolator> m_extrapolator;
128  ToolHandle<ITRT_CalDbTool> m_trtcaldbTool;
129 
130  ToolHandle<ITRT_ToT_dEdx> m_TRTdEdxTool;
131  // --- Private other members
132  std::vector<SG::WriteDecorHandleKey<xAOD::EventInfo> > m_trtPhaseDecorKey;
138  std::vector<SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> > m_trackTRTFloatDecorKeys;
144  std::vector<SG::WriteDecorHandleKey<xAOD::TrackParticleContainer> > m_trackPixFloatDecorKeys;
146  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" };
147 
148 
149  };
150 }
151 
152 #endif // DERIVATIONFRAMEWORK_TRACKSTATEONSURFACEDECORATOR_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::TrackStateOnSurfaceDecorator::m_residualPullCalculator
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
Definition: TrackStateOnSurfaceDecorator.h:125
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer >
PRDtoTrackMap.h
DerivationFramework::TrackStateOnSurfaceDecorator::kNPixFloatDecor
@ kNPixFloatDecor
Definition: TrackStateOnSurfaceDecorator.h:143
DerivationFramework::TrackStateOnSurfaceDecorator::addBranches
virtual StatusCode addBranches() const
Pass the thinning service
Definition: TrackStateOnSurfaceDecorator.cxx:216
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkIBLYDecor
@ kTrkIBLYDecor
Definition: TrackStateOnSurfaceDecorator.h:139
DerivationFramework::TrackStateOnSurfaceDecorator::m_pixelMapName
SG::ReadHandleKey< std::vector< unsigned int > > m_pixelMapName
Definition: TrackStateOnSurfaceDecorator.h:90
DerivationFramework::TrackStateOnSurfaceDecorator::kTRTusedHitsDecor
@ kTRTusedHitsDecor
Definition: TrackStateOnSurfaceDecorator.h:134
DerivationFramework::TrackStateOnSurfaceDecorator::kTRTdEdx_noHT_divByLDecor
@ kTRTdEdx_noHT_divByLDecor
Definition: TrackStateOnSurfaceDecorator.h:135
ComTime.h
IAugmentationTool.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtPhaseKey
SG::ReadHandleKey< ComTime > m_trtPhaseKey
Definition: TrackStateOnSurfaceDecorator.h:87
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtMapName
SG::ReadHandleKey< std::vector< unsigned int > > m_trtMapName
Definition: TrackStateOnSurfaceDecorator.h:94
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL2XDecor
@ kTrkL2XDecor
Definition: TrackStateOnSurfaceDecorator.h:142
DerivationFramework::TrackStateOnSurfaceDecorator::m_isSimulation
bool m_isSimulation
Definition: TrackStateOnSurfaceDecorator.h:67
IExtrapolator.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtcaldbTool
ToolHandle< ITRT_CalDbTool > m_trtcaldbTool
Definition: TrackStateOnSurfaceDecorator.h:128
DerivationFramework::TrackStateOnSurfaceDecorator::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: TrackStateOnSurfaceDecorator.h:127
DerivationFramework::TrackStateOnSurfaceDecorator::m_sctClustersName
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_sctClustersName
Definition: TrackStateOnSurfaceDecorator.h:99
DerivationFramework::TrackStateOnSurfaceDecorator::buildElementLink
ElementLink< xAOD::TrackMeasurementValidationContainer > buildElementLink(const Trk::PrepRawData *, const std::vector< unsigned int > *, const xAOD::TrackMeasurementValidationContainer *) const
Definition: TrackStateOnSurfaceDecorator.cxx:836
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::TrackStateOnSurfaceDecorator::TrackStateOnSurfaceDecorator
TrackStateOnSurfaceDecorator(const std::string &t, const std::string &n, const IInterface *p)
Definition: TrackStateOnSurfaceDecorator.cxx:64
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtId
const TRT_ID * m_trtId
Definition: TrackStateOnSurfaceDecorator.h:122
ITRT_ToT_dEdx.h
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL1XDecor
@ kTrkL1XDecor
Definition: TrackStateOnSurfaceDecorator.h:141
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::TrackStateOnSurfaceDecorator::m_sctMapName
SG::ReadHandleKey< std::vector< unsigned int > > m_sctMapName
Definition: TrackStateOnSurfaceDecorator.h:92
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL2ZDecor
@ kTrkL2ZDecor
Definition: TrackStateOnSurfaceDecorator.h:142
IUpdator.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: TrackStateOnSurfaceDecorator.h:119
DerivationFramework::TrackStateOnSurfaceDecorator::m_sctMsosName
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_sctMsosName
Definition: TrackStateOnSurfaceDecorator.h:109
DerivationFramework::TrackStateOnSurfaceDecorator::kNTRTFloatDecor
@ kNTRTFloatDecor
Definition: TrackStateOnSurfaceDecorator.h:137
DerivationFramework::TrackStateOnSurfaceDecorator::m_addExtraEventInfo
bool m_addExtraEventInfo
Definition: TrackStateOnSurfaceDecorator.h:77
DerivationFramework::TrackStateOnSurfaceDecorator::m_prdToTrackMap
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
Definition: TrackStateOnSurfaceDecorator.h:104
DerivationFramework::TrackStateOnSurfaceDecorator::kTRTusedHits_noHT_divByLDecor
@ kTRTusedHits_noHT_divByLDecor
Definition: TrackStateOnSurfaceDecorator.h:136
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkBLYDecor
@ kTrkBLYDecor
Definition: TrackStateOnSurfaceDecorator.h:140
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkBLZDecor
@ kTrkBLZDecor
Definition: TrackStateOnSurfaceDecorator.h:140
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL1ZDecor
@ kTrkL1ZDecor
Definition: TrackStateOnSurfaceDecorator.h:141
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::TrackStateOnSurfaceDecorator::m_storeOutliers
bool m_storeOutliers
Definition: TrackStateOnSurfaceDecorator.h:70
AthAlgTool.h
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkBLXDecor
@ kTrkBLXDecor
Definition: TrackStateOnSurfaceDecorator.h:140
DerivationFramework::TrackStateOnSurfaceDecorator::m_pixelLayerRadii
Gaudi::Property< std::vector< float > > m_pixelLayerRadii
Definition: TrackStateOnSurfaceDecorator.h:146
DerivationFramework::TrackStateOnSurfaceDecorator::m_TRTdEdxTool
ToolHandle< ITRT_ToT_dEdx > m_TRTdEdxTool
Definition: TrackStateOnSurfaceDecorator.h:130
ITRT_CalDbTool.h
abstract interface to TRT calibration constants
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkIBLXDecor
@ kTrkIBLXDecor
Definition: TrackStateOnSurfaceDecorator.h:139
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TrackStateOnSurfaceDecorator
Definition: TrackStateOnSurfaceDecorator.h:51
DerivationFramework::TrackStateOnSurfaceDecorator::kTRTdEdxDecor
@ kTRTdEdxDecor
Definition: TrackStateOnSurfaceDecorator.h:133
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
DerivationFramework::TrackStateOnSurfaceDecorator::m_trackTRTFloatDecorKeys
std::vector< SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > > m_trackTRTFloatDecorKeys
Definition: TrackStateOnSurfaceDecorator.h:138
DerivationFramework::TrackStateOnSurfaceDecorator::m_storeHoles
bool m_storeHoles
Definition: TrackStateOnSurfaceDecorator.h:69
DerivationFramework::TrackStateOnSurfaceDecorator::m_updator
ToolHandle< Trk::IUpdator > m_updator
Definition: TrackStateOnSurfaceDecorator.h:124
DerivationFramework::TrackStateOnSurfaceDecorator::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: TrackStateOnSurfaceDecorator.h:115
DerivationFramework::TrackStateOnSurfaceDecorator::finalize
StatusCode finalize()
Definition: TrackStateOnSurfaceDecorator.cxx:210
IPRD_AssociationTool.h
ReadCondHandleKey.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_addPRD
bool m_addPRD
Definition: TrackStateOnSurfaceDecorator.h:76
Trk::PrepRawData
Definition: PrepRawData.h:62
DerivationFramework::TrackStateOnSurfaceDecorator::m_trackTSOSMOSLinkDecorKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_trackTSOSMOSLinkDecorKey
Definition: TrackStateOnSurfaceDecorator.h:145
DerivationFramework::TrackStateOnSurfaceDecorator::m_addSurfaceInfo
bool m_addSurfaceInfo
Definition: TrackStateOnSurfaceDecorator.h:75
ITrackHoleSearchTool.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::TrackStateOnSurfaceDecorator::m_storeSCT
bool m_storeSCT
Definition: TrackStateOnSurfaceDecorator.h:72
DerivationFramework::TrackStateOnSurfaceDecorator::m_storeTRT
bool m_storeTRT
Definition: TrackStateOnSurfaceDecorator.h:71
DerivationFramework::TrackStateOnSurfaceDecorator::m_holeSearchTool
ToolHandle< Trk::ITrackHoleSearchTool > m_holeSearchTool
Definition: TrackStateOnSurfaceDecorator.h:126
SiDetectorElementCollection.h
DerivationFramework::TrackStateOnSurfaceDecorator::EPixFloatDecorKeys
EPixFloatDecorKeys
Definition: TrackStateOnSurfaceDecorator.h:139
DerivationFramework::TrackStateOnSurfaceDecorator::m_sctId
const SCT_ID * m_sctId
Definition: TrackStateOnSurfaceDecorator.h:121
EventInfo.h
TrackStateValidationContainer.h
IResidualPullCalculator.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_addPulls
bool m_addPulls
Definition: TrackStateOnSurfaceDecorator.h:74
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
DerivationFramework::TrackStateOnSurfaceDecorator::m_sgName
Gaudi::Property< std::string > m_sgName
Definition: TrackStateOnSurfaceDecorator.h:83
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtMsosName
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_trtMsosName
Definition: TrackStateOnSurfaceDecorator.h:111
DerivationFramework::TrackStateOnSurfaceDecorator::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: TrackStateOnSurfaceDecorator.h:81
TRT_ID
Definition: TRT_ID.h:84
SCT_ID
Definition: SCT_ID.h:68
DerivationFramework::TrackStateOnSurfaceDecorator::m_trackPixFloatDecorKeys
std::vector< SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > > m_trackPixFloatDecorKeys
Definition: TrackStateOnSurfaceDecorator.h:144
DerivationFramework::TrackStateOnSurfaceDecorator::initialize
StatusCode initialize()
Definition: TrackStateOnSurfaceDecorator.cxx:102
DerivationFramework::TrackStateOnSurfaceDecorator::m_pixelMsosName
SG::WriteHandleKey< xAOD::TrackStateValidationContainer > m_pixelMsosName
Definition: TrackStateOnSurfaceDecorator.h:107
DerivationFramework::TrackStateOnSurfaceDecorator::m_pixelClustersName
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_pixelClustersName
Definition: TrackStateOnSurfaceDecorator.h:97
TrackMeasurementValidationContainer.h
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtPhaseDecorKey
std::vector< SG::WriteDecorHandleKey< xAOD::EventInfo > > m_trtPhaseDecorKey
Definition: TrackStateOnSurfaceDecorator.h:132
AthAlgTool
Definition: AthAlgTool.h:26
PixelID
Definition: PixelID.h:67
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkIBLZDecor
@ kTrkIBLZDecor
Definition: TrackStateOnSurfaceDecorator.h:139
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL2YDecor
@ kTrkL2YDecor
Definition: TrackStateOnSurfaceDecorator.h:142
DerivationFramework::TrackStateOnSurfaceDecorator::m_storePixel
bool m_storePixel
Definition: TrackStateOnSurfaceDecorator.h:73
DerivationFramework::TrackStateOnSurfaceDecorator::m_trtDCName
SG::ReadHandleKey< xAOD::TrackMeasurementValidationContainer > m_trtDCName
Definition: TrackStateOnSurfaceDecorator.h:101
DerivationFramework::TrackStateOnSurfaceDecorator::ETRTFloatDecor
ETRTFloatDecor
Definition: TrackStateOnSurfaceDecorator.h:133
DerivationFramework::TrackStateOnSurfaceDecorator::m_containerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_containerName
Definition: TrackStateOnSurfaceDecorator.h:85
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
TrackParticleContainer.h
DerivationFramework::TrackStateOnSurfaceDecorator::kTrkL1YDecor
@ kTrkL1YDecor
Definition: TrackStateOnSurfaceDecorator.h:141
DerivationFramework::TrackStateOnSurfaceDecorator::m_pixId
const PixelID * m_pixId
Definition: TrackStateOnSurfaceDecorator.h:120