Skiming.
82def HION7SkimmingToolCfg(flags, format="HION7"):
83 """Configure the example skimming tool"""
84 acc = ComponentAccumulator()
85 JetColl = flags.HeavyIon.HIJetPrefix
86 ExtraData = []
87 ExtraData += ['xAOD::JetContainer/'+JetColl+'AntiKt2HIJets']
88 ExtraData += ['xAOD::JetContainer/'+JetColl+'AntiKt4HIJets']
89
90 acc.addSequence( seqAND(format+"Sequence") )
91 acc.getSequence(format+"Sequence").ExtraDataForDynamicConsumers = ExtraData
92 acc.getSequence(format+"Sequence").ProcessDynamicDataDependencies = True
93
94
95 filterList = []
96 from DerivationFrameworkHI import ListTriggers
97 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import xAODStringSkimmingToolCfg
98 from CoolConvUtilities.ParticleTypeUtil import getTypeForRun
99 info=getTypeForRun(flags.Input.RunNumbers[0])
100 isSmallSystem = False
101 if (info.getBeam1Type() < 11) or (info.getBeam2Type() < 11):
102 isSmallSystem = True
103
104
105 if not flags.Input.isMC and not flags.Overlay.DataOverlay:
106 print(
'project: ', flags.Input.ProjectName,
107 ', isSmallSystem: ', isSmallSystem)
108 TriggerDict = ListTriggers.GetTriggers(flags.Input.ProjectName, isSmallSystem)
109 for key in TriggerDict:
110 filterList_trig = []
111 expression = (
112 'count('+JetColl+
'AntiKt4HIJets.pt >' +
str(TriggerDict[key]) +
'*GeV) >=1 || ' +
113 'count('+JetColl+
'AntiKt2HIJets.pt >' +
str(TriggerDict[key]) +
'*GeV) >=1 ')
114
115 StringSkimmingTool = acc.addPublicTool(acc.getPrimaryAndMerge(
116 xAODStringSkimmingToolCfg(
117 flags, name = format+"StringSkimmingTool_"+key,
118 expression = expression)), primary = True)
119 filterList_trig += [StringSkimmingTool]
120
121 TriggerSkimmingTool = (
122 CompFactory.DerivationFramework.TriggerSkimmingTool(
123 name = format+"TriggerSkimmingTool_"+key,
124 TriggerListOR = [key]))
125 acc.addPublicTool(TriggerSkimmingTool)
126 filterList_trig += [TriggerSkimmingTool]
127
128 SkimmingTool_trig = (
129 CompFactory.DerivationFramework.FilterCombinationAND(
130 name=format+"SkimmingTool_trig_"+key,
131 FilterList=filterList_trig))
132 acc.addPublicTool(SkimmingTool_trig)
133 filterList += [SkimmingTool_trig]
134
135 else:
136 expression = ('count('+JetColl+'AntiKt2HIJets.pt > 15000) > 1 || ' +
137 'count('+JetColl+'AntiKt4HIJets.pt > 15000) > 1')
138 StringSkimmingTool = acc.addPublicTool(acc.getPrimaryAndMerge(
139 xAODStringSkimmingToolCfg(flags, name = format+"StringSkimmingTool",
140 expression = expression)), primary = True)
141 filterList += [StringSkimmingTool]
142
143 SkimmingTool = CompFactory.DerivationFramework.FilterCombinationOR(
144 name=format+"SkimmingTool", FilterList=filterList)
145 acc.addPublicTool(SkimmingTool, primary = True)
146
147 return(acc)
148
void print(char *figname, TCanvas *c1)