ATLAS Offline Software
Loading...
Searching...
No Matches
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"
17
18// Local include(s):
20
21namespace FSR {
22
28 public:
30
31 FsrCandidate() : particle(0), deltaR(-1), Et(-1), f1(-1), eta(-1), phi(-1), phIso(-1),
33 std::string container;
35 double deltaR;
36 double Et;
37 double f1;
38 double eta;
39 double phi;
40 double phIso; // Only available for far photons
42 bool operator<(const FsrCandidate& c) const {
43 return deltaR < c.deltaR;
44 }
45 };
46
47 class IFsrPhotonTool : public virtual asg::IAsgTool {
48
51
52 public:
54
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
#define ASG_TOOL_INTERFACE(CLASSNAME)
Return value from object correction CP tools.
Simple interface for searching the FSR candidate.
bool operator<(const FsrCandidate &c) const
const xAOD::IParticle * particle
std::string container
virtual std::vector< FsrCandidate > * getFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
virtual std::vector< FsrCandidate > * getFarFsrCandidateList(const xAOD::IParticle *part, xAOD::PhotonContainer *photons)=0
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.
virtual std::vector< FsrCandidate > * getNearFsrCandidateList(const xAOD::Muon *part, const xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons)=0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Muon_v1 Muon
Reference the current persistent version: