3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD, addToESD
8 """Configures HITowerWeightTool"""
9 acc = ComponentAccumulator()
11 if "InputFile" not in kwargs:
12 from HIJetRec.HIJetRecUtilsCA
import getHIClusterGeoWeightFile
13 kwargs.setdefault(
"InputFile", getHIClusterGeoWeightFile(flags))
14 kwargs.setdefault(
"ApplyCorrection", flags.HeavyIon.Jet.ApplyTowerEtaPhiCorrection)
15 kwargs.setdefault(
"ConfigDir",
'HIJetCorrection/')
17 acc.setPrivateTools(CompFactory.HITowerWeightTool(name, **kwargs))
21 """Configures HIEventShapeMapTool"""
22 acc = ComponentAccumulator()
23 acc.setPrivateTools(CompFactory.HIEventShapeMapTool(name, **kwargs))
27 """Configures HIEventShapeFillerTool"""
28 acc = ComponentAccumulator()
29 if "EventShapeMapTool" not in kwargs:
31 kwargs.setdefault(
"EventShapeMapTool", eventShapeMapTool)
32 kwargs.setdefault(
"UseClusters",
False)
33 kwargs.setdefault(
"CaloCellContainerKey",
"AllCalo")
34 if kwargs[
"UseClusters"]:
37 kwargs.setdefault(
"TowerWeightTool", TWTool)
39 acc.setPrivateTools(CompFactory.HIEventShapeFillerTool(name, **kwargs))
43 """Configures HIEventShapeMaker, either with weights (for HIJets) or without weight (for HIGlobal)"""
44 acc = ComponentAccumulator()
47 if not flags.HeavyIon.isDerivation:
48 from CaloRec.CaloRecoConfig
import CaloRecoCfg
49 acc.merge(CaloRecoCfg(flags))
51 from CaloRec.CaloTowerMakerConfig
import CaloTowerMakerCfg
52 towerMaker = acc.getPrimaryAndMerge(CaloTowerMakerCfg(flags))
54 kwargs.setdefault(
"NaviTowerKey", towerMaker.TowerContainerName)
55 kwargs.setdefault(
"InputTowerKey",
"")
57 kwargs.setdefault(
"InputTowerKey",
"HIClusters")
59 kwargs.setdefault(
"OutputContainerKey",
"HIEventShape")
60 if "HIEventShapeFillerTool" not in kwargs:
61 name_esft=
"HIEventShapeFillerTool_Weighted" if doWeighted
else "HIEventShapeFillerTool"
64 UseClusters=doWeighted))
65 kwargs.setdefault(
"HIEventShapeFillerTool",eventShapeTool)
67 acc.addEventAlgo(CompFactory.HIEventShapeMaker(name, **kwargs))
71 """Configures HIEventShapeSummaryTool"""
72 acc = ComponentAccumulator()
75 kwargs.setdefault(
"SubCalos", [
'FCal',
'EMCal',
'HCal',
'ALL'])
76 kwargs.setdefault(
"Samplings", [
'FCAL0',
'FCAL1',
'FCAL2'])
77 kwargs.setdefault(
"DoPositiveNegativeSides",
False)
79 acc.setPrivateTools(CompFactory.HIEventShapeSummaryTool(name, **kwargs))
83 """Configures Heavy Ion Global quantities """
84 acc = ComponentAccumulator()
86 shapeKey=flags.HeavyIon.Global.EventShape
87 output = [ f
"xAOD::HIEventShapeContainer#{shapeKey}", f
"xAOD::HIEventShapeAuxContainer#{shapeKey}Aux."]
90 if flags.HeavyIon.Global.doEventShapeSummary:
91 summaryKey =
"CaloSums"
93 kwargs_hies[
"SummaryTool"] = summaryTool
94 kwargs_hies[
"SummaryContainerKey"] = summaryKey
95 output.extend([ f
"xAOD::HIEventShapeContainer#{summaryKey}", f
"xAOD::HIEventShapeAuxContainer#{summaryKey}Aux."])
99 acc.merge(addToESD(flags, output))
100 acc.merge(addToAOD(flags, output))
105if __name__ ==
"__main__":
106 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
107 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
108 flags = initConfigFlags()
109 flags.Input.Files = [defaultTestFiles.d +
"/RecJobTransformTests/data18_hi.00367384.physics_HardProbes.daq.RAW._lb0145._SFO-8._0001.data"]
110 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
111 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
112 flags.Exec.MaxEvents=5
113 flags.Concurrency.NumThreads=1
118 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
119 acc = MainServicesCfg(flags)
120 from TriggerJobOpts.TriggerByteStreamConfig
import ByteStreamReadCfg
121 acc.merge(ByteStreamReadCfg(flags))
125 acc.getEventAlgo(
"HIEventShapeMaker").OutputLevel=DEBUG
127 acc.printConfig(withDetails=
True, summariseProps=
True)
131 sys.exit(acc.run().isFailure())
HIEventShapeMakerCfg(flags, name="HIEventShapeMaker", doWeighted=False, **kwargs)
HIEventShapeSummaryToolCfg(flags, name="HIEventShapeSummaryTool", **kwargs)
HIEventShapeMapToolCfg(flags, name="HIEventShapeMapTool", **kwargs)
HIEventShapeFillerToolCfg(flags, name="HIEventShapeFillerTool", **kwargs)
HITowerWeightToolCfg(flags, name="WeightTool", **kwargs)