ATLAS Offline Software
Loading...
Searching...
No Matches
CaloConfigFlags.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.AthConfigFlags import AthConfigFlags
4from AthenaConfiguration.Enums import HIMode
5
7 ccf=AthConfigFlags()
8
9 #CaloNoise Flags
10 ccf.addFlag("Calo.Noise.fixedLumiForNoise", -1)
11 ccf.addFlag("Calo.Noise.useCaloNoiseLumi", True)
12
13 #CaloCell flags
14 ccf.addFlag("Calo.Cell.doPileupOffsetBCIDCorr", True)
15 ccf.addFlag("Calo.Cell.doDeadCellCorr", True)
16 ccf.addFlag("Calo.Cell.doPedestalCorr",
17 lambda prevFlags: not prevFlags.Input.isMC)
18 ccf.addFlag("Calo.Cell.doEnergyCorr",
19 lambda prevFlags: not prevFlags.Input.isMC and not prevFlags.Common.isOnline)
20 ccf.addFlag("Calo.Cell.doTimeCorr",
21 lambda prevFlags: not prevFlags.Input.isMC and not prevFlags.Common.isOnline)
22
23 # TopoCluster Flags:
24 ccf.addFlag("Calo.TopoCluster.doTwoGaussianNoise", True)
25 ccf.addFlag("Calo.TopoCluster.doTreatEnergyCutAsAbsolute", False)
26 ccf.addFlag("Calo.TopoCluster.doTopoClusterLocalCalib", True)
27 ccf.addFlag("Calo.TopoCluster.doTimeCut",
28 lambda prevFlags: not prevFlags.Trigger.doHLT and not prevFlags.Reco.EnableHI)
29 ccf.addFlag("Calo.TopoCluster.extendTimeCut",
30 lambda prevFlags: prevFlags.Calo.TopoCluster.doTimeCut)
31 ccf.addFlag("Calo.TopoCluster.useUpperLimitForTimeCut",
32 lambda prevFlags: prevFlags.Calo.TopoCluster.doTimeCut)
33 ccf.addFlag("Calo.TopoCluster.timeCutUpperLimit", 20.0)
34 ccf.addFlag("Calo.TopoCluster.xtalkEM2", False)
35 ccf.addFlag("Calo.TopoCluster.xtalkEM2D", False)
36 ccf.addFlag("Calo.TopoCluster.xtalkEM2n", False)
37 ccf.addFlag("Calo.TopoCluster.xtalkEM3", False)
38 ccf.addFlag("Calo.TopoCluster.xtalkEMEta", False)
39 ccf.addFlag("Calo.TopoCluster.xtalkDeltaT", 15.0)
40 ccf.addFlag("Calo.TopoCluster.xtalk2Eratio1", 4.)
41 ccf.addFlag("Calo.TopoCluster.xtalk2Eratio2", 25.)
42 ccf.addFlag("Calo.TopoCluster.xtalk3Eratio", 10.)
43 ccf.addFlag("Calo.TopoCluster.xtalkEtaEratio", 4.)
44 ccf.addFlag("Calo.TopoCluster.xtalk2DEratio", 4.)
45 ccf.addFlag("Calo.TopoCluster.writeExtendedClusterMoments", True)
46 ccf.addFlag("Calo.TopoCluster.CalibrationHitDecorationName","calclus_NLeadingTruthParticleBarcodeEnergyPairs")
47 ccf.addFlag("Calo.TopoCluster.addCalibrationHitDecoration",False)
48 ccf.addFlag("Calo.TopoCluster.doCalibHitMoments",False)
49 ccf.addFlag("Calo.TopoCluster.writeCalibHitClusterMoments",False)
50 ccf.addFlag("Calo.TopoCluster.doCellWeightCalib", False)
51 ccf.addFlag("Calo.TopoCluster.addCPData",False)
52 ccf.addFlag("Calo.TopoCluster.skipWriteList", lambda prevFlags:
53 ["CaloCalTopoClusters", "CaloTopoClusters"] if prevFlags.Reco.HIMode is HIMode.HI else [])
54 ccf.addFlag("Calo.TopoCluster.UseGPUCompatibleCriteria", False)
55
56 ccf.addFlag("Calo.TopoCluster.xtalkInfoDumper", False) # dump raw energy, digits and some calibration for xtalk studies
57
58
60 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowCellWeights', False)
61
62 # If true, then among groups of clusters very close to each other,
63 # remove all clusters but one.
64 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowRemoveDuplicates', False)
65
66 # If true, remove clusters with energy below a threshold.
67 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowRemoveBad', True)
68
69 # Defines from where we should try to construct the tools.
70 # May be one of 'jo', 'pool', 'cool'.
71 # May also be a list of them, to try in order.
72 # It may also be set to a string defined in poolfiles to try to
73 # read all tools from that file (except those marked as nopool).
74 ccf.addFlag ('Calo.ClusterCorrection.defaultSource',
75 ['cool', 'pool', 'jo'])
76
77 # Override the default correction version for sliding window clusters.
78 ccf.addFlag ('Calo.ClusterCorrection.caloSwWhichCorrection', '')
79
80 # Override the default correction version for EM topo clusters.
81 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMWhichCorrection', '')
82
83 # This flag allows setting additional correction arguments for
84 # sliding window clusters. It should normally be empty, but it may be
85 # set for testing new correction versions.
86 ccf.addFlag ('Calo.ClusterCorrection.caloSwCorrectionArgs', {})
87
88 # This flag allows setting additional correction arguments for
89 # EM topo clusters. It should normally be empty, but it may be
90 # set for testing new correction versions.
91 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMCorrectionArgs', {})
92
93 # Correction generation string that's embedded in database tags.
94 # This string gets changed every time the database is updated.
95 ccf.addFlag ('Calo.ClusterCorrection.caloSwGeneration', '')
96
97 # Correction generation string that's embedded in database tags.
98 # This string gets changed every time the database is updated.
99 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMGeneration', '')
100
101 # This flag allows overriding the subdetector name used for
102 # database connections. It's a dictionary, the keys of which are the
103 # correction classes (normally either `CaloSwClusterCorrections'
104 # or `EMTopoClusterCorrections'). If the correction class isn't
105 # found, we use a key of None instead as a default.
106 #
107 # The subdetector name is normally `CALO'. However, it can be set to the
108 # name of a local sqlite file to force reading COOL information from there.
109 ccf.addFlag ('Calo.ClusterCorrection.dbSubdetName', {None : 'CALO'})
110
111 # Flags from Forward Towers:
112 ccf.addFlag('Calo.FwdTower.prepareLCW', True)
113 ccf.addFlag('Calo.FwdTower.clusterRange', 2.5)
114 ccf.addFlag('Calo.FwdTower.WriteToAOD',
115 lambda prevFlags: prevFlags.Reco.HIMode is not HIMode.HI)
116
117 # Flag for thinning negative energy clusters
118 ccf.addFlag('Calo.Thin.NegativeEnergyCaloClusters', True)
119
120 return ccf