ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Generators
GeneratorFilters
share
common
FindJets.py
Go to the documentation of this file.
1
from
xAODTruthCnv.xAODTruthCnvConf
import
xAODMaker__xAODTruthCnvAlg
2
if
not
hasattr(prefiltSeq,
'xAODCnv'
):
3
prefiltSeq += xAODMaker__xAODTruthCnvAlg(
'xAODCnv'
,WriteTruthMetaData=
False
)
4
prefiltSeq.xAODCnv.AODContainerName =
'GEN_EVENT'
5
6
#CreateTruthJets(prefiltSeq,filtSeq,runArgs.ecmEnergy,0.6)
7
8
# Turn off ghost association algorithms
9
#include("GeneratorFilters/JetFilter_JZX.py")
10
#from JetFilter_JZX import JZSlice
11
12
#JZSlice(0,prefiltSeq,filtSeq,runArgs.ecmEnergy,0.6)
13
14
# Min and max momenta for the slices
15
minDict = {0:-1,1:20,2:60,3:160,4:400,5:800,6:1300,7:1800,8:2500,9:3200,10:3900,11:4600,12:5300}
16
maxDict = {0:20,1:60,2:160,3:400,4:800,5:1300,6:1800,7:2500,8:3200,9:3900,10:4600,11:5300,12:7000}
17
18
def
CreateJets
(prefiltSeq, jetR, mods=""):
19
# for compatibility with the rest of GEN config, we just re-map the
20
# standard def. Best would be to change all clients in GEN to call us passing a full JetDefinition object
21
if
jetR < 0.65 :
22
from
JetRecConfig.StandardSmallRJets
import
AntiKt4TruthGEN,AntiKt4TruthGENWZ,AntiKt6TruthGEN,AntiKt6TruthGENWZ
23
jetdef = {
24
(0.4,
""
) : AntiKt4TruthGEN,
25
(0.4,
"WZ"
) : AntiKt4TruthGENWZ,
26
(0.6,
""
) : AntiKt6TruthGEN,
27
(0.6,
"WZ"
) : AntiKt6TruthGENWZ,
28
}[ (jetR,mods) ]
29
else
:
30
from
JetRecConfig.StandardLargeRJets
import
AntiKt10TruthGEN,AntiKt10TruthGENWZ
31
jetdef = {
32
(1.0,
""
) : AntiKt10TruthGEN,
33
(1.0,
"WZ"
) : AntiKt10TruthGENWZ,
34
}[ (jetR,mods) ]
35
36
37
# run2-config compatibility. (run3 style would use a ComponentAccumulator).
38
from
JetRecConfig.JetRecConfig
import
getJetAlgs, reOrderAlgs
39
# Initialize ConfigFlags for use by CA-based code below
40
from
AthenaConfiguration.AllConfigFlags
import
initConfigFlags
41
from
AthenaConfiguration.Enums
import
BeamType
42
flags = initConfigFlags()
43
flags.Input.isMC =
True
44
flags.Beam.Type = BeamType.Collisions
45
46
from
AthenaCommon.Configurable
import
ConfigurableCABehavior
47
from
AthenaConfiguration.ComponentAccumulator
import
conf2toConfigurable
48
49
with
ConfigurableCABehavior():
50
# Get the algs needed by the JetDefinition and schedule them with runII style
51
algs, jetdef_i = getJetAlgs(flags, jetdef,
True
)
52
algs, ca = reOrderAlgs( [a
for
a
in
algs
if
a
is
not
None
])
53
# ignore dangling CA instance in legacy config
54
ca.wasMerged()
55
for
a
in
algs:
56
prefiltSeq += conf2toConfigurable(a)
57
58
59
def
AddJetsFilter
(filtSeq,ecmEnergy, jetR, mods=""):
60
include(
"GeneratorFilters/QCDJetFilter.py"
)
61
# from QCDJetFilter import AddJetFilter
62
AddJetFilter(filtSeq,ecmEnergy)
63
jetcollname =
'AntiKt{0}Truth{1}Jets'
.format(int(jetR*10),mods)
64
filtSeq.QCDTruthJetFilter.TruthJetContainer = jetcollname
65
66
def
JZSlice
(x,filtSeq):
67
from
AthenaCommon.SystemOfUnits
import
GeV
68
filtSeq.QCDTruthJetFilter.MinPt = minDict[x]*GeV
69
filtSeq.QCDTruthJetFilter.MaxPt = maxDict[x]*GeV
Configurable
FindJets.CreateJets
CreateJets(prefiltSeq, jetR, mods="")
Definition
FindJets.py:18
FindJets.AddJetsFilter
AddJetsFilter(filtSeq, ecmEnergy, jetR, mods="")
Definition
FindJets.py:59
FindJets.JZSlice
JZSlice(x, filtSeq)
Definition
FindJets.py:66
Generated on
for ATLAS Offline Software by
1.17.0