ATLAS Offline Software
Functions | Variables
BTaggingConfigFlags Namespace Reference

Functions

def getGrades (flags)
 
def getTaggerList (flags)
 
def minimumJetPtForTrackAssociation (flags)
 
def calibrationTag (flags)
 
def saveSv1 (prevFlags)
 
def runOldSecVrtSecIncl (prevFlags)
 
def isRun3Derivation (flags)
 
def runFlipTag (flags)
 
def getNNs (flags)
 
def createBTaggingConfigFlags ()
 

Variables

list Run1Grades = [ "Good", "BlaShared", "PixShared", "SctShared", "0HitBLayer" ]
 
list Run2Grades
 
list Run4Grades
 
list calibrationChannelAliases
 

Function Documentation

◆ calibrationTag()

def BTaggingConfigFlags.calibrationTag (   flags)

Definition at line 53 of file BTaggingConfigFlags.py.

53 def calibrationTag(flags):
54  if flags.GeoModel.Run >= LHCPeriod.Run4:
55  return "BTagCalibITk-23-00-03-v1"
56  return ""
57 
58 

◆ createBTaggingConfigFlags()

def BTaggingConfigFlags.createBTaggingConfigFlags ( )

Definition at line 91 of file BTaggingConfigFlags.py.

92  btagcf = AthConfigFlags()
93 
94  btagcf.addFlag("BTagging.taggerList", getTaggerList)
95  btagcf.addFlag("BTagging.databaseScheme", '')
96  btagcf.addFlag("BTagging.calibrationChannelAliases",
97  calibrationChannelAliases)
98  btagcf.addFlag("BTagging.forcedCalibrationChannel", '')
99  btagcf.addFlag("BTagging.calibrationTag",
100  calibrationTag)
101 
102  # the track association minimum is set to 4 GeV because of track
103  # jets in offline reconstruction.
104  btagcf.addFlag("BTagging.minimumJetPtForTrackAssociation",
105  minimumJetPtForTrackAssociation)
106 
107  # these are only used for IPxD and SV1 likelihoods
108  btagcf.addFlag("BTagging.RunModus", "analysis") # reference mode used in FlavourTagPerformanceFramework (RetagFragment.py)
109  btagcf.addFlag("BTagging.ReferenceType", "ALL") # reference type for IP and SV taggers (B, UDSG, ALL)
110  btagcf.addFlag("BTagging.JetPtMinRef", 15e3) # in MeV for uncalibrated pt
111  btagcf.addFlag("BTagging.Grades", getGrades)
112 
113 
114  # Taggers for validation
115  btagcf.addFlag("BTagging.SaveSV1Probabilities", saveSv1)
116  #Do we really need this in AthConfigFlags?
117  #Comments in BTaggingConfiguration.py
118  btagcf.addFlag("BTagging.OutputFiles.Prefix", "BTagging_")
119  btagcf.addFlag("BTagging.GeneralToolSuffix",'') #Not sure it will stay like that later on. Was '', 'Trig, or 'AODFix'
120  # Run the flip taggers
121  btagcf.addFlag("BTagging.RunFlipTaggers", runFlipTag)
122 
123  # Trackless approach
124  btagcf.addFlag("BTagging.Trackless", False)
125  btagcf.addFlag("BTagging.Trackless_JetCollection", "AntiKt4EMPFlowJets")
126  btagcf.addFlag("BTagging.Trackless_JetPtMin", 250) #in GeV
127  btagcf.addFlag("BTagging.Trackless_dR", 0.4)
128 
129  # more aggressive trackless approach
130  btagcf.addFlag("BTagging.savePixelHits", False)
131  btagcf.addFlag("BTagging.saveSCTHits", False)
132 
133  # experimental flags
134  btagcf.addFlag("BTagging.Pseudotrack", False)
135 
136  #NewVrtSecInclusiveAlg
137  btagcf.addFlag("BTagging.RunNewVrtSecInclusive", runOldSecVrtSecIncl)
138 
139  # track classification tool flags
140  btagcf.addFlag("BTagging.TrkClassFiveBinMode",False)
141 
142  # a flag to add V0finder
143  btagcf.addFlag("BTagging.AddV0Finder", False)
144 
145  # GNN vertex fitter
146  btagcf.addFlag("BTagging.GNNVertexFitter", False)
147 
148  # (multifold) NN trainings, each jet collection maps to a list of
149  # dicts. The dict has several keys:
150  # - folds: list of NNs to run
151  # - remapping (optional): any variable remapping
152  btagcf.addFlag("BTagging.NNs", getNNs)
153 
154  return btagcf

◆ getGrades()

def BTaggingConfigFlags.getGrades (   flags)

Definition at line 26 of file BTaggingConfigFlags.py.

26 def getGrades(flags):
27  if flags.GeoModel.Run is LHCPeriod.Run1:
28  return Run1Grades
29  elif flags.GeoModel.Run in [LHCPeriod.Run2, LHCPeriod.Run3]:
30  return Run2Grades
31  else:
32  return Run4Grades
33 
34 

◆ getNNs()

def BTaggingConfigFlags.getNNs (   flags)

Definition at line 76 of file BTaggingConfigFlags.py.

76 def getNNs(flags):
77  # dummy for now
78  caldir = 'BTagging/20231205/GN2v01/antikt4empflow'
79  pf_nns = [f'{caldir}/network_fold{n}.onnx' for n in range(4)]
80  if isRun3Derivation(flags):
81  return {
82  'AntiKt4EMPFlowJets': [
83  {
84  'folds': pf_nns,
85  },
86  ]
87  }
88  return {}
89 
90 

◆ getTaggerList()

def BTaggingConfigFlags.getTaggerList (   flags)

Definition at line 35 of file BTaggingConfigFlags.py.

35 def getTaggerList(flags):
36  base = ['IP2D','IP3D','SV1','JetFitterNN']
37  if flags.Trigger.doHLT:
38  base = ['SV1','JetFitterNN']
39  if flags.GeoModel.Run >= LHCPeriod.Run4:
40  base += ['MV2c10']
41  flip = ['IP2DNeg', 'IP3DNeg','IP2DFlip', 'IP3DFlip','SV1Flip']
42  if flags.BTagging.RunFlipTaggers:
43  return base + flip
44  return base
45 
46 

◆ isRun3Derivation()

def BTaggingConfigFlags.isRun3Derivation (   flags)

Definition at line 67 of file BTaggingConfigFlags.py.

67 def isRun3Derivation(flags):
68  derivation = flags.Common.ProductionStep is ProductionStep.Derivation
69  before_the_future = flags.GeoModel.Run < LHCPeriod.Run4
70  return derivation and before_the_future
71 
72 

◆ minimumJetPtForTrackAssociation()

def BTaggingConfigFlags.minimumJetPtForTrackAssociation (   flags)

Definition at line 47 of file BTaggingConfigFlags.py.

48  if flags.Trigger.doHLT:
49  return 5e3
50  return 4e3
51 
52 

◆ runFlipTag()

def BTaggingConfigFlags.runFlipTag (   flags)

Definition at line 73 of file BTaggingConfigFlags.py.

73 def runFlipTag(flags):
74  return isRun3Derivation(flags)
75 

◆ runOldSecVrtSecIncl()

def BTaggingConfigFlags.runOldSecVrtSecIncl (   prevFlags)

Definition at line 63 of file BTaggingConfigFlags.py.

63 def runOldSecVrtSecIncl(prevFlags):
64  return prevFlags.Common.ProductionStep is ProductionStep.Derivation
65 
66 

◆ saveSv1()

def BTaggingConfigFlags.saveSv1 (   prevFlags)

Definition at line 59 of file BTaggingConfigFlags.py.

59 def saveSv1(prevFlags):
60  return prevFlags.Common.ProductionStep is ProductionStep.Derivation or prevFlags.GeoModel.Run >= LHCPeriod.Run4
61 
62 

Variable Documentation

◆ calibrationChannelAliases

list BTaggingConfigFlags.calibrationChannelAliases
Initial value:
1 = [
2  "AntiKt4EMTopo->AntiKt4EMTopo,AntiKt4EMPFlow",
3  "AntiKt4EMPFlow->AntiKt4EMPFlow,AntiKt4EMTopo",
4  "AntiKt4HI->AntiKt4HI,AntiKt4EMPFlow,AntiKt4EMTopo,AntiKt4LCTopo",
5  "AntiKtVR30Rmax4Rmin02PV0Track->AntiKtVR30Rmax4Rmin02PV0Track,AntiKt4EMPFlow,AntiKt4EMTopo",
6  "AntiKt4PFlowCustomVtx->AntiKt4EMTopo",
7  "AntiKtVR30Rmax4Rmin02Track->AntiKtVR30Rmax4Rmin02PV0Track,AntiKt4EMPFlow,AntiKt4EMTopo",
8 
9 ]

Definition at line 16 of file BTaggingConfigFlags.py.

◆ Run1Grades

list BTaggingConfigFlags.Run1Grades = [ "Good", "BlaShared", "PixShared", "SctShared", "0HitBLayer" ]

Definition at line 6 of file BTaggingConfigFlags.py.

◆ Run2Grades

list BTaggingConfigFlags.Run2Grades
Initial value:
1 = [ "0HitIn0HitNInExp2","0HitIn0HitNInExpIn","0HitIn0HitNInExpNIn","0HitIn0HitNIn",
2  "0HitInExp", "0HitIn",
3  "0HitNInExp", "0HitNIn",
4  "InANDNInShared", "PixShared", "SctShared",
5  "InANDNInSplit", "PixSplit",
6  "Good" ]

Definition at line 7 of file BTaggingConfigFlags.py.

◆ Run4Grades

list BTaggingConfigFlags.Run4Grades
Initial value:
1 = [ "A01","A02","A03","A04","A05","A06","A07","A08","A14_1","A14_2","A14_3","A14_4",
2  "B01","B02","B03","B04","B05","B06","B07","B08","B14_1","B14_2","B14_3","B14_4",
3  "C01","C02030405","C06","C07","C08","C14_1","C14_2","C14_3","C14_4" ]

Definition at line 13 of file BTaggingConfigFlags.py.

BTaggingConfigFlags.isRun3Derivation
def isRun3Derivation(flags)
Definition: BTaggingConfigFlags.py:67
BTaggingConfigFlags.getNNs
def getNNs(flags)
Definition: BTaggingConfigFlags.py:76
BTaggingConfigFlags.createBTaggingConfigFlags
def createBTaggingConfigFlags()
Definition: BTaggingConfigFlags.py:91
BTaggingConfigFlags.saveSv1
def saveSv1(prevFlags)
Definition: BTaggingConfigFlags.py:59
BTaggingConfigFlags.calibrationTag
def calibrationTag(flags)
Definition: BTaggingConfigFlags.py:53
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
BTaggingConfigFlags.getGrades
def getGrades(flags)
Definition: BTaggingConfigFlags.py:26
BTaggingConfigFlags.minimumJetPtForTrackAssociation
def minimumJetPtForTrackAssociation(flags)
Definition: BTaggingConfigFlags.py:47
BTaggingConfigFlags.getTaggerList
def getTaggerList(flags)
Definition: BTaggingConfigFlags.py:35
BTaggingConfigFlags.runOldSecVrtSecIncl
def runOldSecVrtSecIncl(prevFlags)
Definition: BTaggingConfigFlags.py:63
BTaggingConfigFlags.runFlipTag
def runFlipTag(flags)
Definition: BTaggingConfigFlags.py:73