ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Interfaces
MuonAnalysisInterfaces
MuonAnalysisInterfaces
IMuonLRTOverlapRemovalTool.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 IMUONLRTOVERLAPREMOVALTOOL__H
6
#define IMUONLRTOVERLAPREMOVALTOOL__H
7
8
// Framework include(s):
9
#include "
AsgTools/IAsgTool.h
"
10
11
// EDM include(s):
12
#include <
xAODEventInfo/EventInfo.h
>
13
14
#include "
xAODMuon/Muon.h
"
15
#include "
xAODMuon/MuonContainer.h
"
16
17
// Local include(s):
18
23
namespace
CP
{
24
25
class
IMuonLRTOverlapRemovalTool
:
public
virtual
asg::IAsgTool
{
31
32
ASG_TOOL_INTERFACE
(
CP::IMuonLRTOverlapRemovalTool
)
33
34
public
:
35
37
typedef
enum
{
38
defaultStrategy
=0,
//default strategy which does a basic overlap removal.
39
passThroughAndDecorate
=1
//writes all the muons in the combined container irrespective of overlap,
40
//and adds a decoration `MuonLRTOverlapDecision` which contains overlap information for all muons.
41
}
overlapStrategy
;
42
46
virtual
std::pair<bool, bool>
resolveOverlap
(
const
xAOD::Muon
* promptMuon,
47
const
xAOD::Muon
* lrtMuon)
const
= 0;
48
52
virtual
std::tuple<int, int>
checkOverlapForDecor
(
const
xAOD::Muon
* promptMuon,
53
const
xAOD::Muon
* lrtMuon)
const
= 0;
54
61
virtual
void
checkOverlap
(
const
xAOD::MuonContainer
& promptCollection,
62
const
xAOD::MuonContainer
& lrtCollection,
63
std::vector<bool>& promptMuonsSelectedToKeep,
64
std::vector<bool>& lrtMuonsSelectedToKeep )
const
= 0;
65
68
virtual
bool
hasOverlap
(
const
xAOD::Muon
* promptMuon,
69
const
xAOD::Muon
* lrtMuon)
const
= 0;
70
};
71
// class IMuonLRTOverlapRemovalTool
72
73
}
// namespace CP
74
75
#endif
/* IMUONLRTOVERLAPREMOVALTOOL__H */
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition
AsgToolMacros.h:40
MuonContainer.h
Muon.h
IAsgTool.h
CP::IMuonLRTOverlapRemovalTool
Definition
IMuonLRTOverlapRemovalTool.h:25
CP::IMuonLRTOverlapRemovalTool::resolveOverlap
virtual std::pair< bool, bool > resolveOverlap(const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
resolve the overlap between a pair of muons, one from the prompt and one from the LRT pass.
CP::IMuonLRTOverlapRemovalTool::checkOverlapForDecor
virtual std::tuple< int, int > checkOverlapForDecor(const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
checks for overlap between a pair of muons, one from the prompt and one from the LRT pass.
CP::IMuonLRTOverlapRemovalTool::hasOverlap
virtual bool hasOverlap(const xAOD::Muon *promptMuon, const xAOD::Muon *lrtMuon) const =0
checks the overlap between a pair of muons, one from the prompt and one from the LRT pass.
CP::IMuonLRTOverlapRemovalTool::overlapStrategy
overlapStrategy
Allow to specify a number of MCP-supported overlap removal strategies.
Definition
IMuonLRTOverlapRemovalTool.h:37
CP::IMuonLRTOverlapRemovalTool::defaultStrategy
@ defaultStrategy
Definition
IMuonLRTOverlapRemovalTool.h:38
CP::IMuonLRTOverlapRemovalTool::passThroughAndDecorate
@ passThroughAndDecorate
Definition
IMuonLRTOverlapRemovalTool.h:39
CP::IMuonLRTOverlapRemovalTool::checkOverlap
virtual void checkOverlap(const xAOD::MuonContainer &promptCollection, const xAOD::MuonContainer &lrtCollection, std::vector< bool > &promptMuonsSelectedToKeep, std::vector< bool > &lrtMuonsSelectedToKeep) const =0
check the overlap between the prompt and LRT muon collections.
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:27
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
xAOD::MuonContainer
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
Definition
Event/xAOD/xAODMuon/xAODMuon/MuonContainer.h:14
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0