Definition at line 622 of file ElectronAnalysisConfig.py.
◆ __init__()
def python.ElectronAnalysisConfig.ElectronTriggerAnalysisSFBlock.__init__ |
( |
|
self, |
|
|
|
configName = '' |
|
) |
| |
Definition at line 624 of file ElectronAnalysisConfig.py.
624 def __init__ (self, configName='') :
625 super (ElectronTriggerAnalysisSFBlock, self).__init__ ()
627 self.addOption (
'triggerChainsPerYear', {}, type=
None,
628 info=
"a dictionary with key (string) the year and value (list of "
629 "strings) the trigger chains. The default is {} (empty dictionary).")
630 self.addOption (
'electronID',
'', type=str,
631 info=
"the electron ID WP (string) to use.")
632 self.addOption (
'electronIsol',
'', type=str,
633 info=
"the electron isolation WP (string) to use.")
634 self.addOption (
'saveEff',
False, type=bool,
635 info=
"define whether we decorate also the trigger scale efficiency "
636 "The default is false.")
637 self.addOption (
'containerName',
'', type=str,
638 info=
"the input electron container, with a possible selection, in "
639 "the format container or container.selection.")
◆ makeAlgs()
def python.ElectronAnalysisConfig.ElectronTriggerAnalysisSFBlock.makeAlgs |
( |
|
self, |
|
|
|
config |
|
) |
| |
Definition at line 641 of file ElectronAnalysisConfig.py.
641 def makeAlgs (self, config) :
643 if config.dataType()
is not DataType.Data:
650 version = (
"2015_2018/rel21.2/Precision_Summer2020_v1"
651 if config.geometry()
is LHCPeriod.Run2
else
652 "2015_2025/rel22.2/2022_Summer_Prerecom_v1")
658 if config.campaign()
is Campaign.MC20a:
659 years = [
'2015',
'2016']
660 elif config.campaign()
is Campaign.MC20d:
662 elif config.campaign()
is Campaign.MC20e:
664 elif config.campaign()
in [Campaign.MC21a, Campaign.MC23a]:
666 elif config.campaign()
in [Campaign.MC23c, Campaign.MC23d]:
671 triggerChains = self.triggerChainsPerYear.
get(year,[])
672 for chain
in triggerChains:
673 chain = chain.replace(
"HLT_",
"").
replace(
" || ",
"_OR_")
674 legs = triggerDict[chain]
676 if chain[0]==
'e' and chain[1].isdigit:
677 triggerConfigs[chain] = mapKeysDict[year +
'_' + chain]
680 if leg[0]==
'e' and leg[1].isdigit:
681 triggerConfigs[leg] = mapKeysDict[year +
'_' + leg]
683 decorations = [
'EffSF']
685 decorations += [
'Eff']
687 for trig, conf
in triggerConfigs.items():
688 for deco
in decorations:
689 alg = config.createAlgorithm(
'CP::ElectronEfficiencyCorrectionAlg',
690 'EleTrigEfficiencyCorrectionsAlg' + deco +
692 config.addPrivateTool(
'efficiencyCorrectionTool',
693 'AsgElectronEfficiencyCorrectionTool' )
696 alg.efficiencyCorrectionTool.MapFilePath =
"ElectronEfficiencyCorrection/" + version +
"/map4.txt"
697 alg.efficiencyCorrectionTool.IdKey = self.electronID.
replace(
"LH",
"")
698 alg.efficiencyCorrectionTool.IsoKey = self.electronIsol
699 alg.efficiencyCorrectionTool.TriggerKey = (
700 (
"Eff_" if "SF" not in deco
else "") + conf[0])
701 alg.efficiencyCorrectionTool.CorrelationModel =
"TOTAL"
702 alg.efficiencyCorrectionTool.ForceDataType = \
703 PATCore.ParticleDataType.Full
705 alg.scaleFactorDecoration = (
706 'el_trig' + deco +
'_' + trig +
'_%SYS%')
707 alg.outOfValidity = 2
708 alg.outOfValidityDeco =
'bad_eff_eletrig' + deco +
'_' + trig
709 alg.electrons = config.readName (self.containerName)
710 alg.preselection = config.getPreselection (self.containerName,
'')
711 config.addOutputVar (self.containerName, alg.scaleFactorDecoration,
'trig' + deco +
'_' + trig)
The documentation for this class was generated from the following file: