|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef EGAMMAALGS_EMBREMCOLLECTIONBUILDER_H
6 #define EGAMMAALGS_EMBREMCOLLECTIONBUILDER_H
15 #include "GaudiKernel/EventContext.h"
16 #include "GaudiKernel/ToolHandle.h"
88 :
track(std::move(intrack))
98 std::unique_ptr<Trk::Track>
track;
104 const std::vector<const xAOD::TrackParticle*>&
input,
105 std::vector<TrackWithIndex>& refitted,
106 std::vector<TrackWithIndex>& failedfit)
const;
109 const EventContext& ctx,
110 std::vector<TrackWithIndex>& refitted,
111 std::vector<TrackWithIndex>& failedfit,
112 std::vector<TrackWithIndex>& trtAlone,
118 const EventContext& ctx,
123 bool isRefitted)
const;
127 bool isRefitted)
const;
130 Gaudi::Property<bool>
m_doTruth{
this,
"DoTruth",
false,
"do truth" };
133 Gaudi::Property<bool>
m_doSCT{
this,
"useSCT",
true,
"do SCT" };
136 Gaudi::Property<bool>
m_doPix{
this,
"usePixel",
true,
"do Pix" };
139 Gaudi::Property<bool>
m_doTRT{
this,
"useTRT",
true,
"do TRT" };
145 "Slim the GSF Trk::Tracks" };
148 Gaudi::Property<bool>
m_doHGTD{
this,
"useHGTD",
false,
"do HGTD" };
154 "Minimum number of silicon hits on track "
155 "before it is allowed to be refitted" };
160 "ElectronRefitterTool",
161 "Track refitter tool" };
166 "TrackParticleCreatorTool",
167 "TrackParticleCreatorTool",
168 "TrackParticle creator tool"
174 "TrkTrackSlimmingTool",
175 "Track slimming tool" };
179 "TrackParticleContainerName",
180 "InDetTrackParticles",
181 "Input InDet TrackParticles"
187 "SelectedTrackParticleContainerName",
188 "egammaSelectedTrackParticles",
189 "Input of Selected TrackParticles" };
193 "OutputTrkPartContainerName",
195 "Output GSF TrackParticles"
200 "OutputTrackContainerName",
202 "Output GSF Trk::Tracks"
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode createCollections(const EventContext &ctx, std::vector< TrackWithIndex > &refitted, std::vector< TrackWithIndex > &failedfit, std::vector< TrackWithIndex > &trtAlone, TrackCollection *finalTracks, xAOD::TrackParticleContainer *finalTrkPartContainer, const xAOD::TrackParticleContainer *inputTrkPartContainer) const
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerKey
virtual StatusCode finalize() override final
Gaudi::Property< bool > m_doSlimTrkTracks
Option to slim the Trk::Tracks.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_selectedTrackParticleContainerKey
Names of input output collections.
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
ToolHandle< IegammaTrkRefitterTool > m_trkRefitTool
The track refitter.
Gaudi::Property< int > m_MinNoSiHits
@Cut on minimum silicon hits
Algorithm which creates new brem-refitted tracks.
bool const RAWDATA *ch2 const
EMBremCollectionBuilder(const std::string &name, ISvcLocator *pSvcLocator)
An algorithm that can be simultaneously executed in multiple threads.
StatusCode createNew(const EventContext &ctx, TrackWithIndex &Info, TrackCollection *finalTracks, xAOD::TrackParticleContainer *finalTrkPartContainer, const xAOD::TrackParticleContainer *inputTrkPartContainer, bool isRefitted) const
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_OutputTrkPartContainerKey
Gaudi::Property< bool > m_doHGTD
Option to copy HGTD time to new gsf tracks.
Gaudi::Property< bool > m_doSCT
Option to copy SCT holes estimation.
virtual StatusCode initialize() override final
ToolHandle< Trk::ITrackSlimmingTool > m_slimTool
Tool to slim tracks
~TrackWithIndex()=default
::StatusCode StatusCode
StatusCode definition for legacy code.
TrackWithIndex & operator=(const TrackWithIndex &)=delete
TrackWithIndex(std::unique_ptr< Trk::Track > intrack, size_t index)
std::atomic_uint m_FailedSiliconRequirFit
SG::WriteHandleKey< TrackCollection > m_OutputTrackContainerKey
Helper struct to store the Trk::Track corresponding to a TrackParticle and the index of the Track Par...
Property holding a SG store/key/clid from which a WriteHandle is made.
TrackWithIndex(TrackWithIndex &&)=default
Gaudi::Property< bool > m_doTRT
Option to copy TRT holes estimation.
virtual StatusCode execute(const EventContext &ctx) const override final
std::atomic_uint m_RefittedTracks
TrackWithIndex & operator=(TrackWithIndex &&)=default
Gaudi::Property< bool > m_doTruth
Option to do truth.
TrackWithIndex(const TrackWithIndex &)=delete
std::unique_ptr< Trk::Track > track
std::atomic_uint m_FailedFitTracks
Class describing a TrackParticle.
StatusCode refitTracks(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &input, std::vector< TrackWithIndex > &refitted, std::vector< TrackWithIndex > &failedfit) const
void copyOverInfo(xAOD::TrackParticle &created, const xAOD::TrackParticle &original, bool isRefitted) const
ToolHandle< Trk::ITrackParticleCreatorTool > m_particleCreatorTool
Tool to create track particle.
Gaudi::Property< bool > m_doPix
Option to copy pixel holes estimation.