ATLAS Offline Software
Loading...
Searching...
No Matches
TrackRetriever.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JIVEXML_TRACKRETRIEVER_H
6#define JIVEXML_TRACKRETRIEVER_H
7
8#include "GaudiKernel/ToolHandle.h"
12#include "GaudiKernel/ToolHandle.h"
17
18//Forward declarations
19class AtlasDetectorID;
20
21namespace JiveXML{
22
59
60 class TrackRetriever : virtual public IDataRetriever,
61 public AthAlgTool {
62
63 public:
64
66 TrackRetriever(const std::string& type,const std::string& name,const IInterface* parent);
67
68 virtual StatusCode retrieve(ToolHandle<IFormatTool> &FormatTool);
70 const DataMap getData(const TrackCollection* trackCollection, const std::string &collectionName);
72 virtual std::string dataTypeName() const { return m_typeName; };
73
75 StatusCode initialize();
76
77 private:
79 const std::string m_typeName = "Track";
80
81 SG::ReadHandleKeyArray<TrackCollection> m_keys {this,"TrackCollections", {"CombinedInDetTracks","DisappearingTracks","ExtrapolatedStauTracks","ExtraPolatedMuonsLRTTracks","MSOnlyExtraPolatedMuonsLRTTrackParticlesTracks","ResolvedForwardTracks","CombinedMuonsLRTTracks","CombinedStauTracks","MuonSpectrometerTracks","MSOnlyExtrapolatedTracks","ExtrapolatedMuonTracks","CombinedMuonTracks","GSFTracks"}, "Name of the Trk TrackCollection containers that will be written out to the JiveXML file"};
82 SG::ReadHandleKeyArray<TrackTruthCollection> m_TrackTruthCollections {this,"TruthCollections", {"CombinedInDetTracksTruthCollection"}, "Name of the Truth Track containers that will be written out to the JiveXML file"};
83
84 Gaudi::Property<bool> m_doWriteResiduals {this,"DoWriteResiduals", true,"Whether to write TrackResiduals"};
85 Gaudi::Property<bool> m_doHitsSorting {this, "DoHitsSorting", false, "Whether to perform hits TrackStateOnSurfaces (TSoS) sorting"};
86 Gaudi::Property<bool> m_doHitsDetails {this, "DoHitsDetails", true, "Whether to write hits TrackStateOnSurfaces (TSoS) details"};
87 Gaudi::Property<bool> m_isMC {this, "isMC", false, "Whether file is MC"};
88
89 ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator {this, "ResidualPullCalculator","Trk::ResidualPullCalculator/ResidualPullCalculator", "ToolHandle to ResidualPullCaclulator" };
90 ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool{this, "TrackSummaryTool", "Trk::TrackSummaryTool/InDetTrackSummaryTool", "Track Summary Tool for number of Pix/SCT/TRT hits"};
91
94
95 };
96
97}
98#endif
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Interface for all DataRetriever classes, that extract event data from StoreGate and pass them on to a...
virtual StatusCode retrieve(ToolHandle< IFormatTool > &FormatTool)
For each track collection retrieve all data.
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
const std::string m_typeName
The data type that is generated by this retriever.
SG::ReadHandleKeyArray< TrackCollection > m_keys
TrackRetriever(const std::string &type, const std::string &name, const IInterface *parent)
Standard Constructor.
SG::ReadHandleKeyArray< TrackTruthCollection > m_TrackTruthCollections
const AtlasDetectorID * m_idHelper
Used to find out the corresponding sub-det from ROT->identify().
Gaudi::Property< bool > m_doHitsDetails
StatusCode initialize()
Default AthAlgTool methods.
Gaudi::Property< bool > m_doWriteResiduals
const DataMap getData(const TrackCollection *trackCollection, const std::string &collectionName)
Puts the variables into a DataMap.
Gaudi::Property< bool > m_doHitsSorting
Gaudi::Property< bool > m_isMC
virtual std::string dataTypeName() const
Return the name of the data type that is generated by this retriever.
This header is shared inbetween the C-style server thread and the C++ Athena ServerSvc.
std::map< std::string, DataVect > DataMap
Definition DataType.h:59
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray