5def LArSuperCellCfg(inputFlags):
6
7 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8 from AthenaConfiguration.ComponentFactory import CompFactory
9 from OutputStreamAthenaPool.OutputStreamConfig import addToESD, addToAOD
10 acc = ComponentAccumulator()
11
12
13 if inputFlags.LAr.DT.storeET_ID:
14 from LArByteStream.LArRawSCDataReadingConfig import LArRawSCDataReadingCfg
15 acc.merge(LArRawSCDataReadingCfg(inputFlags))
16 acc.addCondAlgo(CompFactory.CaloSuperCellAlignCondAlg('CaloSuperCellAlignCondAlg'))
17 from LArCellRec.LArRAWtoSuperCellConfig import LArRAWtoSuperCellCfg
18 acc.merge(LArRAWtoSuperCellCfg(inputFlags,mask=inputFlags.LAr.DT.doSCMasking, SCellContainerOut=inputFlags.LAr.DT.ET_IDKey) )
19
20 acc.merge(addToESD(inputFlags, ["CaloCellContainer#"+inputFlags.LAr.DT.ET_IDKey]))
21 acc.merge(addToAOD(inputFlags, ["CaloCellContainer#"+inputFlags.LAr.DT.ET_IDKey]))
22
23
24 if inputFlags.LAr.DT.storeET_additional:
25 from LArByteStream.LArRawSCDataReadingConfig import LArRawSCDataReadingCfg
26 acc.merge(LArRawSCDataReadingCfg(inputFlags))
27 acc.addCondAlgo(CompFactory.CaloSuperCellAlignCondAlg('CaloSuperCellAlignCondAlg'))
28 from LArCellRec.LArRAWtoSuperCellConfig import LArRAWtoSuperCellCfg
29 acc.merge(LArRAWtoSuperCellCfg(inputFlags,name='LArRAWtoSuperCellPlus', mask=inputFlags.LAr.DT.doSCMasking, SCellContainerOut=inputFlags.LAr.DT.ET_PlusKey, bcidShift=1) )
30 outContainers = ["CaloCellContainer#"+inputFlags.LAr.DT.ET_PlusKey]
31 acc.merge(LArRAWtoSuperCellCfg(inputFlags,name='LArRAWtoSuperCellMinus', mask=inputFlags.LAr.DT.doSCMasking, SCellContainerOut=inputFlags.LAr.DT.ET_MinusKey, bcidShift=-1) )
32 outContainers += ["CaloCellContainer#"+inputFlags.LAr.DT.ET_MinusKey]
33
34 acc.merge(addToESD(inputFlags,outContainers))
35 acc.merge(addToAOD(inputFlags,outContainers))
36
37 return acc
38
39
40