10from CaloCellCorrection.CaloCellCorrectionConfig
import CaloCellPedestalCorrCfg, CaloCellNeighborsAverageCorrCfg, CaloCellTimeCorrCfg, CaloEnergyRescalerCfg
13 result=ComponentAccumulator()
15 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
16 from TileGeoModel.TileGMConfig
import TileGMCfg
18 result.merge(LArGMCfg(flags))
19 result.merge(TileGMCfg(flags))
21 larCellBuilder = result.popToolsAndMerge(LArCellBuilderCfg(flags))
22 larCellCorrectors = result.popToolsAndMerge(LArCellCorrectorCfg(flags))
23 tileCellBuilder = result.popToolsAndMerge(TileCellBuilderCfg(flags))
24 cellFinalizer = CompFactory.CaloCellContainerFinalizerTool()
26 cellMakerTools=[larCellBuilder,tileCellBuilder,cellFinalizer]+larCellCorrectors
29 if flags.Calo.Cell.doPileupOffsetBCIDCorr
or flags.Calo.Cell.doPedestalCorr:
30 theCaloCellPedestalCorr=CaloCellPedestalCorrCfg(flags)
31 cellMakerTools.append(result.popToolsAndMerge(theCaloCellPedestalCorr))
34 if flags.LAr.doHVCorr:
35 from LArCellRec.LArCellBuilderConfig
import LArHVCellContCorrCfg
36 theLArHVCellContCorr=LArHVCellContCorrCfg(flags)
37 cellMakerTools.append(result.popToolsAndMerge(theLArHVCellContCorr))
40 if flags.Calo.Cell.doDeadCellCorr:
41 theCaloCellNeighborAvg=CaloCellNeighborsAverageCorrCfg(flags)
42 cellMakerTools.append(result.popToolsAndMerge(theCaloCellNeighborAvg))
44 if flags.Calo.Cell.doEnergyCorr:
45 theCaloCellEnergyRescaler=CaloEnergyRescalerCfg(flags)
46 cellMakerTools.append(result.popToolsAndMerge(theCaloCellEnergyRescaler))
47 if flags.Calo.Cell.doTimeCorr:
48 theCaloTimeCorr=CaloCellTimeCorrCfg(flags)
49 cellMakerTools.append(result.popToolsAndMerge(theCaloTimeCorr))
51 if flags.LAr.doDeadOTxCorr:
52 from LArCellRec.LArCellBuilderConfig
import LArDeadOTXCorrCfg
53 theLArDeadOTXCorr=LArDeadOTXCorrCfg(flags)
54 cellMakerTools.append(result.popToolsAndMerge(theLArDeadOTXCorr))
56 cellAlgo = CompFactory.CaloCellMaker(CaloCellMakerToolNames=cellMakerTools,
57 CaloCellsOutputName=
"AllCalo",
58 EnableChronoStat=(flags.Concurrency.NumThreads == 0))
60 result.addEventAlgo(cellAlgo, primary=
True)
62 outputContainers = [f
'CaloCellContainer#{flags.Egamma.Keys.Input.CaloCells}']
63 if flags.GeoModel.Run
in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]:
64 outputContainers += [
"TileCellContainer#MBTSContainer"]
65 if flags.GeoModel.Run
is LHCPeriod.Run2:
66 outputContainers += [
"TileCellContainer#E4prContainer"]
67 from OutputStreamAthenaPool.OutputStreamConfig
import addToESD, addToAOD
68 result.merge(addToESD(flags, outputContainers))
69 result.merge(addToAOD(flags, outputContainers))
72 if flags.LAr.DT.storeET_ID
or flags.LAr.DT.storeET_additional:
73 from LArConfiguration.LArSuperCellConfig
import LArSuperCellCfg
74 result.merge(LArSuperCellCfg(flags))