ATLAS Offline Software
ZeeVertexRefittingTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // EGVertexRefittingTool.h
7 // author: ioannis.nomidis@cern.ch
9 
15 #ifndef DERIVATIONFRAMEWORK_ZEEVERTEXREFITTINGTOOL_H
16 #define DERIVATIONFRAMEWORK_ZEEVERTEXREFITTINGTOOL_H
17 
18 #include <string>
19 #include <vector>
20 
24 #include "GaudiKernel/ToolHandle.h"
27 
31 
33 
34 namespace DerivationFramework {
35 
36  class ZeeVertexRefittingTool : public extends<ExpressionParserUser<AthAlgTool>, IAugmentationTool> {
37  public:
38 
39  using base_class::base_class;
40 
41  virtual StatusCode initialize() override final;
42  virtual StatusCode finalize() override final;
43  virtual StatusCode addBranches(const EventContext& ctx) const override final;
44 
45  private:
46  Gaudi::Property<std::string> m_expression{this, "ObjectRequirements", "true"};
47  Gaudi::Property<float> m_massCut{this, "LowMassCut", 0.f};
48 
49  SG::ReadHandleKey<xAOD::VertexContainer> m_primaryVertexKey{this, "PVContainerName", "PrimaryVertices", "" };
50  SG::ReadHandleKey<xAOD::ElectronContainer> m_electronKey { this, "ElectronContainerName", "Electrons", "" };
51  SG::WriteHandleKey<xAOD::VertexContainer> m_refitpvKey{this, "RefittedPVContainerName", "HggPrimaryVertices", "" };
52  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey { this, "EventInfoKey", "EventInfo", "" };
53 
54  Gaudi::Property<std::vector<unsigned int> > m_MCSamples{this, "MCSamples", {} };
55 
56  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvrefitter{this, "PrimaryVertexRefitterTool", "Analysis::PrimaryVertexRefitter"};
57 
58  StatusCode makeZeePairs( const xAOD::ElectronContainer *particles, std::vector<std::vector<unsigned int> > &ZeePairs) const;
59  };
60 }
61 
62 #endif // DERIVATIONFRAMEWORK_ZEEVERTEXREFITTINGTOOL_H
DerivationFramework::ZeeVertexRefittingTool
Definition: ZeeVertexRefittingTool.h:36
DerivationFramework::ZeeVertexRefittingTool::m_massCut
Gaudi::Property< float > m_massCut
Definition: ZeeVertexRefittingTool.h:47
IAugmentationTool.h
ExpressionParserUser.h
DerivationFramework::ZeeVertexRefittingTool::m_MCSamples
Gaudi::Property< std::vector< unsigned int > > m_MCSamples
Definition: ZeeVertexRefittingTool.h:54
PrimaryVertexRefitter.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::ZeeVertexRefittingTool::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override final
Definition: ZeeVertexRefittingTool.cxx:59
DerivationFramework::ZeeVertexRefittingTool::initialize
virtual StatusCode initialize() override final
Definition: ZeeVertexRefittingTool.cxx:31
DerivationFramework::ZeeVertexRefittingTool::m_refitpvKey
SG::WriteHandleKey< xAOD::VertexContainer > m_refitpvKey
Definition: ZeeVertexRefittingTool.h:51
DerivationFramework::ZeeVertexRefittingTool::m_expression
Gaudi::Property< std::string > m_expression
Definition: ZeeVertexRefittingTool.h:46
DerivationFramework::ZeeVertexRefittingTool::m_pvrefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvrefitter
Definition: ZeeVertexRefittingTool.h:56
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ElectronContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::ZeeVertexRefittingTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: ZeeVertexRefittingTool.h:52
DerivationFramework::ZeeVertexRefittingTool::m_primaryVertexKey
SG::ReadHandleKey< xAOD::VertexContainer > m_primaryVertexKey
Definition: ZeeVertexRefittingTool.h:49
DerivationFramework::ZeeVertexRefittingTool::m_electronKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronKey
Definition: ZeeVertexRefittingTool.h:50
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
EventInfo.h
VertexContainer.h
LArG4FSStartPointFilter.particles
list particles
Definition: LArG4FSStartPointFilter.py:84
DerivationFramework::ZeeVertexRefittingTool::makeZeePairs
StatusCode makeZeePairs(const xAOD::ElectronContainer *particles, std::vector< std::vector< unsigned int > > &ZeePairs) const
Definition: ZeeVertexRefittingTool.cxx:190
ExpressionParser.h
DerivationFramework::ZeeVertexRefittingTool::finalize
virtual StatusCode finalize() override final
Definition: ZeeVertexRefittingTool.cxx:53