ATLAS Offline Software
IElectronLRTOverlapRemovalTool.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 IELECTRONLRTOVERLAPREMOVALTOOL__H
6 #define IELECTRONLRTOVERLAPREMOVALTOOL__H
7 
8 // C++ include(s):
9 #include <set>
10 
11 // Framework include(s):
12 #include "AsgTools/IAsgTool.h"
13 
14 // EDM include(s):
15 #include "xAODEgamma/Electron.h"
17 
18 // Local include(s):
19 
24 namespace CP
25 {
26 
28  {
34 
36 
37  public:
39  // default strategy: Discard the electron with the looser ID in the case of a shared
40  // cluster. in the case of a 'tie', choose the standard electron.
41  // prompt strategy: Require electrons to pass VeryLooseNoPix ID WP. For those passing,
42  // discard those from the LRT collection that share a cluster
43  // with the standard collection
44  // removeFailing strategy: Remove electrons failing ID, but don't do overlap removal
45  // on electrons that share clusters. NOT FOR ANALYSIS, for validation
46  // purposes only
47  typedef enum
48  {
51  passThrough = 2
53 
56  virtual void checkOverlap(const xAOD::ElectronContainer &promptCollection,
57  const xAOD::ElectronContainer &lrtCollection,
58  std::set<const xAOD::Electron *> &ElectronsToRemove) const = 0;
59  };
60  // class IElectronLRTOverlapRemovalTool
61 
62 } // namespace CP
63 
64 #endif /* IELECTRONLRTOVERLAPREMOVALTOOL__H */
CP::IElectronLRTOverlapRemovalTool::promptStrategy
@ promptStrategy
Definition: IElectronLRTOverlapRemovalTool.h:50
CP::IElectronLRTOverlapRemovalTool::defaultStrategy
@ defaultStrategy
Definition: IElectronLRTOverlapRemovalTool.h:49
CP::IElectronLRTOverlapRemovalTool::overlapStrategy
overlapStrategy
Allow to specify a number of supported overlap removal strategies.
Definition: IElectronLRTOverlapRemovalTool.h:48
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
ElectronContainer.h
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CP::IElectronLRTOverlapRemovalTool::checkOverlap
virtual void checkOverlap(const xAOD::ElectronContainer &promptCollection, const xAOD::ElectronContainer &lrtCollection, std::set< const xAOD::Electron * > &ElectronsToRemove) const =0
Check the overlap between the prompt and LRT electron collections.
Electron.h
CP::IElectronLRTOverlapRemovalTool::passThrough
@ passThrough
Definition: IElectronLRTOverlapRemovalTool.h:51
CP::IElectronLRTOverlapRemovalTool
Definition: IElectronLRTOverlapRemovalTool.h:28