ATLAS Offline Software
Loading...
Searching...
No Matches
IIsolationHelper.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISOLATIONTOOL_IISOLATIONHELPERTOOL_H
6#define ISOLATIONTOOL_IISOLATIONHELPERTOOL_H
7
8#include "AsgTools/AsgTool.h"
13#include <xAODBase/IParticle.h>
17
18struct strObj;
19
20namespace CP
21{
22 class IIsolationHelper : public virtual asg::IAsgTool {
23
25
26 public:
27 virtual bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type) const = 0;
28 virtual bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset& corrMask) const = 0;
30 virtual bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const std::vector<xAOD::Iso::IsolationCaloCorrection>& corrs) const = 0;
31 virtual bool correction(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset& corrMask) const = 0;
33 virtual bool getPileupCorrection(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, float coreArea) const = 0;
34 virtual bool updateIsolation(xAOD::MuonContainer*& copy,xAOD::ShallowAuxContainer*& copyaux, std::vector<xAOD::Iso::IsolationType>& types, xAOD::Iso::IsolationCaloCorrectionBitset corrMask, std::string muonkey, bool recordSG) const = 0;
35 };
36
37}
38#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual bool updateIsolation(xAOD::MuonContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, std::vector< xAOD::Iso::IsolationType > &types, xAOD::Iso::IsolationCaloCorrectionBitset corrMask, std::string muonkey, bool recordSG) const =0
virtual bool isolation(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, const std::vector< xAOD::Iso::IsolationCaloCorrection > &corrs) const =0
virtual bool getPileupCorrection(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, float coreArea) const =0
virtual bool getPileupCorrection(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, xAOD::Iso::IsolationCaloCorrectionBitset corrMask) const =0
virtual bool isolation(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset &corrMask) const =0
virtual bool correctionBitset(xAOD::Iso::IsolationCaloCorrectionBitset &mask, const xAOD::IParticle &par, xAOD::Iso::IsolationType type) const =0
virtual bool isolation(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type) const =0
virtual bool correction(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset &corrMask) const =0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
Class creating a shallow copy of an existing auxiliary container.
Select isolated Photons, Electrons and Muons.
std::bitset< 32 > IsolationCaloCorrectionBitset
typedef of the bit word used to encode the corrections used to calculate the isolation
IsolationType
Overall enumeration for isolation types in xAOD files.
@ coreArea
area used to calculate this correction
static const EventInfo_v1::Accessor< std::vector< std::string > > types("streamTagTypes")
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".