Skip to content
Snippets Groups Projects
Commit 530b561b authored by Emmanuel Le Guirriec's avatar Emmanuel Le Guirriec
Browse files

New style configuration in Reco after Walter´s fixes

parent ac6c952e
No related branches found
No related tags found
7 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!37217AFT-509: New modularised FTAG code in official reconstruction,!35339WIP: AFT-509: New b tagging config in reco
......@@ -149,17 +149,27 @@ def PrepareStandAloneBTagCfg(inputFlags):
return result
def BTagRecoCfg(inputFlags, JetCollection = ['AntiKt4EMTopo'], **kwargs):
result=ComponentAccumulator()
taggerList = inputFlags.BTagging.run2TaggersList
result.merge(JetTagCalibCfg(inputFlags, TaggerList = taggerList, **kwargs))
result.merge(JetBTaggerAlgCfg(inputFlags, JetCollection = JetCollection[0], PrimaryVertexCollectionName="PrimaryVertices", TaggerList = taggerList, **kwargs))
return result
def BTagCfg(inputFlags, JetCollection = [], **kwargs):
#This is monolithic for now.
#Once a first complete example runs, this will be split into small modular chunks.
#Some such items may be best placed elsewehere (e.g. put magnetic field setup in magnetic field git folder etc)
result=ComponentAccumulator()
timestamp = kwargs.get('TimeStamp', None)
if timestamp: del kwargs['TimeStamp']
splitAlg = kwargs.get('SplitAlg', None)
del kwargs['SplitAlg']
if splitAlg: del kwargs['SplitAlg']
TrainedTaggers = inputFlags.BTagging.run2TaggersList + ['MultiSVbb1','MultiSVbb2']
result.merge(JetTagCalibCfg(inputFlags, TaggerList = TrainedTaggers, **kwargs))
......@@ -198,7 +208,9 @@ def BTagCfg(inputFlags, JetCollection = [], **kwargs):
secVertexingAndAssociators = {'JetFitter':'BTagTrackToJetAssociator','SV1':'BTagTrackToJetAssociator', 'MSV':'BTagTrackToJetAssociatorBB'}
result.merge(JetBTaggerSplitAlgsCfg(inputFlags, JetCollection = jet, TaggerList = taggerList, SecVertexingAndAssociators = secVertexingAndAssociators, **kwargs))
else:
result.merge(JetBTaggerAlgCfg(inputFlags, JetCollection = jet, TaggerList = taggerList, **kwargs))
if kwargs.get('Release', None):
del kwargs['Release']
result.merge(JetBTaggerAlgCfg(inputFlags, JetCollection = jet, PrimaryVertexCollectionName="PrimaryVertices", TaggerList = taggerList, **kwargs))
return result
......@@ -236,8 +248,9 @@ def JetBTaggerSplitAlgsCfg(inputFlags, JetCollection="", TaggerList=[], SecVerte
for assoc in TrackToJetAssociators:
result.merge(JetParticleAssociationAlgCfg(inputFlags, jet, "InDetTrackParticles", assoc, **kwargs))
del kwargs['Release']
if kwargs.get('Release', None):
del kwargs['Release']
#Sec vertex finding
for k, v in SecVertexingAndAssociators.items():
......@@ -344,7 +357,6 @@ if __name__=="__main__":
from AthenaConfiguration.AllConfigFlags import ConfigFlags as cfgFlags
cfgFlags.Input.isMC=True
cfgFlags.Input.Files= args.filesIn.split(",")
#cfgFlags.Input.isMC=False
#cfgFlags.Input.Files=["/atlas/guirriec/git-athena/q431_2019-03-02T2147/myESD_2019.pool.root"]
......@@ -378,7 +390,8 @@ if __name__=="__main__":
if args.release == "21.2":
kwargs["TimeStamp"] = ['201810','201903']
kwargs['Release'] = '21'
kwargs["SplitAlg"] = args.splitAlg
if args.splitAlg:
kwargs["SplitAlg"] = args.splitAlg
acc.merge(BTagCfg(cfgFlags, JetCollection = JetCollection, **kwargs))
......
......@@ -14,11 +14,9 @@ def JetBTaggerAlgCfg(ConfigFlags, JetCollection="", PrimaryVertexCollectionName=
acc=ComponentAccumulator()
jetcol = JetCollection
del options['Release']
# setup the Analysis__BTagTrackAssociation tool
options.setdefault('BTagTrackAssocTool', acc.popToolsAndMerge(BTagTrackAssociationCfg(ConfigFlags, 'TrackAssociation'+ ConfigFlags.BTagging.GeneralToolSuffix, jetcol, TaggerList )))
options.setdefault('BTagTool', acc.popToolsAndMerge(BTagToolCfg(ConfigFlags, TaggerList, PrimaryVertexCollectionName, SetupScheme)))
timestamp = options.get('TimeStamp', None)
......@@ -26,7 +24,7 @@ def JetBTaggerAlgCfg(ConfigFlags, JetCollection="", PrimaryVertexCollectionName=
timestamp = ['']
else:
del options['TimeStamp']
for ts in timestamp:
# setup the secondary vertexing tool
options['BTagSecVertexing'] = acc.popToolsAndMerge(BTagSecVtxToolCfg(ConfigFlags, 'SecVx'+ConfigFlags.BTagging.GeneralToolSuffix, jetcol, TimeStamp = ts, **options))
......@@ -43,5 +41,5 @@ def JetBTaggerAlgCfg(ConfigFlags, JetCollection="", PrimaryVertexCollectionName=
# -- create main BTagging algorithm
acc.addEventAlgo(JetBTaggerAlg(**options))
return acc
......@@ -14,8 +14,7 @@ def JetParticleAssociationAlgCfg(ConfigFlags, JetCollection="", ParticleCollecti
jetcol = JetCollection
partcol = ParticleCollection
release = options.get('Release', None)
release = options.get('Release', '21')
optionAssoc = {}
if release == '21':
......
......@@ -5,6 +5,7 @@ mlog = logging.getLogger( 'CombinedRec_config' )
from AthenaCommon.GlobalFlags import globalflags
from AthenaConfiguration.ComponentAccumulator import CAtoGlobalWrapper
from RecExConfig.RecFlags import rec
from RecExConfig.RecAlgsFlags import recAlgs
from RecExConfig.ObjKeyStore import objKeyStore
......@@ -125,12 +126,21 @@ pdr.flag_domain('btagging')
btaggingOK = False
if jetOK and rec.doBTagging() and DetFlags.ID_on() and DetFlags.Muon_on():
try:
from BTagging.BTaggingFlags import BTaggingFlags
protectedInclude( "BTagging/BTagging_jobOptions.py")
from AthenaCommon.Configurable import Configurable
Configurable.configurableRun3Behavior=1
from AthenaConfiguration.AllConfigFlags import ConfigFlags
# Translate all needed flags from old jobProperties to a new AthConfigFlag Container
from AthenaCommon.AthenaCommonFlags import jobproperties as jps
ConfigFlags.Input.Files = jps.AthenaCommonFlags.FilesInput.get_Value()
ConfigFlags.IOVDb.GlobalTag=globalflags.ConditionsTag()
# Configure BTagging algorithm
from BTagging.BTagRun3Config import BTagRecoCfg
CAtoGlobalWrapper(BTagRecoCfg, ConfigFlags)
except Exception:
treatException("Could not set up btagging reconstruction")
btaggingOK=False
pass
finally:
Configurable.configurableRun3Behavior=0
pass
#
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment