ATLAS Offline Software
Loading...
Searching...
No Matches
PhysicsAnalysis
AnalysisCommon
FsrUtils
FsrUtils
IFsrPhotonTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef FSRUTILS_IFsrPhotonTool_H
6
#define FSRUTILS_IFsrPhotonTool_H
7
8
// Framework include(s):
9
#include "
AsgTools/IAsgTool.h
"
10
11
// EDM include(s):
12
#include "
xAODMuon/Muon.h
"
13
#include "
xAODEgamma/Electron.h
"
14
#include "
xAODEgamma/Photon.h
"
15
#include "
xAODEgamma/ElectronContainer.h
"
16
#include "
xAODEgamma/PhotonContainer.h
"
17
18
// Local include(s):
19
#include "
PATInterfaces/CorrectionCode.h
"
20
21
namespace
FSR
{
22
27
class
FsrCandidate
{
28
public
:
29
enum
FsrType
{
FsrNear
,
FsrFar
,
FsrUnknown
};
30
31
FsrCandidate
() :
particle
(0),
deltaR
(-1),
Et
(-1),
f1
(-1),
eta
(-1),
phi
(-1),
phIso
(-1),
32
type
(
FsrUnknown
) {}
33
std::string
container
;
34
const
xAOD::IParticle
*
particle
;
35
double
deltaR
;
36
double
Et
;
37
double
f1
;
38
double
eta
;
39
double
phi
;
40
double
phIso
;
// Only available for far photons
41
FsrType
type
;
42
bool
operator<
(
const
FsrCandidate
& c)
const
{
43
return
deltaR
< c.deltaR;
44
}
45
};
46
47
class
IFsrPhotonTool
:
public
virtual
asg::IAsgTool
{
48
50
ASG_TOOL_INTERFACE
(
FSR::IFsrPhotonTool
)
51
52
public
:
54
55
virtual
CP::CorrectionCode
getFsrPhoton
(
const
xAOD::IParticle
* part,
FsrCandidate
& candidate,
56
xAOD::PhotonContainer
* photons,
57
const
xAOD::ElectronContainer
* electrons) = 0;
58
59
virtual
std::vector<FsrCandidate>*
getFsrCandidateList
(
const
xAOD::IParticle
* part,
60
xAOD::PhotonContainer
* photons,
61
const
xAOD::ElectronContainer
* electrons) = 0;
62
63
virtual
std::vector<FsrCandidate>*
getFarFsrCandidateList
(
const
xAOD::IParticle
* part,
64
xAOD::PhotonContainer
* photons ) = 0;
65
66
virtual
std::vector<FsrCandidate>*
getNearFsrCandidateList
(
const
xAOD::Muon
* part,
67
const
xAOD::PhotonContainer
* photons,
68
const
xAOD::ElectronContainer
* electrons ) = 0;
69
70
};
// class IFsrPhotonTool
71
72
}
// namespace FSR
73
74
#endif
// FSRUTILS_IFsrPhotonTool_H
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
CorrectionCode.h
ElectronContainer.h
Electron.h
PhotonContainer.h
Photon.h
Muon.h
IAsgTool.h
CP::CorrectionCode
Return value from object correction CP tools.
Definition
CorrectionCode.h:31
FSR::FsrCandidate
Simple interface for searching the FSR candidate.
Definition
IFsrPhotonTool.h:27
FSR::FsrCandidate::phi
double phi
Definition
IFsrPhotonTool.h:39
FSR::FsrCandidate::operator<
bool operator<(const FsrCandidate &c) const
Definition
IFsrPhotonTool.h:42
FSR::FsrCandidate::Et
double Et
Definition
IFsrPhotonTool.h:36
FSR::FsrCandidate::phIso
double phIso
Definition
IFsrPhotonTool.h:40
FSR::FsrCandidate::f1
double f1
Definition
IFsrPhotonTool.h:37
FSR::FsrCandidate::particle
const xAOD::IParticle * particle
Definition
IFsrPhotonTool.h:34
FSR::FsrCandidate::deltaR
double deltaR
Definition
IFsrPhotonTool.h:35
FSR::FsrCandidate::FsrCandidate
FsrCandidate()
Definition
IFsrPhotonTool.h:31
FSR::FsrCandidate::FsrType
FsrType
Definition
IFsrPhotonTool.h:29
FSR::FsrCandidate::FsrFar
@ FsrFar
Definition
IFsrPhotonTool.h:29
FSR::FsrCandidate::FsrNear
@ FsrNear
Definition
IFsrPhotonTool.h:29
FSR::FsrCandidate::FsrUnknown
@ FsrUnknown
Definition
IFsrPhotonTool.h:29
FSR::FsrCandidate::type
FsrType type
Definition
IFsrPhotonTool.h:41
FSR::FsrCandidate::eta
double eta
Definition
IFsrPhotonTool.h:38
FSR::FsrCandidate::container
std::string container
Definition
IFsrPhotonTool.h:33
FSR::IFsrPhotonTool
Definition
IFsrPhotonTool.h:47
FSR::IFsrPhotonTool::getFsrCandidateList
virtual std::vector< FsrCandidate > * getFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
FSR::IFsrPhotonTool::getFarFsrCandidateList
virtual std::vector< FsrCandidate > * getFarFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons)=0
FSR::IFsrPhotonTool::getFsrPhoton
virtual CP::CorrectionCode getFsrPhoton(const xAOD::IParticle *part, FsrCandidate &candidate, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
Declare the interface that the class provides.
FSR::IFsrPhotonTool::getNearFsrCandidateList
virtual std::vector< FsrCandidate > * getNearFsrCandidateList(const xAOD::Muon *part, const xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition
IAsgTool.h:41
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FSR
Definition
FsrPhotonTool.h:25
xAOD::PhotonContainer
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/PhotonContainer.h:17
xAOD::ElectronContainer
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Definition
Event/xAOD/xAODEgamma/xAODEgamma/ElectronContainer.h:17
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
Generated on
for ATLAS Offline Software by
1.14.0