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.applyClusterTimingCut", False)
46 ccf.addFlag("Calo.TopoCluster.clusterTimingCutLower", -7.5)
47 ccf.addFlag("Calo.TopoCluster.clusterTimingCutUpper", +7.5)
48 ccf.addFlag("Calo.TopoCluster.writeExtendedClusterMoments", True)
49 ccf.addFlag("Calo.TopoCluster.CalibrationHitDecorationName","calclus_NLeadingTruthParticleBarcodeEnergyPairs")
50 ccf.addFlag("Calo.TopoCluster.addCalibrationHitDecoration",False)
51 ccf.addFlag("Calo.TopoCluster.doCalibHitMoments",False)
52 ccf.addFlag("Calo.TopoCluster.writeCalibHitClusterMoments",False)
53 ccf.addFlag("Calo.TopoCluster.doCellWeightCalib", False)
54 ccf.addFlag("Calo.TopoCluster.addCPData",False)
55 ccf.addFlag("Calo.TopoCluster.skipWriteList", lambda prevFlags:
56 ["CaloCalTopoClusters", "CaloTopoClusters"] if prevFlags.Reco.HIMode is HIMode.HI else [])
57 ccf.addFlag("Calo.TopoCluster.UseGPUCompatibleCriteria", False)
58
59 ccf.addFlag("Calo.TopoCluster.xtalkInfoDumper", False) # dump raw energy, digits and some calibration for xtalk studies
60
61
63 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowCellWeights', False)
64
65 # If true, then among groups of clusters very close to each other,
66 # remove all clusters but one.
67 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowRemoveDuplicates', False)
68
69 # If true, remove clusters with energy below a threshold.
70 ccf.addFlag ('Calo.ClusterCorrection.doSlidingWindowRemoveBad', True)
71
72 # Defines from where we should try to construct the tools.
73 # May be one of 'jo', 'pool', 'cool'.
74 # May also be a list of them, to try in order.
75 # It may also be set to a string defined in poolfiles to try to
76 # read all tools from that file (except those marked as nopool).
77 ccf.addFlag ('Calo.ClusterCorrection.defaultSource',
78 ['cool', 'pool', 'jo'])
79
80 # Override the default correction version for sliding window clusters.
81 ccf.addFlag ('Calo.ClusterCorrection.caloSwWhichCorrection', '')
82
83 # Override the default correction version for EM topo clusters.
84 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMWhichCorrection', '')
85
86 # This flag allows setting additional correction arguments for
87 # sliding window clusters. It should normally be empty, but it may be
88 # set for testing new correction versions.
89 ccf.addFlag ('Calo.ClusterCorrection.caloSwCorrectionArgs', {})
90
91 # This flag allows setting additional correction arguments for
92 # EM topo clusters. It should normally be empty, but it may be
93 # set for testing new correction versions.
94 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMCorrectionArgs', {})
95
96 # Correction generation string that's embedded in database tags.
97 # This string gets changed every time the database is updated.
98 ccf.addFlag ('Calo.ClusterCorrection.caloSwGeneration', '')
99
100 # Correction generation string that's embedded in database tags.
101 # This string gets changed every time the database is updated.
102 ccf.addFlag ('Calo.ClusterCorrection.caloTopoEMGeneration', '')
103
104 # This flag allows overriding the subdetector name used for
105 # database connections. It's a dictionary, the keys of which are the
106 # correction classes (normally either `CaloSwClusterCorrections'
107 # or `EMTopoClusterCorrections'). If the correction class isn't
108 # found, we use a key of None instead as a default.
109 #
110 # The subdetector name is normally `CALO'. However, it can be set to the
111 # name of a local sqlite file to force reading COOL information from there.
112 ccf.addFlag ('Calo.ClusterCorrection.dbSubdetName', {None : 'CALO'})
113
114 # Flags from Forward Towers:
115 ccf.addFlag('Calo.FwdTower.prepareLCW', True)
116 ccf.addFlag('Calo.FwdTower.clusterRange', 2.5)
117 ccf.addFlag('Calo.FwdTower.WriteToAOD',
118 lambda prevFlags: prevFlags.Reco.HIMode is not HIMode.HI)
119
120 # Flag for thinning negative energy clusters
121 ccf.addFlag('Calo.Thin.NegativeEnergyCaloClusters', True)
122
123 return ccf