4 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
5 from AthenaConfiguration.ComponentFactory
import CompFactory
6 from AthenaConfiguration.Enums
import MetadataCategory
7 from AthenaCommon.CFElements
import seqAND
12 """Configure the example skimming tool"""
14 JetColl = flags.HeavyIon.HIJetPrefix
16 ExtraData += [
'xAOD::JetContainer/'+JetColl+
'AntiKt2HIJets']
17 ExtraData += [
'xAOD::JetContainer/'+JetColl+
'AntiKt4HIJets']
19 acc.addSequence(
seqAND(
"HION15Sequence") )
20 acc.getSequence(
"HION15Sequence").ExtraDataForDynamicConsumers = ExtraData
21 acc.getSequence(
"HION15Sequence").ProcessDynamicDataDependencies =
True
25 from DerivationFrameworkHI
import ListTriggers
26 from CoolConvUtilities.ParticleTypeUtil
import getTypeForRun
29 if (info.getBeam1Type() < 11)
or (info.getBeam2Type() < 11):
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 +
' || '
39 expression = expression +
'count('+JetColl+
'AntiKt2HIJets.pt > 15000) > 1 || count('+JetColl+
'AntiKt4HIJets.pt > 15000) > 1'
41 from TrigDecisionTool.TrigDecisionToolConfig
import TrigDecisionToolCfg
43 acc.addPublicTool(CompFactory.DerivationFramework.xAODStringSkimmingTool(name =
"HION15StringSkimmingTool",
44 expression = expression,
45 TrigDecisionTool=tdt),
51 """Configure the derivation framework driving algorithm (kernel)"""
54 from DerivationFrameworkHI.HION7
import PhysAugmentationsHION7Cfg
58 from DerivationFrameworkHI.HION7
import HION7GlobalAugmentationToolCfg
60 augmentationTool=[globalAugmentationTool]
62 acc.addEventAlgo(CompFactory.DerivationFramework.DerivationKernel(name,ThinningTools = thinningTools, SkimmingTools = [skimmingTool], AugmentationTools=augmentationTool),sequenceName=
"HION15Sequence")
71 JetColl = flags.HeavyIon.HIJetPrefix
72 from DerivationFrameworkHI.HION7
import getDFJets
75 acc.merge(
HION15KernelCfg(flags, name=
"HION15Kernel",StreamName =
"StreamDAOD_HION15"))
77 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
78 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
79 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
80 from DerivationFrameworkHI
import ListSlimming
84 HION15SlimmingHelper =
SlimmingHelper(
"HION15SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
85 HION15SlimmingHelper.SmartCollections = ListSlimming.HION15SmartCollections()
86 AllVars = ListSlimming.HION15AllVarContent()
87 AllVars += ListSlimming.HION15ExtraContainersTrigger()
88 ExtraVars = ListSlimming.HION15BasicJetVars(JetColl)
89 from DerivationFrameworkFlavourTag
import FtagBaseContent
91 AllVars += ListSlimming.HION15AllVarTruthContent()
92 if flags.HeavyIon.doHIBTagging:
93 FtagBaseContent.add_truth_to_SlimmingHelper(HION15SlimmingHelper)
94 if flags.HeavyIon.doHIBTagging:
95 from DerivationFrameworkFlavourTag.FtagBaseContent
import addCommonAugmentation
97 AllVars += ListSlimming.HION15AllVarFromFTAG1()
99 extra_AppendToDictionary = {}
100 FtagBaseContent.update_AppendToDictionary_in_SlimmingHelper(HION15SlimmingHelper, flags, extra_AppendToDictionary)
102 ExtraVars += ListSlimming.HION15ExtraVarForBtag(JetColl)
103 FtagBaseContent.add_ExtraVariables_to_SlimmingHelper(HION15SlimmingHelper, flags)
105 HION15SlimmingHelper.ExtraVariables = ExtraVars
106 HION15SlimmingHelper.AllVariables = AllVars
108 HION15ItemList = HION15SlimmingHelper.GetItemList()
109 HIJetRemovedBranches=ListSlimming.makeHIJetRemovedBranchList()
110 jet_var_str =
'.-'.join ([
''] + HIJetRemovedBranches)
111 jetRlist = flags.HeavyIon.Jet.RValues
112 for jetR
in jetRlist:
113 output = [
"xAOD::JetContainer#"+JetColl+
"AntiKt"+
str(jetR)+
"HIJets",
114 "xAOD::JetAuxContainer#"+JetColl+
"AntiKt"+
str(jetR)+
"HIJetsAux.-PseudoJet"+jet_var_str]
115 HION15ItemList += output
117 acc.merge(
OutputStreamCfg(flags,
"DAOD_HION15", ItemList=HION15ItemList, AcceptAlgs=[
"HION15Kernel"]))
118 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_HION15", AcceptAlgs=[
"HION15Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))