Skip to content
Snippets Groups Projects
Verified Commit f4c211ee authored by Tadej Novak's avatar Tadej Novak
Browse files

Initial support for MC/MC FTag SFs

parent 8f618382
No related branches found
No related tags found
No related merge requests found
......@@ -6,6 +6,7 @@ from AnaAlgorithm.DualUseConfig import createAlgorithm, addPrivateTool
def makeFTagAnalysisSequence( seq, dataType, jetCollection,
btagWP = "FixedCutBEff_77",
btagger = "MV2c10",
generator = "default",
postfix = "",
preselection=None,
kinematicSelection = False,
......@@ -23,6 +24,7 @@ def makeFTagAnalysisSequence( seq, dataType, jetCollection,
jetCollection -- Jet container to run on
btagWP -- Flavour tagging working point
btagger -- Flavour tagger
generator -- Generator for MC/MC scale factors
kinematicSelection -- Wether to run kinematic selection
noEfficiency -- Wether to run efficiencies calculation
legacyRecommendations -- Use legacy recommendations without shallow copied containers
......@@ -43,6 +45,26 @@ def makeFTagAnalysisSequence( seq, dataType, jetCollection,
if dataType not in ["data", "mc", "afii"] :
raise ValueError ("invalid data type: " + dataType)
if generator not in ["default", "Pythia8", "Sherpa221", "Sherpa228", "Sherpa2210", "Herwig7", "Herwig713", "Herwig721", "amc@NLO"]:
raise ValueError ("invalid generator type: " + generator)
# MC/MC scale factors configuration
DSID = "default"
if generator == "Sherpa221":
DSID = "410250"
elif generator == "Sherpa228":
DSID = "421152"
elif generator == "Sherpa2210":
DSID = "700122"
elif generator == "Herwig7":
DSID = "410558"
elif generator == "Herwig713":
DSID = "411233"
elif generator == "Herwig721":
DSID = "600666"
elif generator == "amc@NLO":
DSID = "410464"
if legacyRecommendations:
# Remove b-tagging calibration from the container name
btIndex = jetCollection.find('_BTagging')
......@@ -103,6 +125,11 @@ def makeFTagAnalysisSequence( seq, dataType, jetCollection,
alg.efficiencyTool.ScaleFactorFileName = bTagCalibFile
alg.efficiencyTool.SystematicsStrategy = "Envelope"
alg.efficiencyTool.MinPt = minPt
if DSID != "default":
alg.efficiencyTool.EfficiencyBCalibrations = DSID
alg.efficiencyTool.EfficiencyTCalibrations = DSID
alg.efficiencyTool.EfficiencyCCalibrations = DSID
alg.efficiencyTool.EfficiencyLightCalibrations = DSID
alg.scaleFactorDecoration = 'ftag_effSF_' + btagger + '_' + btagWP + '_%SYS%'
alg.scaleFactorDecorationRegex = '(^FT_EFF_.*)'
alg.selectionDecoration = 'ftag_select_' + btagger + '_' + btagWP + ',as_char'
......
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