ATLAS Offline Software
Loading...
Searching...
No Matches
ZdcNtupleConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 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 InDetTrackSelectionTool.InDetTrackSelectionToolConfig import (
17 InDetTrackSelectionTool_LoosePrimary_Cfg)
18 kwargs.setdefault("TrackSelectionTool", acc.getPrimaryAndMerge(
19 InDetTrackSelectionTool_LoosePrimary_Cfg(flags, maxZ0SinTheta=1.5, maxD0overSigmaD0=3)))
20
21 alg = CompFactory.ZdcNtuple(name, **kwargs)
22
23
24 acc.addEventAlgo(alg)
25
26 return acc
27
28if __name__ == '__main__':
29
30 from AthenaConfiguration.AllConfigFlags import initConfigFlags
31 from AthenaConfiguration.MainServicesConfig import MainServicesCfg
32
33 flags = initConfigFlags()
34 flags.fillFromArgs()
35 flags.lock()
36 acc = MainServicesCfg(flags)
37 acc.merge(PoolReadCfg(flags))
38 acc.merge(ZdcNtupleCfg(flags,
39 name = "AnalysisAlg",
40 zdcConfig = "LHCf2022",
41 lhcf2022 = False,
42 lhcf2022zdc = True,
43 lhcf2022afp = False,
44 zdcOnly = False,
45 useGRL = False,
46 zdcCalib = False,
47 reprocZdc = False,
48 enableOutputTree = True,
49 enableOutputSamples = False,
50 enableTrigger = True,
51 enableTracks = True,
52 enableClusters = True,
53 writeOnlyTriggers = True))
54
55
56 acc.addService(CompFactory.THistSvc(Output = ["ANALYSIS DATAFILE='NTUP.root' OPT='RECREATE'"]))
57
58 acc.printConfig(withDetails=True)
59
60 with open("config.pkl", "wb") as f:
61 acc.store(f)
62 status = acc.run()
63 import sys
64 sys.exit(status.isFailure())
ZdcNtupleCfg(flags, name="ZdcNtuple", **kwargs)