10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from AthenaPython.PyAthenaComps
import Alg, StatusCode
21 ccc = ROOT.CaloCellContainer()
22 for i
in range (mgr.element_size()):
23 elt = mgr.get_element (ROOT.IdentifierHash (i))
25 cc = ROOT.CaloCell (elt, 0, 0, 0, 0)
27 ROOT.SetOwnership (cc,
False)
29 ccc.updateCaloIterators()
34 clc = ROOT.xAOD.CaloClusterContainer()
35 clc_store = ROOT.xAOD.CaloClusterAuxContainer()
36 clc.setStore (clc_store)
37 cellLinks = ROOT.CaloClusterCellLinkContainer()
38 ids = ROOT.vector(ROOT.IdentifierHash)()
41 cl = ROOT.xAOD.CaloCluster()
43 ROOT.SetOwnership (cl,
False)
48 cl.setClusterSize (ROOT.xAOD.CaloCluster.SW_37ele)
49 links = ROOT.CaloClusterCellLink (ccc)
50 cl.addCellLink (links)
51 ROOT.SetOwnership (links,
False)
53 mgr.cellsInZone (eta - 0.05, eta + 0.05, phi - 0.05, phi + 0.05, ids)
55 elt = mgr.get_element (hash)
58 idx = ccc.findIndex (hash)
60 print (
"??? Can't find cell with hash ", hash)
62 hashes.add (hash.value())
64 cl.setLink(cellLinks, ctx)
66 return (clc, clc_store, cellLinks)
71 ctx = self.getContext()
72 mgr = self.condStore[
'CaloDetDescrManager'].find (ctx.eventID())
73 ccc = make_calo_cells (mgr)
74 self.evtStore.record (ccc,
'AllCalo',
False)
78 (clc, clc_store, cellLinks) = make_clusters (mgr, ccc, cell_hashes, ctx)
79 self.evtStore.record (clc,
'Clusters',
False)
80 self.evtStore.record (clc_store,
'ClustersAux.',
False)
81 self.evtStore.record (cellLinks,
'Clusters_links',
False)
82 return StatusCode.Success
88 return (abs (elt.eta() - eta) < 3*0.025
and
89 abs (elt.phi() - phi) < 7*2*pi/256)
92 ctx = self.getContext()
93 mgr = self.condStore[
'CaloDetDescrManager'].find (ctx.eventID())
94 dec = self.evtStore[
'AllCalo_THINNED_StreamAOD.thinAlg']
96 for i
in range (dec.size()):
97 elt = mgr.get_element (ROOT.IdentifierHash (i))
98 if elt.getSampling() == 3:
101 if not dec.thinned(i):
106 if not dec.thinned(i):
107 assert i
in cell_hashes
109 assert i
not in cell_hashes
110 return StatusCode.Success
116 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
117 from TileGeoModel.TileGMConfig
import TileGMCfg
121 from LArCabling.LArCablingConfig
import LArOnOffIdMappingCfg
124 result.addEventAlgo (CreateDataAlg (
'CreateDataAlg'))
126 CaloThinCellsByClusterAlg=CompFactory.CaloThinCellsByClusterAlg
127 result.addEventAlgo (CaloThinCellsByClusterAlg (
'thinAlg',
128 StreamName =
'StreamAOD',
129 Clusters =
'Clusters',
130 SamplingCellsName = [
'EMB3']))
132 result.addEventAlgo (CheckThinningAlg (
'CheckThinningAlg'))
138 ROOT.xAOD.CaloClusterContainer_v1
141 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
142 from AthenaConfiguration.TestDefaults
import defaultTestFiles
144 flags.Input.Files = defaultTestFiles.RDO_RUN2
145 flags.Input.TimeStamps = [1000]
146 flags.Detector.GeometryLAr =
True
147 flags.Detector.GeometryTile =
True
148 flags.needFlagsCategory(
'Tile')
149 flags.needFlagsCategory(
'LAr')
152 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
155 from McEventSelector.McEventSelectorConfig
import McEventSelectorCfg
156 acc.merge (McEventSelectorCfg (flags))
158 acc.merge (testCfg (flags))