ATLAS Offline Software
Loading...
Searching...
No Matches
egammaTruthAlg.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
4*/
11
12
13#ifndef EGAMMAD3PDANALYSIS_EGAMMATRUTHALG_H
14#define EGAMMAD3PDANALYSIS_EGAMMATRUTHALG_H
15
16
23
24#include "GaudiKernel/ToolHandle.h"
25#include <string>
26
27
28namespace D3PD {
29
30
36{
37public:
43 egammaTruthAlg (const std::string& name,
44 ISvcLocator* svcloc);
45
46
48 virtual StatusCode initialize() override;
49
50
52 virtual StatusCode execute (const EventContext& ctx) const override;
53
54
55private:
62 bool isAccepted (const xAOD::TruthParticle& tp,
64 float& iso) const;
65
66
72 float computeIso (const xAOD::TruthParticle& tp,
73 const xAOD::TruthParticleContainer& cont) const;
74
75
84 StatusCode findImpact (const xAOD::TruthParticle& tp,
85 float& etaCalo,
86 float& phiCalo,
87 float& depthCalo) const;
88
89
91 std::string m_auxPrefix;
92
95 { this, "InputKey", "", "SG key for the input container." };
96
99 { this, "OutputKey", "", "SG key for the output container." };
100
103
106
108 float m_etaMax;
109
112
115
117 ToolHandle<Trk::IParticleCaloExtensionTool> m_exten
118 { this, "ParticleCaloExtensionTool", "", "Extrapolator to calorimeter." };
119};
120
121
122} // namespace D3PD
123
124
125#endif // not EGAMMAD3PDANALYSIS_EGAMMATRUTHALG_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
float m_photonEtIsoMax
Property: Maximum isolation cone energy allowed to keep a photon.
float computeIso(const xAOD::TruthParticle &tp, const xAOD::TruthParticleContainer &cont) const
Compute isolation around a particle.
SG::WriteHandleKey< xAOD::TruthParticleContainer > m_outputKey
Property: Name of the output container.
float m_electronPtMin
Property: Minimum pt for electrons.
float m_etaMax
Property: Maximum eta.
egammaTruthAlg(const std::string &name, ISvcLocator *svcloc)
Standard Gaudi algorithm constructor.
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_inputKey
Property: Name of the input container.
float m_isoCone
Property: Isolation cone width.
std::string m_auxPrefix
Property: Prefix to add to aux data items.
StatusCode findImpact(const xAOD::TruthParticle &tp, float &etaCalo, float &phiCalo, float &depthCalo) const
Find the impact of a particle in the calorimeter.
virtual StatusCode execute(const EventContext &ctx) const override
Standard Gaudi execute method.
bool isAccepted(const xAOD::TruthParticle &tp, const xAOD::TruthParticleContainer &cont, float &iso) const
Test to see if we accept a particle.
ToolHandle< Trk::IParticleCaloExtensionTool > m_exten
Property: Extrapolation tool to calorimeter.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
float m_photonPtMin
Property: Minimum pt for photons.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Block filler tool for noisy FEB information.
TruthParticle_v1 TruthParticle
Typedef to implementation.
TruthParticleContainer_v1 TruthParticleContainer
Declare the latest version of the truth particle container.