|
ATLAS Offline Software
|
Go to the documentation of this file.
20 #include "GaudiKernel/EventContext.h"
30 ISvcLocator* pSvcLocator)
47 return StatusCode::SUCCESS;
51 return StatusCode::SUCCESS;
63 std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*> verticesPair =
66 if (!verticesPair.first || !verticesPair.second){
68 return StatusCode::SUCCESS;
73 ATH_CHECK(vertices.
record(std::unique_ptr<xAOD::VertexContainer>(verticesPair.first),
74 std::unique_ptr<xAOD::VertexAuxContainer>(verticesPair.second)));
82 while (itVtx != itVtxEnd){
86 for (
unsigned int i = 0;
i <
vertex->nTrackParticles(); ++
i){
105 itVtx = vertices->
erase(itVtx);
106 itVtxEnd = vertices->
end();
110 float etaAtCalo = -9999.;
111 float phiAtCalo = -9999.;
114 ctx,
vertex, &etaAtCalo, &phiAtCalo)) {
120 accetaAtCalo(*
vertex) = etaAtCalo;
121 accphiAtCalo(*
vertex) = phiAtCalo;
127 return StatusCode::SUCCESS;
SG::WriteHandleKey< xAOD::VertexContainer > m_outputConversionContainerKey
conversion container output name
const_pointer_type cptr()
Dereference the pointer.
Helper class to provide type-safe access to aux data.
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTrackParticleContainerKey
TrackParticle container input name.
EMVertexBuilder(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< float > m_minPtCut_DoubleTrack
Minimum Pt, less than that TRT track are pileup for double/single track conversion.
An algorithm that can be simultaneously executed in multiple threads.
Handle class for recording to StoreGate.
virtual StatusCode finalize() override final
(Non-const) Iterator class for DataVector/DataList.
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
@ singleTRT
one track only, no Si hits (TRT only)
virtual StatusCode execute(const EventContext &ctx) const override final
Eigen::Matrix< double, 3, 1 > Vector3D
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Gaudi::Property< float > m_maxRadius
Maximum radius accepted for conversion vertices.
Class describing a Vertex.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
Gaudi::Property< float > m_minPtCut_SingleTrack
ToolHandle< IEMExtrapolationTools > m_EMExtrapolationTool
EMExtrapolationTool.
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
virtual StatusCode initialize() override final
@ doubleTRT
two tracks, none with Si hits (TRT only)
ToolHandle< InDet::IVertexFinder > m_vertexFinderTool
Tool to find vertices (creates double-track conversions)
Handle class for reading from StoreGate.
iterator erase(iterator position)
Remove element at a given position.
size_type size() const noexcept
Returns the number of elements in the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.