ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
tauRecTools
tauRecTools
TauAODMuonRemovalTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
8
9
#ifndef TAURECTOOLS_TAUAODMUONREMOVALTOOL_H
10
#define TAURECTOOLS_TAUAODMUONREMOVALTOOL_H
11
12
#include "
tauRecTools/TauRecToolBase.h
"
13
#include "
xAODTau/TauJet.h
"
14
#include "
xAODMuon/MuonContainer.h
"
15
#include "
xAODEgamma/ElectronContainer.h
"
16
#include "
AsgDataHandles/ReadHandle.h
"
17
#include "
AsgDataHandles/ReadHandleKey.h
"
18
#include "
AsgTools/PropertyWrapper.h
"
19
20
class
TauAODMuonRemovalTool
:
public
TauRecToolBase
21
{
22
public
:
23
ASG_TOOL_CLASS2
(
TauAODMuonRemovalTool
,
TauRecToolBase
,
ITauToolBase
)
24
TauAODMuonRemovalTool
(
const
std::string&
type
);
25
virtual
StatusCode
initialize
()
override
;
26
virtual
StatusCode
execute
(
xAOD::TauJet
&)
const override
;
27
private
:
28
const
std::map<std::string, uint>
m_mapMuonIdWp
= {{
"Tight"
, 0}, {
"Medium"
, 1}, {
"Loose"
, 2}, {
"VeryLoose"
,3}};
29
uint
m_muonWpUi
= 1;
30
SG::ReadHandleKey<xAOD::MuonContainer>
m_muonInputContainer
{
this
,
"Key_MuonInputContainer"
,
"Muons"
,
"input xAOD muons"
};
31
//properties
32
Gaudi::Property<bool>
m_doMuonTrkRm
{
this
,
"doMuonTrkRm"
,
false
,
"Whether to remove the muon tracks from the tau candidate"
};
33
Gaudi::Property<bool>
m_doMuonClsRm
{
this
,
"doMuonClsRm"
,
false
,
"Whether to remove the muon clusters from the tau candidate"
};
34
Gaudi::Property<std::string>
m_strMinMuonIdWp
{
this
,
"muonIDWP"
,
"Medium"
,
"minimum muon identification WP, [VeryLoose, Loose, Medium, Tight]"
};
35
Gaudi::Property<double>
m_lepRemovalConeSize
{
this
,
"lepRemovalConeSize"
, 0.6,
"The maximum dR between the lepton and the tau"
};
36
//helpers
37
std::vector<const xAOD::CaloCluster*>
getOriginalTopoClusters
(
const
xAOD::CaloCluster
*cluster)
const
;
38
std::vector<std::pair<const xAOD::TrackParticle*, const xAOD::Muon*>>
getMuonAndTrk
(
const
xAOD::TauJet
& tau,
const
xAOD::MuonContainer
& muon_cont)
const
;
39
std::vector<std::pair<const xAOD::CaloCluster*, const xAOD::Muon*>>
getMuonAndCls
(
const
xAOD::TauJet
& tau,
const
xAOD::MuonContainer
& muon_cont)
const
;
40
template
<
typename
Tlep,
typename
Tlinks> std::vector<Tlep>
removeTrks
(Tlinks& tau_trk_links, std::vector<std::pair<const xAOD::TrackParticle*, Tlep>>& removings)
const
;
41
template
<
typename
Tlep,
typename
Tlinks> std::vector<Tlep>
removeClss
(Tlinks& tau_cls_links, std::vector<std::pair<const xAOD::CaloCluster*, Tlep>>& clusters_and_leps)
const
;
42
};
43
44
#endif
// TAURECTOOLS_TAUAODMUONREMOVALTOOL_H
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition
AsgToolMacros.h:77
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ReadHandle.h
Handle class for reading from StoreGate.
ElectronContainer.h
MuonContainer.h
uint
unsigned int uint
Definition
LArOFPhaseFill.cxx:19
PropertyWrapper.h
TauJet.h
TauRecToolBase.h
ITauToolBase
The base class for all tau tools.
Definition
ITauToolBase.h:30
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
TauAODMuonRemovalTool::m_strMinMuonIdWp
Gaudi::Property< std::string > m_strMinMuonIdWp
Definition
TauAODMuonRemovalTool.h:34
TauAODMuonRemovalTool::getOriginalTopoClusters
std::vector< const xAOD::CaloCluster * > getOriginalTopoClusters(const xAOD::CaloCluster *cluster) const
Definition
TauAODMuonRemovalTool.cxx:66
TauAODMuonRemovalTool::execute
virtual StatusCode execute(xAOD::TauJet &) const override
Execute - called for each tau candidate.
Definition
TauAODMuonRemovalTool.cxx:19
TauAODMuonRemovalTool::m_muonWpUi
uint m_muonWpUi
Definition
TauAODMuonRemovalTool.h:29
TauAODMuonRemovalTool::m_muonInputContainer
SG::ReadHandleKey< xAOD::MuonContainer > m_muonInputContainer
Definition
TauAODMuonRemovalTool.h:30
TauAODMuonRemovalTool::getMuonAndTrk
std::vector< std::pair< const xAOD::TrackParticle *, const xAOD::Muon * > > getMuonAndTrk(const xAOD::TauJet &tau, const xAOD::MuonContainer &muon_cont) const
Definition
TauAODMuonRemovalTool.cxx:81
TauAODMuonRemovalTool::removeClss
std::vector< Tlep > removeClss(Tlinks &tau_cls_links, std::vector< std::pair< const xAOD::CaloCluster *, Tlep > > &clusters_and_leps) const
Definition
TauAODMuonRemovalTool.cxx:141
TauAODMuonRemovalTool::TauAODMuonRemovalTool
TauAODMuonRemovalTool(const std::string &type)
Definition
TauAODMuonRemovalTool.cxx:9
TauAODMuonRemovalTool::m_mapMuonIdWp
const std::map< std::string, uint > m_mapMuonIdWp
Definition
TauAODMuonRemovalTool.h:28
TauAODMuonRemovalTool::removeTrks
std::vector< Tlep > removeTrks(Tlinks &tau_trk_links, std::vector< std::pair< const xAOD::TrackParticle *, Tlep > > &removings) const
Definition
TauAODMuonRemovalTool.cxx:117
TauAODMuonRemovalTool::m_lepRemovalConeSize
Gaudi::Property< double > m_lepRemovalConeSize
Definition
TauAODMuonRemovalTool.h:35
TauAODMuonRemovalTool::m_doMuonClsRm
Gaudi::Property< bool > m_doMuonClsRm
Definition
TauAODMuonRemovalTool.h:33
TauAODMuonRemovalTool::initialize
virtual StatusCode initialize() override
Tool initializer.
Definition
TauAODMuonRemovalTool.cxx:13
TauAODMuonRemovalTool::getMuonAndCls
std::vector< std::pair< const xAOD::CaloCluster *, const xAOD::Muon * > > getMuonAndCls(const xAOD::TauJet &tau, const xAOD::MuonContainer &muon_cont) const
Definition
TauAODMuonRemovalTool.cxx:94
TauAODMuonRemovalTool::m_doMuonTrkRm
Gaudi::Property< bool > m_doMuonTrkRm
Definition
TauAODMuonRemovalTool.h:32
TauRecToolBase::TauRecToolBase
TauRecToolBase(const std::string &name)
Definition
TauRecToolBase.cxx:125
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition
TauJet.h:17
xAOD::MuonContainer
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
Definition
Event/xAOD/xAODMuon/xAODMuon/MuonContainer.h:14
type
Generated on
for ATLAS Offline Software by
1.17.0