ATLAS Offline Software
Loading...
Searching...
No Matches
ElectronJetDRAssociator.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-2024 CERN for the benefit of the ATLAS collaboration
4*/
12
13
14#ifndef EGAMMAD3PDMAKER_ELECTRONJETDRASSOCIATOR_H
15#define EGAMMAD3PDMAKER_ELECTRONJETDRASSOCIATOR_H
16
17
20#include "xAODEgamma/Electron.h"
21#include "xAODJet/Jet.h"
23#include "GaudiKernel/ToolHandle.h"
24#include <string>
25#include <vector>
26
27
28
29namespace Trk { class VxCandidate; }
30
31
32namespace D3PD {
33
34
36
37
43 : public MultiAssociationTool<xAOD::Electron,xAOD::Jet>
44{
45public:
47
54 ElectronJetDRAssociator (const std::string& type,
55 const std::string& name,
56 const IInterface* parent);
57
58
60 virtual StatusCode initialize() override;
61
62
72 virtual StatusCode configureD3PD (IAddVariable* tree,
73 const std::type_info& ti) override;
74
75
80 virtual StatusCode reset (const xAOD::Electron& eg) override;
81
82
88 virtual const xAOD::Jet* next() override;
89
90
96 virtual StatusCode book() final;
97
98
106 StatusCode findReducedPt (const xAOD::Electron* eg,
107 const xAOD::Jet* j,
108 float& reducedPt);
109
118 const xAOD::Jet* j0,
119 float& signedIP, float& PTRel);
120
121
124
127
129 double m_drcut;
130
132 ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
133 { this, "TrackToVertexIPEstimator", "Trk::TrackToVertexIPEstimator", "" };
134
136 ToolHandle<ICollectionGetterRegistryTool> m_registry;
137
138
141
142 // Input electrons; source of the association.
144
146 float* m_dr;
147
150
152 float* m_ptrel;
153
155 unsigned int* m_jetSize;
156
159};
160
161
162} // namespace D3PD
163
164
165#endif // EGAMMAD3PDMAKER_EGAMMAJETDRASSOCIATOR_H
Abstract interface to keep a registry of collection getter tools.
Type-safe wrapper for multiple-target associator tools.
virtual StatusCode configureD3PD(IAddVariable *tree, const std::type_info &ti) override
Configure during initialization: type-check.
StatusCode findSignedIPAndPTRelEleJetPair(const xAOD::Electron *eg, const xAOD::Jet *j0, float &signedIP, float &PTRel)
Find the signed impact parameter and PTRel of EG's track relative to the beamspot.
float * m_ptrel
Variable: Relative Pt between electron and jet.
ToolHandle< ICollectionGetterRegistryTool > m_registry
Property: The ICollectionGetterRegistryTool instance.
ICollectionGetterTool * m_target
Getter defining the collection within which to index.
float * m_reducedPt
Variable: Jet pT with electron removed.
virtual StatusCode reset(const xAOD::Electron &eg) override
Start the iteration for a new association.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
unsigned int * m_jetSize
Variable: Number of jet constituents.
double m_drcut
Property: DR cut between electrons and jets.
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
Property: Tool for the estimation of the IPs to the vertex.
virtual StatusCode book() final
Create any needed tuple variables.
virtual const xAOD::Jet * next() override
Return a pointer to the next element in the association.
StatusCode findReducedPt(const xAOD::Electron *eg, const xAOD::Jet *j, float &reducedPt)
Find the pT of the jet with electron removed.
float * m_dr
Variable: DR between electron and jet.
float * m_signedIP
Variable: Signed impact parameter between electron and jet.
ElectronJetDRAssociator(const std::string &type, const std::string &name, const IInterface *parent)
Standard Gaudi tool constructor.
MultiAssociationTool< xAOD::Electron, xAOD::Jet > Base
std::string m_vertexContainerName
Property: Vertex container name.
std::string m_targetLabel
Property: Target label for the getter for the jets to which to associate.
Common interface for adding a variable to a tuple.
Abstract interface to get a collection of objects and iterate over it.
Type-safe wrapper for multiple-target associator tools.
Class describing an electron.
Block filler tool for noisy FEB information.
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Jet_v1 Jet
Definition of the current "jet version".
Electron_v1 Electron
Definition of the current "egamma version".
TChain * tree
#define private