3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from OutputStreamAthenaPool.OutputStreamConfig
import addToAOD, addToESD
8 """Configures HITowerWeightTool"""
11 if "InputFile" not in kwargs:
12 from HIJetRec.HIJetRecUtilsCA
import getHIClusterGeoWeightFile
14 kwargs.setdefault(
"ApplyCorrection", flags.HeavyIon.Jet.ApplyTowerEtaPhiCorrection)
15 kwargs.setdefault(
"ConfigDir",
'HIJetCorrection/')
17 acc.setPrivateTools(CompFactory.HITowerWeightTool(name, **kwargs))
21 """Configures HIEventShapeMapTool"""
23 acc.setPrivateTools(CompFactory.HIEventShapeMapTool(name, **kwargs))
27 """Configures HIEventShapeFillerTool"""
29 if "EventShapeMapTool" not in kwargs:
31 kwargs.setdefault(
"EventShapeMapTool", eventShapeMapTool)
32 kwargs.setdefault(
"UseClusters",
False)
33 if kwargs[
"UseClusters"]:
36 kwargs.setdefault(
"TowerWeightTool", TWTool)
38 acc.setPrivateTools(CompFactory.HIEventShapeFillerTool(name, **kwargs))
42 """Configures HIEventShapeMaker, either with weights (for HIJets) or without weight (for HIGlobal)"""
46 if not flags.HeavyIon.isDerivation:
47 from CaloRec.CaloRecoConfig
import CaloRecoCfg
50 from CaloRec.CaloTowerMakerConfig
import CaloTowerMakerCfg
53 kwargs.setdefault(
"NaviTowerKey", towerMaker.TowerContainerName)
54 kwargs.setdefault(
"InputTowerKey",
"")
56 kwargs.setdefault(
"InputTowerKey",
"HIClusters")
58 kwargs.setdefault(
"OutputContainerKey",
"HIEventShape")
59 if "HIEventShapeFillerTool" not in kwargs:
60 name_esft=
"HIEventShapeFillerTool_Weighted" if doWeighted
else "HIEventShapeFillerTool"
63 UseClusters=doWeighted))
64 kwargs.setdefault(
"HIEventShapeFillerTool",eventShapeTool)
66 acc.addEventAlgo(CompFactory.HIEventShapeMaker(name, **kwargs))
70 """Configures HIEventShapeSummaryTool"""
74 kwargs.setdefault(
"SubCalos", [
'FCal',
'EMCal',
'HCal',
'ALL'])
75 kwargs.setdefault(
"Samplings", [
'FCAL0',
'FCAL1',
'FCAL2'])
76 kwargs.setdefault(
"DoPositiveNegativeSides",
False)
78 acc.setPrivateTools(CompFactory.HIEventShapeSummaryTool(name, **kwargs))
82 """Configures Heavy Ion Global quantities """
85 shapeKey=flags.HeavyIon.Global.EventShape
86 output = [ f
"xAOD::HIEventShapeContainer#{shapeKey}", f
"xAOD::HIEventShapeAuxContainer#{shapeKey}Aux."]
89 if flags.HeavyIon.Global.doEventShapeSummary:
90 summaryKey =
"CaloSums"
92 kwargs_hies[
"SummaryTool"] = summaryTool
93 kwargs_hies[
"SummaryContainerKey"] = summaryKey
94 output.extend([ f
"xAOD::HIEventShapeContainer#{summaryKey}", f
"xAOD::HIEventShapeAuxContainer#{summaryKey}Aux."])
104 if __name__ ==
"__main__":
105 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
106 from AthenaConfiguration.TestDefaults
import defaultConditionsTags, defaultGeometryTags, defaultTestFiles
108 flags.Input.Files = [defaultTestFiles.d +
"/RecJobTransformTests/data18_hi.00367384.physics_HardProbes.daq.RAW._lb0145._SFO-8._0001.data"]
109 flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
110 flags.IOVDb.GlobalTag = defaultConditionsTags.RUN2_DATA
111 flags.Exec.MaxEvents=5
112 flags.Concurrency.NumThreads=1
117 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
119 from TriggerJobOpts.TriggerByteStreamConfig
import ByteStreamReadCfg
124 acc.getEventAlgo(
"HIEventShapeMaker").OutputLevel=DEBUG
126 acc.printConfig(withDetails=
True, summariseProps=
True)
130 sys.exit(acc.run().isFailure())