ATLAS Offline Software
Loading...
Searching...
No Matches
TruthClosureCheck.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 TRUTHCLOSURECHECK_H
6#define TRUTHCLOSURECHECK_H
7
8// Base class include
10
11// Athena includes
14
16
17public:
18 using AthReentrantAlgorithm::AthReentrantAlgorithm;
19 virtual StatusCode initialize() override final;
20 virtual StatusCode execute(const EventContext& ctx) const override final;
21
22private:
23 StatusCode sanityCheck(const HepMC::GenEvent& event) const;
24 StatusCode compareGenVertex(const HepMC::ConstGenVertexPtr& origVertex,
25 const HepMC::ConstGenVertexPtr& resetVertex) const;
26 StatusCode compareGenParticle(const HepMC::ConstGenParticlePtr& origParticle,
27 const HepMC::ConstGenParticlePtr& resetParticle) const;
28 void printGenVertex(const HepMC::ConstGenVertexPtr& origVertex,
29 const HepMC::ConstGenVertexPtr& resetVertex) const;
30 StatusCode compareMomenta(const HepMC::FourVector& origMomenta,
31 const HepMC::FourVector& resetMomenta) const;
32
33 SG::ReadHandleKey<McEventCollection> m_originalMcEventCollection{this, "OriginalMcEventCollection" , "BeamTruthEvent"};
34 SG::ReadHandleKey<McEventCollection> m_resetMcEventCollection{this, "ResetMcEventCollection" , "NewTruthEvent"};
35 Gaudi::Property<bool> m_compareMomenta{this, "CompareMomenta", true};
36 double m_momentaLimit{0.000000000001};
37 Gaudi::Property<bool> m_postSimulation{this, "PostSimulation", false};
38};
39#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Property holding a SG store/key/clid from which a ReadHandle is made.
StatusCode compareGenVertex(const HepMC::ConstGenVertexPtr &origVertex, const HepMC::ConstGenVertexPtr &resetVertex) const
SG::ReadHandleKey< McEventCollection > m_originalMcEventCollection
virtual StatusCode execute(const EventContext &ctx) const override final
StatusCode compareMomenta(const HepMC::FourVector &origMomenta, const HepMC::FourVector &resetMomenta) const
void printGenVertex(const HepMC::ConstGenVertexPtr &origVertex, const HepMC::ConstGenVertexPtr &resetVertex) const
StatusCode sanityCheck(const HepMC::GenEvent &event) const
virtual StatusCode initialize() override final
Gaudi::Property< bool > m_compareMomenta
StatusCode compareGenParticle(const HepMC::ConstGenParticlePtr &origParticle, const HepMC::ConstGenParticlePtr &resetParticle) const
Gaudi::Property< bool > m_postSimulation
SG::ReadHandleKey< McEventCollection > m_resetMcEventCollection
HepMC3::FourVector FourVector
HepMC3::ConstGenParticlePtr ConstGenParticlePtr
Definition GenParticle.h:20
HepMC3::ConstGenVertexPtr ConstGenVertexPtr
Definition GenVertex.h:24
HepMC3::GenEvent GenEvent
Definition GenEvent.h:39