ATLAS Offline Software
Loading...
Searching...
No Matches
FindJets.py
Go to the documentation of this file.
1from xAODTruthCnv.xAODTruthCnvConf import xAODMaker__xAODTruthCnvAlg
2if not hasattr(prefiltSeq, 'xAODCnv'):
3 prefiltSeq += xAODMaker__xAODTruthCnvAlg('xAODCnv',WriteTruthMetaData=False)
4prefiltSeq.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
15minDict = {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}
16maxDict = {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
18def 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
59def 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
66def JZSlice(x,filtSeq):
67 from AthenaCommon.SystemOfUnits import GeV
68 filtSeq.QCDTruthJetFilter.MinPt = minDict[x]*GeV
69 filtSeq.QCDTruthJetFilter.MaxPt = maxDict[x]*GeV
CreateJets(prefiltSeq, jetR, mods="")
Definition FindJets.py:18
JZSlice(x, filtSeq)
Definition FindJets.py:66
AddJetsFilter(filtSeq, ecmEnergy, jetR, mods="")
Definition FindJets.py:59