ATLAS Offline Software
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 
21 namespace FSR {
22 
27  class FsrCandidate {
28  public:
30 
31  FsrCandidate() : particle(0), deltaR(-1), Et(-1), f1(-1), eta(-1), phi(-1), phIso(-1),
32  type(FsrUnknown) {}
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,
58 
59  virtual std::vector<FsrCandidate>* getFsrCandidateList(const xAOD::IParticle* part,
60  xAOD::PhotonContainer* photons,
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,
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