ATLAS Offline Software
Loading...
Searching...
No Matches
HIRecConfigFlags.py
Go to the documentation of this file.
1# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.AthConfigFlags import AthConfigFlags
4from AthenaConfiguration.Enums import HIMode
5
7 flags=AthConfigFlags()
8
9 flags.addFlag("HeavyIon.doGlobal", True)
10 flags.addFlag("HeavyIon.Global.doEventShapeSummary", True)
11 flags.addFlag("HeavyIon.Global.EventShape", "HIEventShape")
12
13 flags.addFlag("HeavyIon.doJet", True)
14 flags.addFlag("HeavyIon.Jet.doTrackJetSeed", True)
15 flags.addFlag("HeavyIon.Jet.ApplyTowerEtaPhiCorrection", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.HI)
16 flags.addFlag("HeavyIon.Jet.HarmonicsForSubtraction", lambda prevFlags: [2, 3, 4] if prevFlags.Reco.HIMode is HIMode.HI else [])
17 flags.addFlag("HeavyIon.Jet.SeedPtMin", lambda prevFlags: 25000 if prevFlags.Reco.HIMode is HIMode.HI else 8000)
18 flags.addFlag("HeavyIon.Jet.RecoOutputPtMin", lambda prevFlags: 25000 if prevFlags.Reco.HIMode is HIMode.HI else 8000)
19 flags.addFlag("HeavyIon.Jet.TrackJetPtMin", lambda prevFlags: 7000 if prevFlags.Reco.HIMode is HIMode.HI else 4000)
20 flags.addFlag("HeavyIon.Jet.HIClusterGeoWeightFile", "auto")
21 flags.addFlag("HeavyIon.Jet.ClusterKey", lambda prevFlags: "DFHIClusters" if prevFlags.HeavyIon.isDerivation else "HIClusters")
22 flags.addFlag("HeavyIon.Jet.Internal.ClusterKey", lambda prevFlags: "DFHIClusters_temp" if prevFlags.HeavyIon.isDerivation else "HIClusters_temp")
23 flags.addFlag("HeavyIon.Jet.WriteHIClusters", lambda prevFlags: prevFlags.Reco.HIMode is not HIMode.UPC)
24 flags.addFlag("HeavyIon.Jet.RValues", [2,4])#this are the R's we want to reconstruct
25 flags.addFlag("HeavyIon.Jet.CaliRValues", ["2","3","4","10"])#this are the R's that are supported for calibration, if not listed then cali R=0.4 is picked
26
27 flags.addFlag("HeavyIon.Egamma.doSubtractedClusters", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.HI)
28 flags.addFlag("HeavyIon.Egamma.EventShape", "HIEventShape_iter_egamma")
29 flags.addFlag("HeavyIon.Egamma.SubtractedCells", "SubtractedCells")
30 flags.addFlag("HeavyIon.Egamma.UncalibCaloTopoCluster", "SubtractedCaloTopoClusters")
31 flags.addFlag("HeavyIon.Egamma.EgammaTopoCluster", "SubtractedEgammaTopoClusters")
32 flags.addFlag("HeavyIon.Egamma.CaloTopoCluster", lambda prevFlags: "SubtractedCaloCalTopoClusters" if prevFlags.Calo.TopoCluster.doTopoClusterLocalCalib else prevFlags.HeavyIon.Egamma.UncalibCaloTopoCluster)
33
34 flags.addFlag("HeavyIon.redoTracking", True)
35 flags.addFlag("HeavyIon.redoEgamma", True)
36 # derivation flags
37 flags.addFlag("HeavyIon.isDerivation", False)
38 flags.addFlag("HeavyIon.HIJetPrefix", lambda prevFlags: "DF" if prevFlags.HeavyIon.isDerivation else "")
39 flags.addFlag("HeavyIon.doHIBTagging", True) # to get flavour tagging running on DFAntiKt4HIJets collection in derivations
40 flags.addFlag("HeavyIon.FTagModifiers", lambda prevFlags: ["QGTagging", "NNJVT"] if prevFlags.HeavyIon.doHIBTagging else [] )
41 flags.addFlag("HeavyIon.FTagTruthModifiers", lambda prevFlags: ["JetGhostLabel", "JetGhostInitialLabel", "PartonTruthLabel", "JetDeltaRInitialLabel:5000", "JetDeltaRLabel:5000"] if prevFlags.HeavyIon.doHIBTagging and prevFlags.Input.isMC else [] )
42 flags.addFlag("HeavyIon.MinTrackPt", 0.9) # minimal reco track pT (in GeV) to be stored in derivation
43
44 # expand as needed
45 return flags