ATLAS Offline Software
Loading...
Searching...
No Matches
IsolationHelper.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_IsolationHelper_H
6#define IsolationTool_IsolationHelper_H
7
8#include "AsgTools/AsgTool.h"
14#include <xAODBase/IParticle.h>
17
18namespace CP {
19
21 public virtual IIsolationHelper {
24 public:
25 // this is a standard constructor
26 IsolationHelper (const std::string& name);
27 virtual ~IsolationHelper (){};
28
30 virtual StatusCode initialize();
31
33 virtual StatusCode finalize();
34
35 bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type) const;
36 bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset& corrMask) const;
38 bool isolation(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const std::vector<xAOD::Iso::IsolationCaloCorrection>& corrs) const;
39 bool correction(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset& corrMask) const;
41 bool getPileupCorrection(float& value, const xAOD::IParticle& par, xAOD::Iso::IsolationType type, float coreArea) const;
42 bool updateIsolation(xAOD::MuonContainer*& copy,xAOD::ShallowAuxContainer*& copyaux, std::vector<xAOD::Iso::IsolationType>& types, xAOD::Iso::IsolationCaloCorrectionBitset corrMask, std::string muonkey, bool recordSG) const;
43
44 private:
46
48 //xAOD::Iso::IsolationTrackCorrectionBitsetHelper m_trkIsoBitHeler;
49
50};
51
52}
53#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
virtual StatusCode initialize()
initialize
IsolationHelper(const std::string &name)
Create a constructor for Athena.
virtual StatusCode finalize()
finalize
bool correction(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, const xAOD::Iso::IsolationCaloCorrectionBitset &corrMask) const
bool getPileupCorrection(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type, xAOD::Iso::IsolationCaloCorrectionBitset corrMask) const
bool correctionBitset(xAOD::Iso::IsolationCaloCorrectionBitset &mask, const xAOD::IParticle &par, xAOD::Iso::IsolationType type) const
bool isolation(float &value, const xAOD::IParticle &par, xAOD::Iso::IsolationType type) const
bool updateIsolation(xAOD::MuonContainer *&copy, xAOD::ShallowAuxContainer *&copyaux, std::vector< xAOD::Iso::IsolationType > &types, xAOD::Iso::IsolationCaloCorrectionBitset corrMask, std::string muonkey, bool recordSG) const
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
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
IsolationCaloCorrection
Enumeration for different ways of correcting isolation in xAOD files.
static const EventInfo_v1::Accessor< std::vector< std::string > > types("streamTagTypes")
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".