4 from PyJobTransforms.CommonRunArgsToFlags
import commonRunArgsToFlags
5 from PyJobTransforms.TransformUtils
import processPreExec, processPreInclude, processPostExec, processPostInclude
8 from AthenaCommon
import JobProperties
9 JobProperties.jobPropertiesDisallowed =
True
16 ItemList = [
"McEventCollection#TruthEvent",
17 "TrackRecordCollection#MuonEntryLayer",
18 "xAOD::JetContainer#AntiKt4TruthJets",
19 "xAOD::AuxContainerBase!#AntiKt4TruthJetsAux.-constituentLinks.-constituentWeights",
20 "xAOD::JetContainer#AntiKt6TruthJets",
21 "xAOD::AuxContainerBase!#AntiKt6TruthJetsAux.-constituentLinks.-constituentWeights",
22 "xAOD::TruthParticleContainer#TruthPileupParticles",
23 "xAOD::TruthParticleAuxContainer#TruthPileupParticlesAux."]
25 if "xAOD::EventInfo#EventInfo" in flags.Input.TypedCollections:
26 ItemList += [
"xAOD::EventInfo#EventInfo",
27 "xAOD::EventAuxInfo#EventInfoAux.",
28 "xAOD::EventInfoContainer#*",
29 "xAOD::EventInfoAuxContainer#*"]
31 ItemList += [
"EventInfo#*"]
34 if flags.Detector.EnablePLR:
35 ItemList += [
"SiHitCollection#PLR_Hits"]
37 if flags.Detector.EnableBCM:
38 ItemList += [
"SiHitCollection#BCMHits"]
40 if flags.Detector.EnablePixel:
41 ItemList += [
"SiHitCollection#PixelHits"]
43 if flags.Detector.EnableSCT:
44 ItemList += [
"SiHitCollection#SCT_Hits"]
46 if flags.Detector.EnableTRT:
47 ItemList += [
"TRTUncompressedHitCollection#TRTUncompressedHits"]
49 if flags.Detector.EnableITkPixel:
50 ItemList += [
"SiHitCollection#ITkPixelHits"]
52 if flags.Detector.EnableITkStrip:
53 ItemList += [
"SiHitCollection#ITkStripHits"]
55 if flags.Detector.EnableLAr:
56 ItemList += [
"LArHitContainer#LArHitEMB"]
57 ItemList += [
"LArHitContainer#LArHitEMEC"]
58 ItemList += [
"LArHitContainer#LArHitHEC"]
59 ItemList += [
"LArHitContainer#LArHitFCAL"]
61 if flags.Detector.EnableTile:
62 ItemList += [
"TileHitVector#TileHitVec"]
64 if flags.Detector.EnableMBTS:
65 ItemList += [
"TileHitVector#MBTSHits"]
67 if flags.Detector.EnableHGTD:
68 ItemList += [
"SiHitCollection#HGTD_Hits"]
70 if flags.Detector.GeometryMuon:
71 if flags.Muon.usePhaseIIGeoSetup:
72 from MuonSensitiveDetectorsR4.SensitiveDetectorsCfg
import OutputSimContainersCfg
75 from MuonG4SD.MuonG4SDConfig
import OutputSimContainersCfg
81 from AthenaCommon.Logging
import logging
82 log = logging.getLogger(
'FilterHit_tf')
83 log.info(
'****************** STARTING HIT FILTERING *****************')
85 log.info(
'**** Transformation run arguments')
86 log.info(
str(runArgs))
88 log.info(
'**** Setting-up configuration flags')
89 from AthenaConfiguration.AllConfigFlags
import initConfigFlags
94 if hasattr(runArgs,
'inputHITSFile'):
95 flags.Input.Files = runArgs.inputHITSFile
97 raise RuntimeError(
'No input HITS file defined')
100 from SimuJobTransforms.SimulationHelpers
import getDetectorsFromRunArgs
102 from AthenaConfiguration.DetectorConfigFlags
import setupDetectorFlags
103 setupDetectorFlags(flags, detectors, use_metadata=
True, toggle_geometry=
True, keep_beampipe=
True)
105 if hasattr(runArgs,
'outputHITS_FILTFile'):
106 if runArgs.outputHITS_FILTFile ==
'None':
107 flags.Output.HITSFileName =
''
110 flags.Output.HITSFileName = runArgs.outputHITS_FILTFile
112 raise RuntimeError(
'No outputHITS_FILTFile defined')
115 flags.Output.TreeAutoFlush = {
'HITS': 1}
129 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
132 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
136 from IOVDbSvc.IOVDbSvcConfig
import IOVDbSvcCfg
140 from DetDescrCnvSvc.DetDescrCnvSvcConfig
import DetDescrCnvSvcCfg
144 if flags.Detector.EnableLAr:
145 from LArHitAlgs.LArHitAlgsConfig
import LArHitFilterCfg
148 if hasattr(runArgs,
'TruthReductionScheme'):
149 if runArgs.TruthReductionScheme !=
'SingleGenParticle':
150 log.warning(f
'Unknown TruthReductionScheme ({runArgs.TruthReductionScheme}). Currently just a dummy value, but please check.')
153 from McEventCollectionFilter.McEventCollectionFilterConfig
import McEventCollectionFilterCfg
156 for entry
in flags.Input.Collections:
157 if 'AntiKt4TruthJets' == entry:
158 from McEventCollectionFilter.McEventCollectionFilterConfig
import DecoratePileupAntiKt4TruthJetsCfg
160 if 'AntiKt6TruthJets' == entry:
161 from McEventCollectionFilter.McEventCollectionFilterConfig
import DecoratePileupAntiKt6TruthJetsCfg
163 if 'TruthPileupParticles' == entry:
164 from McEventCollectionFilter.McEventCollectionFilterConfig
import DecorateTruthPileupParticlesCfg
168 if flags.Detector.EnableBCM:
169 from McEventCollectionFilter.McEventCollectionFilterConfig
import BCM_HitsTruthRelinkCfg
171 if flags.Detector.EnablePixel:
172 from McEventCollectionFilter.McEventCollectionFilterConfig
import PixelHitsTruthRelinkCfg
174 if flags.Detector.EnableSCT:
175 from McEventCollectionFilter.McEventCollectionFilterConfig
import SCT_HitsTruthRelinkCfg
177 if flags.Detector.EnableTRT:
178 from McEventCollectionFilter.McEventCollectionFilterConfig
import TRT_HitsTruthRelinkCfg
181 if flags.Detector.EnableITkPixel:
182 from McEventCollectionFilter.McEventCollectionFilterConfig
import ITkPixelHitsTruthRelinkCfg
184 if flags.Detector.EnableITkPixel:
185 from McEventCollectionFilter.McEventCollectionFilterConfig
import ITkPixelHitsTruthRelinkCfg
187 if flags.Detector.EnablePLR:
188 from McEventCollectionFilter.McEventCollectionFilterConfig
import PLR_HitsTruthRelinkCfg
191 if flags.Detector.EnableHGTD:
192 from McEventCollectionFilter.McEventCollectionFilterConfig
import HGTD_HitsTruthRelinkCfg
195 if flags.Detector.EnableCSC:
196 from McEventCollectionFilter.McEventCollectionFilterConfig
import CSC_HitsTruthRelinkCfg
198 if flags.Detector.EnableMDT:
199 from McEventCollectionFilter.McEventCollectionFilterConfig
import MDT_HitsTruthRelinkCfg
201 if flags.Detector.EnableMM:
202 from McEventCollectionFilter.McEventCollectionFilterConfig
import MM_HitsTruthRelinkCfg
204 if flags.Detector.EnableRPC:
205 from McEventCollectionFilter.McEventCollectionFilterConfig
import RPC_HitsTruthRelinkCfg
207 if flags.Detector.EnableTGC:
208 from McEventCollectionFilter.McEventCollectionFilterConfig
import TGC_HitsTruthRelinkCfg
210 if flags.Detector.EnablesTGC:
211 from McEventCollectionFilter.McEventCollectionFilterConfig
import sTGC_HitsTruthRelinkCfg
214 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
218 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
228 from PyUtils.AMITagHelperConfig
import AMITagCfg
235 log.info(
"Ran FilterHit_tf in " +
str(time.time()-tic) +
" seconds")
237 sys.exit(
not sc.isSuccess())