74def LArDeadSensitiveDetectorToolCfg(flags, name="LArDeadSensitiveDetector", **kwargs):
75
76 kwargs.setdefault("BarrelCryVolumes", ["LArMgr::LAr::Barrel::Cryostat::InnerWall::Vis",
77 "LArMgr::LAr::Barrel::Cryostat::Sector::*",
78 "LArMgr::LAr::Barrel::Cryostat::InnerWall",
79 "LArMgr::LAr::Barrel::Cryostat::Cylinder::*"])
80 kwargs.setdefault("BarrelCryLArVolumes",["LArMgr::LAr::Barrel::Cryostat::ExtraMat*",
81 "LArMgr::LAr::Barrel::Cryostat::HalfLAr*",
82 "LArMgr::LAr::Barrel::Cryostat::TotalLAr",
83 "LArMgr::LAr::Barrel::Cryostat::MotherVolume"])
84 kwargs.setdefault("BarrelCryMixVolumes",["LArMgr::LAr::Barrel::Cryostat::InnerEndWall",
85 "LArMgr::LAr::Barrel::Cryostat::OuterWall",
86 "LArMgr::LAr::Barrel::Cryostat::Mixed::Cylinder::*"])
87 kwargs.setdefault("DeadMaterialVolumes",["LArMgr::LAr::DM::*"])
88 kwargs.setdefault("BarrelPresVolumes", ["LArMgr::LAr::Barrel::Presampler",
89 "LArMgr::LAr::Barrel::Presampler::Sector",
90 "LArMgr::LAr::Barrel::Presampler::ProtectionShell",
91 "LArMgr::LAr::Barrel::Presampler::MotherBoard",
92 "LArMgr::LAr::Barrel::Presampler::Connectics",
93 "LArMgr::LAr::Barrel::Presampler::Rail",
94 "LArMgr::LAr::Barrel::Presampler::ProtectionPlate"])
95 kwargs.setdefault("BarrelVolumes", ["LArMgr::LAr::EMB::ExtraMat*",
96 "LArMgr::LAr::EMB::FrontBack::Absorber",
97 "LArMgr::LAr::EMB::FrontBack::Absorber2",
98 "LArMgr::LAr::EMB::FrontBack::Steel",
99 "LArMgr::LAr::EMB::FrontBack::G10",
100 "LArMgr::LAr::EMB::FrontBack::Electrode",
101 "LArMgr::LAr::EMB::GTENB",
102 "LArMgr::LAr::EMB::GTENF",
103 "LArMgr::LAr::EMB::SUMB",
104 "LArMgr::LAr::EMB::CAAC",
105 "LArMgr::LAr::EMB::MOAC",
106 "LArMgr::LAr::EMB::TELB",
107 "LArMgr::LAr::EMB::TELF",
108 "LArMgr::LAr::EMB::ECAM"])
109 kwargs.setdefault("ECCryVolumes", ["LArMgr::LAr::Endcap::Cryostat::FcalLAr::Cylinder",
110 "LArMgr::LAr::Endcap::Cryostat::EmecHecLAr::Sector",
111 "LArMgr::LAr::Endcap::Cryostat::EmecHecLAr::Cylinder",
112 "LArMgr::LAr::Endcap::Cryostat::Sector",
113 "LArMgr::LAr::Endcap::Cryostat::Cone",
114 "LArMgr::LAr::Endcap::Cryostat::Cylinder"])
115 kwargs.setdefault("ECCryLArVolumes", ["LArMgr::Moderator*",
116 "LArMgr::LAr::Endcap::Cryostat::FcalLAr",
117 "LArMgr::LAr::Endcap::Cryostat::EmecHecLAr",
118 "LArMgr::LAr::Endcap::Cryostat::MotherVolume"])
119 kwargs.setdefault("ECCryMixVolumes", ["LArMgr::LAr::FCAL::LiquidArgonC",
120 "LArMgr::LAr::Endcap::Cryostat::EmecHecLAr::Sector::Mixed",
121 "LArMgr::LAr::Endcap::Cryostat::Sector::Mixed",
122 "LArMgr::LAr::Endcap::Cryostat::Cone::Mixed",
123 "LArMgr::LAr::Endcap::Cryostat::ExtraCyl_beforePS",
124 "LArMgr::LAr::Endcap::Cryostat::Cylinder::Mixed"])
125 kwargs.setdefault("ECSupportVolumes", ["LArMgr::LAr::EMEC::ExtraCyl_afterPS",
126 "LArMgr::LAr::EMEC::InnerTransversalBars",
127 "LArMgr::LAr::EMEC::InnerAluCone::*",
128 "LArMgr::LAr::EMEC::OuterTransversalBars",
129 "LArMgr::LAr::EMEC::OuterSupportMother",
130 "LArMgr::LAr::EMEC::*Stretchers",
131 "LArMgr::LAr::EMEC::Top*",
132 "LArMgr::LAr::EMEC::Back*GTen",
133 "LArMgr::LAr::EMEC::Back*Hole",
134 "LArMgr::LAr::EMEC::Back*Bar",
135 "LArMgr::LAr::EMEC::Back*Ring",
136 "LArMgr::LAr::EMEC::Back*Ele",
137 "LArMgr::LAr::EMEC::Back*Abs",
138 "LArMgr::LAr::EMEC::BackInnerBarrette::Module::Phidiv",
139 "LArMgr::LAr::EMEC::Back*Barrette::Module",
140 "LArMgr::LAr::EMEC::Back*Barrettes",
141 "LArMgr::LAr::EMEC::BackSupport*",
142 "LArMgr::LAr::EMEC::Front*",
143 "LArMgr::LAr::EMEC::Mother*"])
144 kwargs.setdefault("HECWheelVolumes", ["LArMgr::LAr::HEC::Mother",
145 "LArMgr::LAr::HEC::LiquidArgon",
146 "LArMgr::LAr::HEC::Clamp",
147 "LArMgr::LAr::HEC::Clamp::LiquidArgon",
148 "LArMgr::LAr::HEC::Module",
149 "LArMgr::LAr::HEC::FrontModule",
150 "LArMgr::LAr::HEC::RearModule",
151 "LArMgr::LAr::HEC::Module::Depth",
152 "LArMgr::LAr::HEC::Module::Depth::FirstAbsorber",
153 "LArMgr::LAr::HEC::Module::Depth::FirstAbsorber::TieRod"])
154
155 kwargs.setdefault("ParticleID", flags.Sim.ParticleID)
156 kwargs.setdefault("doEscapedEnergy", flags.Sim.CalibrationRun is not CalibrationRun.DeadLAr)
157
158 outputCollectionName = "LArCalibrationHitDeadMaterial"
159 if flags.Sim.CalibrationRun in [CalibrationRun.LAr, CalibrationRun.LArTile, CalibrationRun.LArTileZDC]:
160 outputCollectionName = "LArCalibrationHitDeadMaterial_DEAD"
161 kwargs.setdefault("HitCollectionName", outputCollectionName)
162
163 result = ComponentAccumulator()
164
165 from LArG4Barrel.LArG4BarrelConfig import BarrelCryostatCalibrationCalculatorCfg, BarrelCryostatCalibrationLArCalculatorCfg, BarrelCryostatCalibrationMixedCalculatorCfg, DMCalibrationCalculatorCfg, BarrelCalibrationCalculatorCfg, BarrelPresamplerCalibrationCalculatorCfg
166 kwargs.setdefault("EMBCryoCalibrationCalculator", result.getPrimaryAndMerge(BarrelCryostatCalibrationCalculatorCfg(flags)))
167 kwargs.setdefault("EMBCryoLArCalibrationCalculator", result.getPrimaryAndMerge(BarrelCryostatCalibrationLArCalculatorCfg(flags)))
168 kwargs.setdefault("DefaultCalibrationCalculator", result.getPrimaryAndMerge(CalibrationDefaultCalculatorCfg(flags)))
169 kwargs.setdefault("EMBCryoMixCalibrationCalculator", result.getPrimaryAndMerge(BarrelCryostatCalibrationMixedCalculatorCfg(flags)))
170 kwargs.setdefault("DMCalibrationCalculator", result.getPrimaryAndMerge(DMCalibrationCalculatorCfg(flags)))
171 kwargs.setdefault("EMBPSCalibrationCalculator", result.getPrimaryAndMerge(BarrelPresamplerCalibrationCalculatorCfg(flags)))
172 kwargs.setdefault("EMBCalibrationCalculator", result.getPrimaryAndMerge(BarrelCalibrationCalculatorCfg(flags)))
173
174 from LArG4EC.LArG4ECConfig import EndcapCryostatCalibrationCalculatorCfg, EndcapCryostatCalibrationLArCalculatorCfg, EndcapCryostatCalibrationMixedCalculatorCfg, EMECSupportCalibrationCalculatorCfg
175 kwargs.setdefault("ECCryoCalibrationCalculator", result.getPrimaryAndMerge(EndcapCryostatCalibrationCalculatorCfg(flags)))
176 kwargs.setdefault("ECCryoLArCalibrationCalculator", result.getPrimaryAndMerge(EndcapCryostatCalibrationLArCalculatorCfg(flags)))
177 kwargs.setdefault("ECCryoMixCalibrationCalculator", result.getPrimaryAndMerge(EndcapCryostatCalibrationMixedCalculatorCfg(flags)))
178 kwargs.setdefault("EMECSuppCalibrationCalculator", result.getPrimaryAndMerge(EMECSupportCalibrationCalculatorCfg(flags)))
179
180 from LArG4HEC.LArG4HECConfig import HECCalibrationWheelDeadCalculatorCfg
181 kwargs.setdefault("HECWheelDeadCalculator", result.getPrimaryAndMerge(HECCalibrationWheelDeadCalculatorCfg(flags)))
182
183 result.setPrivateTools(CompFactory.LArG4.DeadSDTool(name, **kwargs))
184 return result
185
186