ATLAS Offline Software
Loading...
Searching...
No Matches
ElectronLRTOverlapRemovalTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ElectronLRTOverlapRemovalTool.h
7// Author: Jonathan Long, jonathan.long AT cern.ch
8//
9// Implements overlap removal between standard and LRT electrons.
11
12#ifndef LRTELECTRONANALYSISTOOLS_ELECTRONLRTOVERLAPREMOVALTOOL_H
13#define LRTELECTRONANALYSISTOOLS_ELECTRONLRTOVERLAPREMOVALTOOL_H
14
17
18#include <string>
19#include <map>
20
23#include "xAODEgamma/Electron.h"
24
25#include <AsgTools/ToolHandle.h>
26#include <AsgTools/AsgTool.h>
28
29namespace CP
30{
31
34 {
35
36 public:
38
40
41 ElectronLRTOverlapRemovalTool(const std::string &name);
42 virtual ~ElectronLRTOverlapRemovalTool() = default;
44 virtual StatusCode initialize();
45
48 virtual void checkOverlap(const xAOD::ElectronContainer &promptCollection,
49 const xAOD::ElectronContainer &lrtCollection,
50 std::set<const xAOD::Electron *> &ElectronsToRemove) const;
51
52 private:
53 Gaudi::Property<int> m_strategy{this, "overlapStrategy", CP::IElectronLRTOverlapRemovalTool::defaultStrategy, "Overlap removal strategy to use (0 = default)"};
54 Gaudi::Property<float> m_ORThreshold{this, "ORThreshold", 0.001, "Delta R threshold for matching in overlap removal."};
55 Gaudi::Property<bool> m_isDAOD{this, "isDAOD", true, "Switch for running on AOD (false) or DAOD (true)"};
56 Gaudi::Property<std::string> m_IDWorkingPoint{this, "IDWorkingPoint", "DFCommonElectronsLHVeryLooseNoPix", "ID working point for checking if ID is passed"};
57
58 ToolHandle<IAsgElectronLikelihoodTool> m_electronLLHToolVeryLooseNoPix{this, "ElectronLLHToolVeryLooseNoPix", "", "Electron LLH tool to use for the overlap removal"};
59 ToolHandle<IAsgElectronLikelihoodTool> m_electronLLHToolLooseNoPix{this, "ElectronLLHToolLooseNoPix", "", "Electron LLH tool to use for the overlap removal"};
60 ToolHandle<IAsgElectronLikelihoodTool> m_electronLLHToolMediumNoPix{this, "ElectronLLHToolMediumNoPix", "", "Electron LLH tool to use for the overlap removal"};
61 ToolHandle<IAsgElectronLikelihoodTool> m_electronLLHToolTightNoPix{this, "ElectronLLHToolTightNoPix", "", "Electron LLH tool to use for the overlap removal"};
62
63 bool electronPassesID(const xAOD::Electron *electron, const std::string& IDWorkingPoint) const;
64
65 }; // end namespace CP
66
67}
68#endif // LRTELECTRONANALYSISTOOLS_ELECTRONLRTOVERLAPREMOVALTOOL_H
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
ToolHandle< IAsgElectronLikelihoodTool > m_electronLLHToolLooseNoPix
Gaudi::Property< float > m_ORThreshold
Allows for setting the overlap removal strategy in case of future variations.
Gaudi::Property< std::string > m_IDWorkingPoint
Switches method for retrieving electron ID.
ToolHandle< IAsgElectronLikelihoodTool > m_electronLLHToolTightNoPix
ElectronLRTOverlapRemovalTool(const std::string &name)
Standard algorithm methods:
Gaudi::Property< bool > m_isDAOD
Delta R threshold for matching in overlap removal.
virtual ~ElectronLRTOverlapRemovalTool()=default
ToolHandle< IAsgElectronLikelihoodTool > m_electronLLHToolVeryLooseNoPix
Switches method for retrieving electron ID.
virtual void checkOverlap(const xAOD::ElectronContainer &promptCollection, const xAOD::ElectronContainer &lrtCollection, std::set< const xAOD::Electron * > &ElectronsToRemove) const
Check the overlap between the prompt and LRT electron collections.
ToolHandle< IAsgElectronLikelihoodTool > m_electronLLHToolMediumNoPix
virtual StatusCode initialize()
Dummy implementation of the initialisation function.
bool electronPassesID(const xAOD::Electron *electron, const std::string &IDWorkingPoint) const
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Select isolated Photons, Electrons and Muons.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Electron_v1 Electron
Definition of the current "egamma version".