ATLAS Offline Software
Loading...
Searching...
No Matches
LArG4FastSimulationConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
3from AthenaConfiguration.ComponentFactory import CompFactory
4from ISF_Algorithms.CollectionMergerConfig import CollectionMergerCfg
5
6
7# Frozen-shower tools write into the same event-owned collections as the regular
8# LAr SD tools. CollectionMergerCfg resolves the correct bare-vs-mergeable
9# collection name for the current job and deduplicates shared merger inputs.
10
11def LArG4ShowerLibSvcCfg(flags, **kwargs):
12 result = ComponentAccumulator()
13 fileNameList = []
14 #TODO make this configurable based on flags?
15 # FCAL1 frozen shower libraries
16 fileNameList += [ "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL1.11.root",
17 "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL1.22.root",
18 "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL1.2112.root"]
19 # FCAL2 frozen shower libraries
20 fileNameList += [ "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL2.11.root",
21 "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL2.22.root",
22 "LArG4ShowerLibData/MC23_v2/LArG4ShowerLib.FCAL2.2112.root"]
23 kwargs.setdefault("FileNameList", fileNameList)
24 result.addService(CompFactory.LArG4ShowerLibSvc(name="LArG4ShowerLibSvc", **kwargs))
25 return result
26
27
28def EMBFastShowerCfg(flags, **kwargs):
29 result = ComponentAccumulator()
30 result.merge(LArG4ShowerLibSvcCfg(flags))
31 acc, hits_collection_name = CollectionMergerCfg(flags, "LArHitEMB", "_G4",
32 "LArEMBHits", "CALO")
33 result.merge(acc)
34 kwargs.setdefault("RegionName", "EMB")
35 kwargs.setdefault("EFlagToShowerLib", False)
36 kwargs.setdefault("GFlagToShowerLib", False)
37 kwargs.setdefault("NeutFlagToShowerLib",False)
38 kwargs.setdefault("PionFlagToShowerLib",False)
39 kwargs.setdefault("ContainLow", True)
40 kwargs.setdefault("AbsLowEta", 0.3)
41 kwargs.setdefault("ContainHigh", True)
42 kwargs.setdefault("AbsHighEta", 1.1)
43 kwargs.setdefault("ContainCrack", True)
44 kwargs.setdefault("AbsCrackEta1", 0.5)
45 kwargs.setdefault("AbsCrackEta2", 1.1)
46 kwargs.setdefault("DetectorTag", 100000)
47 kwargs.setdefault("SensitiveDetector", "BarrelFastSimDedicatedSD")
48 kwargs.setdefault("OutputCollectionName", hits_collection_name)
49 kwargs.setdefault("EMinEneShowerLib", 0.51)
50 result.setPrivateTools(CompFactory.LArFastShowerTool(name="EMBFastShower", **kwargs))
51 return result
52
53
54def EMECFastShowerCfg(flags, **kwargs):
55 result = ComponentAccumulator()
56 result.merge(LArG4ShowerLibSvcCfg(flags))
57 acc, hits_collection_name = CollectionMergerCfg(flags, "LArHitEMEC", "_G4",
58 "LArEMECHits", "CALO")
59 result.merge(acc)
60 kwargs.setdefault("RegionName", "EMECPara")
61 kwargs.setdefault("EFlagToShowerLib", False)
62 kwargs.setdefault("GFlagToShowerLib", False)
63 kwargs.setdefault("NeutFlagToShowerLib",False)
64 kwargs.setdefault("PionFlagToShowerLib",False)
65 kwargs.setdefault("ContainLow", True)
66 kwargs.setdefault("AbsLowEta", 1.8)
67 kwargs.setdefault("ContainHigh", True)
68 kwargs.setdefault("AbsHighEta", 2.9)
69 kwargs.setdefault("ContainCrack", True)
70 kwargs.setdefault("AbsCrackEta1", 2.2)
71 kwargs.setdefault("AbsCrackEta2", 2.8)
72 kwargs.setdefault("DetectorTag", 200000)
73 kwargs.setdefault("SensitiveDetector", "EndcapFastSimDedicatedSD")
74 kwargs.setdefault("OutputCollectionName", hits_collection_name)
75 kwargs.setdefault("EMinEneShowerLib", 0.51)
76 result.setPrivateTools(CompFactory.LArFastShowerTool(name="EMECFastShower", **kwargs))
77 return result
78
79
80def FCALFastShowerCfg(flags, **kwargs):
81 result = ComponentAccumulator()
82 result.merge(LArG4ShowerLibSvcCfg(flags))
83 acc, hits_collection_name = CollectionMergerCfg(flags, "LArHitFCAL", "_G4",
84 "LArFCALHits", "CALO")
85 result.merge(acc)
86 kwargs.setdefault("RegionName", "FCALPara")
87 kwargs.setdefault("EFlagToShowerLib", True)
88 kwargs.setdefault("GFlagToShowerLib", True)
89 kwargs.setdefault("NeutFlagToShowerLib",True)
90 kwargs.setdefault("PionFlagToShowerLib",False)
91 kwargs.setdefault("ContainLow", False)
92 kwargs.setdefault("AbsLowEta", 4.0)
93 kwargs.setdefault("ContainHigh", False)
94 kwargs.setdefault("AbsHighEta", 4.6)
95 kwargs.setdefault("DetectorTag", 300000)
96 kwargs.setdefault("SensitiveDetector", "FCALFastSimDedicatedSD")
97 kwargs.setdefault("OutputCollectionName", hits_collection_name)
98 kwargs.setdefault("EMinEneShowerLib", 3.0)
99 result.setPrivateTools(CompFactory.LArFastShowerTool(name="FCALFastShower", **kwargs))
100 return result
101
102
103def FCAL2FastShowerCfg(flags, **kwargs):
104 result = ComponentAccumulator()
105 result.merge(LArG4ShowerLibSvcCfg(flags))
106 acc, hits_collection_name = CollectionMergerCfg(flags, "LArHitFCAL", "_G4",
107 "LArFCALHits", "CALO")
108 result.merge(acc)
109 kwargs.setdefault("RegionName", "FCAL2Para")
110 kwargs.setdefault("EFlagToShowerLib", True)
111 kwargs.setdefault("GFlagToShowerLib", True)
112 kwargs.setdefault("NeutFlagToShowerLib",True)
113 kwargs.setdefault("PionFlagToShowerLib",False)
114 kwargs.setdefault("ContainLow", True)
115 kwargs.setdefault("AbsLowEta", 3.8)
116 kwargs.setdefault("ContainHigh", True)
117 kwargs.setdefault("AbsHighEta", 4.4)
118 kwargs.setdefault("DetectorTag", 400000)
119 kwargs.setdefault("SensitiveDetector", "FCALFastSimDedicatedSD")
120 kwargs.setdefault("OutputCollectionName", hits_collection_name)
121 kwargs.setdefault("EMinEneShowerLib", 1.0)
122 result.setPrivateTools(CompFactory.LArFastShowerTool(name="FCAL2FastShower", **kwargs))
123 return result