Skiming.
11def HION15SkimmingToolCfg(flags):
12 """Configure the example skimming tool"""
13 acc = ComponentAccumulator()
14 JetColl = flags.HeavyIon.HIJetPrefix
15 ExtraData = []
16 ExtraData += ['xAOD::JetContainer/'+JetColl+'AntiKt2HIJets']
17 ExtraData += ['xAOD::JetContainer/'+JetColl+'AntiKt4HIJets']
18
19 acc.addSequence( seqAND("HION15Sequence") )
20 acc.getSequence("HION15Sequence").ExtraDataForDynamicConsumers = ExtraData
21 acc.getSequence("HION15Sequence").ProcessDynamicDataDependencies = True
22
23 expression = ""
24
25 from DerivationFrameworkHI import ListTriggers
26 from CoolConvUtilities.ParticleTypeUtil import getTypeForRun
27 info=getTypeForRun(flags.Input.RunNumbers[0])
28 isSmallSystem = False
29 if (info.getBeam1Type() < 11) or (info.getBeam2Type() < 11):
30 isSmallSystem = True
31 if not flags.Input.isMC:
32 print(
'project: ', flags.Input.ProjectName,
', isSmallSystem: ', isSmallSystem)
33 TriggerDict = ListTriggers.GetTriggers(flags.Input.ProjectName, isSmallSystem)
34 for i, key in enumerate(TriggerDict):
35 expression = expression + '(' + key + ' && count('+JetColl+'AntiKt4HIJets.pt >' + str(TriggerDict[key]) + '*GeV) >=1 ) ' + '|| (' + key + ' && count('+JetColl+'AntiKt2HIJets.pt >' + str(TriggerDict[key]) + '*GeV) >=1 ) '
36 if not i == len(TriggerDict) - 1:
37 expression = expression + ' || '
38 else:
39 expression = expression + 'count('+JetColl+'AntiKt2HIJets.pt > 15000) > 1 || count('+JetColl+'AntiKt4HIJets.pt > 15000) > 1'
40
41 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
42 tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
43 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name = "HION15StringSkimmingTool",
44 expression = expression,
45 TrigDecisionTool=tdt),
46 primary = True)
47
48 return(acc)
49
void print(char *figname, TCanvas *c1)