11 def __init__(self):
12 super(LeptonSFCalculatorBlock, self).__init__()
13 self.addDependency("ElectronWorkingPointEfficiency", required=False)
14 self.addDependency("PhotonWorkingPointEfficiency", required=False)
15 self.addDependency("MuonWorkingPointEfficiency", required=False)
16 self.addDependency("TauWorkingPointEfficiency", required=False)
17 self.addOption('electrons', None, type=str,
18 info='the input electron container, with a possible selection, in the format `container` or `container.selection`.',
19 meta={'role':'containerRef'})
20 self.addOption('electronSFs', None, type=list,
21 info='list of decorated electron SFs to use in the computation. If not set, will use reconstruction x ID x isolation, also ECIDS (charge ID) if available.')
22 self.addOption('muons', None, type=str,
23 info='the input muon container, with a possible selection, in the format `container` or `container.selection`.',
24 meta={'role':'containerRef'})
25 self.addOption('muonSFs', None, type=list,
26 info='list of decorated muon SFs to use in the computation. If not set, will use reconstruction x isolation x TTVA.')
27 self.addOption('photons', None, type=str,
28 info='the input photon container, with a possible selection, in the format `container` or `container.selection`.',
29 meta={'role':'containerRef'})
30 self.addOption('photonSFs', None, type=list,
31 info='list of decorated photon SFs to use in the computation. If not set, will use ID x isolation.')
32 self.addOption('taus', None, type=str,
33 info='the input tau-jet container, with a possible selection, in the format `container` or `container.selection`.',
34 meta={'role':'containerRef'})
35 self.addOption('tauSFs', None, type=list,
36 info='list of decorated tau-jet SFs to use in the computation. If not set, will use reconstruction x ID x eVeto.')
37 self.addOption('lepton_postfix', None, type=str,
38 info='the name of the common lepton SF, e.g. `tight`.')
39 self.addOption('includeElectronChargeMisID', False, type=str,
40 info='whether to include the electron charge mis-ID SFs in the computation. The user is responsible for determining whether these are available.')
41 self.addOption('includeMuonBadVeto', False, type=str,
42 info='whether to include the muon bad veto SFs in the computation. The user is responsible for determining whether these are available.')
43