ATLAS Offline Software
TileGeoG4SDToolConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from AthenaConfiguration.Enums import BeamType
6 from ISF_Algorithms.CollectionMergerConfig import CollectionMergerCfg
7 
8 
9 def TileGeoG4SDCfg(flags, name="TileGeoG4SD", **kwargs):
10  bare_collection_name = "TileHitVec"
11  mergeable_collection_suffix = "_G4"
12  merger_input_property = "TileHits"
13  region = "CALO"
14 
15  result, hits_collection_name = CollectionMergerCfg(flags, bare_collection_name, mergeable_collection_suffix, merger_input_property, region)
16  kwargs.setdefault("LogicalVolumeNames", ["Tile::Scintillator"])
17  kwargs.setdefault("OutputCollectionNames", [hits_collection_name])
18 
19  kwargs.setdefault("TileCalculator", result.getPrimaryAndMerge(TileGeoG4SDCalcCfg(flags, [hits_collection_name])) )
20 
21  result.setPrivateTools(CompFactory.TileGeoG4SDTool(name, **kwargs))
22  return result
23 
24 
25 def TileCTBGeoG4SDCfg(flags, name="TileCTBGeoG4SD", **kwargs):
26  kwargs.setdefault("LogicalVolumeNames", ["Tile::Scintillator"])
27  hit_collection_name = ["TileHitVec"]
28  kwargs.setdefault("OutputCollectionNames", hit_collection_name)
29 
30  result = ComponentAccumulator()
31  kwargs.setdefault("TileCalculator", result.getPrimaryAndMerge(TileCTBGeoG4SDCalcCfg(flags, hit_collection_name)) )
32 
33  result.setPrivateTools(CompFactory.TileGeoG4SDTool(name, **kwargs))
34  return result
35 
36 
37 def TileGeoG4SDCalcCfg(flags, hit_collection_name, name="TileGeoG4SDCalc", **kwargs):
38  result = ComponentAccumulator()
39 
40  if flags.Beam.Type is BeamType.Cosmics or flags.Sim.ReadTR:
41  kwargs.setdefault("DeltaTHit", [1])
42  kwargs.setdefault("DoTOFCorrection", False)
43  kwargs.setdefault("DoCalibHitParticleID", flags.Sim.ParticleID )
44  kwargs.setdefault("OutputCollectionNames", hit_collection_name)
45 
46  result.addService(CompFactory.TileGeoG4SDCalc(name, **kwargs), primary=True)
47  return result
48 
49 
50 def TileCTBGeoG4SDCalcCfg(flags, hit_collection_name, name="TileCTBGeoG4SDCalc", **kwargs):
51  result = ComponentAccumulator()
52 
53  kwargs.setdefault("TileTB", True)
54  kwargs.setdefault("DoCalibHitParticleID", flags.Sim.ParticleID )
55  kwargs.setdefault("OutputCollectionNames", hit_collection_name)
56 
57  result.addService(CompFactory.TileGeoG4SDCalc(name, **kwargs), primary=True)
58  return result
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
TileGeoG4SDToolConfig.TileGeoG4SDCalcCfg
def TileGeoG4SDCalcCfg(flags, hit_collection_name, name="TileGeoG4SDCalc", **kwargs)
Definition: TileGeoG4SDToolConfig.py:37
TileGeoG4SDToolConfig.TileCTBGeoG4SDCfg
def TileCTBGeoG4SDCfg(flags, name="TileCTBGeoG4SD", **kwargs)
Definition: TileGeoG4SDToolConfig.py:25
TileGeoG4SDToolConfig.TileGeoG4SDCfg
def TileGeoG4SDCfg(flags, name="TileGeoG4SD", **kwargs)
Definition: TileGeoG4SDToolConfig.py:9
TileGeoG4SDToolConfig.TileCTBGeoG4SDCalcCfg
def TileCTBGeoG4SDCalcCfg(flags, hit_collection_name, name="TileCTBGeoG4SDCalc", **kwargs)
Definition: TileGeoG4SDToolConfig.py:50
CollectionMergerConfig.CollectionMergerCfg
def CollectionMergerCfg(flags, bare_collection_name, mergeable_collection_suffix, merger_input_property, region)
Definition: CollectionMergerConfig.py:66