29 return StatusCode::SUCCESS;
41 ATH_MSG_ERROR(
"Couldn't update photon calo pointing auxdata");
42 return StatusCode::FAILURE;
54 bool found_PV =
false;
57 for (
const auto *vertex : *vertices) {
71 pt = sqrt(vmom.Px() * vmom.Px() + vmom.Py() * vmom.Py());
73 eta = asinh(vmom.Pz() / pt);
74 phi = acos(vmom.Px() / pt);
83 if(!isMomentum_available){
85 vtxEta(*vertex) =
eta;
86 vtxPhi(*vertex) =
phi;
88 if(!isSumPt_available) vtxSumPt(*vertex) = sumPt;
91 if(!isSumPt2_available && found_PV) vtxSumPt2(*vertex) =
sumPt2;
95 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_vtxSumPt
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_vtxPhi
ToolHandle< CP::IPhotonPointingTool > m_photonPointingTool
PhotonPointingTool.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_vtxSumPt2
SG::ReadHandleKey< xAOD::PhotonContainer > m_photonContainer
Input photon container.
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer
Input primary vertex container.
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_vtxEta
virtual StatusCode initialize() override final
SG::WriteDecorHandleKey< xAOD::VertexContainer > m_vtxPt
virtual StatusCode addBranches(const EventContext &ctx) const override final
Handle class for adding a decoration to an object.
bool isAvailable()
Test to see if this variable exists in the store, for the referenced object.
static const SG::AuxElement::Decorator< float > sumPt2("sumPt2")
::StatusCode StatusCode
StatusCode definition for legacy code.
float getVertexSumPt(const xAOD::Vertex *vertex, int power=1, bool useAux=true)
Loop over track particles associated with vertex and return scalar sum of pT^power in GeV (from auxda...
TLorentzVector getVertexMomentum(const xAOD::Vertex *vertex, bool useAux=true, const std::string &derivationPrefix="")
Return vector sum of tracks associated with vertex (from auxdata if available and useAux = true)