ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
MET
METUtilities
python
METMakerConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentFactory
import
CompFactory
4
5
def
getMETMaker
(jetCollection, name="METMaker", **kwargs):
6
kwargs.setdefault(
"DoPFlow"
,
False
)
7
kwargs.setdefault(
"JetSelection"
,
"Tight"
)
8
9
if
kwargs[
"JetSelection"
]==
"Tier0"
:
10
kwargs.setdefault(
"JvtSelTool"
,
None
)
11
elif
kwargs[
"DoPFlow"
]:
12
kwargs.setdefault(
"JvtSelTool"
, CompFactory.CP.NNJvtSelectionTool(
13
name=
"JvtSelTool"
,
14
JetContainer=jetCollection,
15
JvtMomentName=
"NNJvt"
,
16
WorkingPoint=
"FixedEffPt"
,
17
MaxPtForJvt=60e3))
18
else
:
19
kwargs.setdefault(
"JvtSelTool"
, CompFactory.CP.JvtSelectionTool(
20
name=
"JvtSelTool"
,
21
JetContainer=jetCollection,
22
JvtMomentName=
"Jvt"
,
23
WorkingPoint=kwargs[
"JetSelection"
],
24
MaxPtForJvt=60e3,
25
IsPFlow=
False
))
26
27
return
CompFactory.getComp(
"met::METMaker"
)(name, **kwargs)
28
29
def
getMuonSelectionTool
(name="MuonSelectionTool_METMakerAlg"):
30
muonSel = CompFactory.getComp(
"CP::MuonSelectionTool"
)(name,
31
MuQuality=1,
# Medium
32
TurnOffMomCorr=
True
,
33
MaxEta=2.4,
34
AllowSettingGeometryOnTheFly =
True
)
35
return
muonSel
36
37
def
getEleSelLikelihood
(name="EleSelLikelihood_METMakerAlg"):
38
elecSelLH = CompFactory.AsgElectronLikelihoodTool(name,
39
WorkingPoint=
"MediumLHElectron"
)
40
return
elecSelLH
41
42
def
getPhotonSelIsEM
(name="PhotonSelIsEM_METMakerAlg"):
43
photonSelIsEM = CompFactory.AsgPhotonIsEMSelector(name,
44
WorkingPoint=
"TightPhoton"
)
45
return
photonSelIsEM
46
47
def
getTauSelectionTool
(name="TauSelectionTool_METMakerAlg"):
48
from
ROOT
import
TauAnalysisTools
49
SelectionCuts = TauAnalysisTools.SelectionCuts
50
51
tauSel = CompFactory.getComp(
"TauAnalysisTools::TauSelectionTool"
)(
"TauSelectionTool_METMakerAlg"
,
52
ConfigPath =
""
,
53
SelectionCuts = int(SelectionCuts.CutPt | SelectionCuts.CutAbsEta | SelectionCuts.CutAbsCharge | SelectionCuts.CutNTrack | SelectionCuts.CutJetIDWP),
54
PtMin = 20.0,
55
JetIDWP = TauAnalysisTools.JETIDRNNMEDIUM,
56
NTracks = (1, 3),
57
AbsCharge = 1,
58
AbsEtaRegion = (0.0, 1.37, 1.52, 2.5))
59
return
tauSel
60
61
def
getMETMakerAlg
(suffix,jetSelection="Tier0",jetColl="",**kwargs):
62
63
print
(
"Generate METMaker and METMakerAlg for METAssoc_"
+suffix)
64
65
doPFlow =
'PFlow'
in
suffix
66
doTruth = suffix.startswith(
'Truth'
)
67
if
jetColl==
""
:
68
jetColl = suffix+
'Jets'
69
if
doTruth:
70
jetColl = suffix.split(
'_'
)[1]+
'Jets'
71
72
metMaker =
getMETMaker
(jetCollection=jetColl,
73
name=
'METMaker_'
+suffix,
74
DoPFlow=doPFlow,
75
DoSoftTruth=doTruth,
76
JetSelection=jetSelection)
77
78
muonSel =
getMuonSelectionTool
()
79
80
elecSelLH =
getEleSelLikelihood
()
81
82
photonSelIsEM =
getPhotonSelIsEM
()
83
84
tauSel =
getTauSelectionTool
()
85
86
makerAlg = CompFactory.getComp(
"met::METMakerAlg"
)(
'METMakerAlg_'
+suffix,
87
METMapName=
'METAssoc_'
+suffix,
88
METCoreName=
'MET_Core_'
+suffix,
89
METName=
'MET_Reference_'
+suffix,
90
InputJets=jetColl,
91
Maker=metMaker,
92
MuonSelectionTool=muonSel,
93
ElectronLHSelectionTool=elecSelLH,
94
PhotonIsEMSelectionTool=photonSelIsEM,
95
TauSelectionTool=tauSel,
96
**kwargs
97
)
98
return
makerAlg
99
100
101
def
main
():
102
103
# Config flags steer the job at various levels
104
from
AthenaConfiguration.AllConfigFlags
import
initConfigFlags
105
flags = initConfigFlags()
106
flags.fillFromArgs()
107
flags.lock()
108
109
# Get a ComponentAccumulator setting up the fundamental Athena job
110
from
AthenaConfiguration.MainServicesConfig
import
MainServicesCfg
111
cfg=MainServicesCfg(flags)
112
113
# Add the components for reading in pool files
114
from
AthenaPoolCnvSvc.PoolReadConfig
import
PoolReadCfg
115
cfg.merge(PoolReadCfg(flags))
116
117
from
AthenaCommon.Constants
import
VERBOSE
118
cfg.addEventAlgo(
119
getMETMakerAlg
(
120
suffix=
"AntiKt4EMPFlow"
,
121
jetSelection=
"Tight"
,
122
OutputLevel=VERBOSE
123
)
124
)
125
126
cfg.run(10)
127
128
if
__name__==
"__main__"
:
129
main
()
Constants
METMakerConfig.getMuonSelectionTool
getMuonSelectionTool(name="MuonSelectionTool_METMakerAlg")
Definition
METMakerConfig.py:29
METMakerConfig.getMETMaker
getMETMaker(jetCollection, name="METMaker", **kwargs)
Definition
METMakerConfig.py:5
METMakerConfig.getMETMakerAlg
getMETMakerAlg(suffix, jetSelection="Tier0", jetColl="", **kwargs)
Definition
METMakerConfig.py:61
METMakerConfig.getPhotonSelIsEM
getPhotonSelIsEM(name="PhotonSelIsEM_METMakerAlg")
Definition
METMakerConfig.py:42
METMakerConfig.main
main()
Definition
METMakerConfig.py:101
METMakerConfig.getTauSelectionTool
getTauSelectionTool(name="TauSelectionTool_METMakerAlg")
Definition
METMakerConfig.py:47
METMakerConfig.getEleSelLikelihood
getEleSelLikelihood(name="EleSelLikelihood_METMakerAlg")
Definition
METMakerConfig.py:37
Generated on
for ATLAS Offline Software by
1.17.0