ATLAS Offline Software
Loading...
Searching...
No Matches
ZdcNtupleConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg
6
7def ZdcNtupleCfg(flags, name="ZdcNtuple", **kwargs):
8 acc = ComponentAccumulator()
9
10 if "TrigDecisionTool" not in kwargs and not flags.Input.isMC:
11 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
12 kwargs.setdefault("TrigDecisionTool", acc.getPrimaryAndMerge(
13 TrigDecisionToolCfg(flags)))
14
15 if "TrackSelectionTool" not in kwargs:
16 from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_LoosePrimary_Cfg
17 kwargs.setdefault("TrackSelectionTool", acc.getPrimaryAndMerge(
18 InDetTrackSelectionTool_LoosePrimary_Cfg(flags, maxZ0SinTheta=1.5, maxD0overSigmaD0=3)))
19
20 alg = CompFactory.ZdcNtuple(name, **kwargs)
21
22
23 acc.addEventAlgo(alg)
24
25 return acc
26
27if __name__ == '__main__':
28
29 from AthenaConfiguration.AllConfigFlags import initConfigFlags
30 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
31
32 flags = initConfigFlags()
33 flags.fillFromArgs()
34 flags.lock()
35 acc = MainServicesCfg(flags)
36 acc.merge(PoolReadCfg(flags))
37 acc.merge(ZdcNtupleCfg(flags,
38 name = "AnalysisAlg",
39 zdcConfig = "LHCf2022",
40 lhcf2022 = False,
41 lhcf2022zdc = True,
42 lhcf2022afp = False,
43 zdcOnly = False,
44 useGRL = False,
45 zdcCalib = False,
46 reprocZdc = False,
47 enableOutputTree = True,
48 enableOutputSamples = False,
49 enableTrigger = True,
50 enableTracks = True,
51 enableClusters = True,
52 writeOnlyTriggers = True))
53
54
55 acc.addService(CompFactory.THistSvc(Output = ["ANALYSIS DATAFILE='NTUP.root' OPT='RECREATE'"]))
56
57 acc.printConfig(withDetails=True)
58
59 with open("config.pkl", "wb") as f:
60 acc.store(f)
61 status = acc.run()
62 import sys
63 sys.exit(status.isFailure())
ZdcNtupleCfg(flags, name="ZdcNtuple", **kwargs)