ATLAS Offline Software
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
LArG4FSStartPointFilter.part
part
Definition:
LArG4FSStartPointFilter.py:21
FSR::FsrCandidate::Et
double Et
Definition:
IFsrPhotonTool.h:36
FSR
Definition:
FsrPhotonTool.h:24
FSR::FsrCandidate::container
std::string container
Definition:
IFsrPhotonTool.h:33
Muon.h
FSR::FsrCandidate::FsrType
FsrType
Definition:
IFsrPhotonTool.h:29
FSR::FsrCandidate::deltaR
double deltaR
Definition:
IFsrPhotonTool.h:35
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition:
IAsgTool.h:41
FSR::IFsrPhotonTool
Definition:
IFsrPhotonTool.h:47
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
FSR::IFsrPhotonTool::getFsrCandidateList
virtual std::vector< FsrCandidate > * getFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
xAOD::Muon_v1
Class describing a Muon.
Definition:
Muon_v1.h:38
FSR::FsrCandidate::f1
double f1
Definition:
IFsrPhotonTool.h:37
FSR::FsrCandidate::FsrUnknown
@ FsrUnknown
Definition:
IFsrPhotonTool.h:29
ElectronContainer.h
Photon.h
FSR::FsrCandidate::operator<
bool operator<(const FsrCandidate &c) const
Definition:
IFsrPhotonTool.h:42
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition:
AsgToolMacros.h:40
IAsgTool.h
FSR::FsrCandidate::phIso
double phIso
Definition:
IFsrPhotonTool.h:40
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
FSR::IFsrPhotonTool::getFarFsrCandidateList
virtual std::vector< FsrCandidate > * getFarFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons)=0
FSR::FsrCandidate::FsrCandidate
FsrCandidate()
Definition:
IFsrPhotonTool.h:31
FSR::FsrCandidate::FsrFar
@ FsrFar
Definition:
IFsrPhotonTool.h:29
FSR::FsrCandidate::particle
const xAOD::IParticle * particle
Definition:
IFsrPhotonTool.h:34
FSR::IFsrPhotonTool::getNearFsrCandidateList
virtual std::vector< FsrCandidate > * getNearFsrCandidateList(const xAOD::Muon *part, const xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=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::FsrCandidate::type
FsrType type
Definition:
IFsrPhotonTool.h:41
FSR::FsrCandidate
Simple interface for searching the FSR candidate.
Definition:
IFsrPhotonTool.h:27
CP::CorrectionCode
Return value from object correction CP tools.
Definition:
CorrectionCode.h:31
CorrectionCode.h
FSR::FsrCandidate::phi
double phi
Definition:
IFsrPhotonTool.h:39
Electron.h
FSR::FsrCandidate::eta
double eta
Definition:
IFsrPhotonTool.h:38
python.compressB64.c
def c
Definition:
compressB64.py:93
PhotonContainer.h
InDetDD::electrons
@ electrons
Definition:
InDetDD_Defs.h:17
FSR::FsrCandidate::FsrNear
@ FsrNear
Definition:
IFsrPhotonTool.h:29
Generated on Thu Nov 7 2024 21:16:41 for ATLAS Offline Software by
1.8.18