5 from AnalysisAlgorithmsConfig.ConfigBlock
import ConfigBlock
6 from AnalysisAlgorithmsConfig.ConfigAccumulator
import DataType
10 """the ConfigBlock for the JVT sequence"""
13 super (JetJvtAnalysisConfig, self).__init__ ()
14 self.setBlockName(
'JVT')
15 self.addDependency(
'OverlapRemoval', required=
False)
16 self.addOption (
'containerName', containerName, type=str,
18 info=
"the name of the input container.")
19 self.addOption (
'postfix',
'', type=str,
20 info=
"a postfix to apply to decorations and algorithm names. Typically "
22 self.addOption (
'enableFJvt',
False, type=bool,
23 info=
"whether to enable forward JVT calculations. The default is False.")
28 if config.dataType()
is DataType.Data:
return
30 postfix = self.postfix
31 if postfix !=
'' and postfix[0] !=
'_' :
32 postfix =
'_' + postfix
35 alg = config.createAlgorithm(
'CP::AsgEventScaleFactorAlg',
'JvtEventScaleFactorAlg' + postfix )
36 preselection = config.getFullSelection (self.containerName,
'')
37 alg.preselection = preselection +
'&&no_jvt' if preselection
else 'no_jvt'
38 alg.scaleFactorInputDecoration =
'jvt_effSF_%SYS%'
39 alg.scaleFactorOutputDecoration =
'jvt_effSF_%SYS%'
40 alg.particles = config.readName (self.containerName)
42 config.addOutputVar(
'EventInfo', alg.scaleFactorOutputDecoration,
'weight_jvt_effSF')
45 alg = config.createAlgorithm(
'CP::AsgEventScaleFactorAlg',
'ForwardJvtEventScaleFactorAlg' )
46 preselection = config.getFullSelection (self.containerName,
'')
47 alg.preselection = preselection +
'&&no_fjvt' if preselection
else 'no_fjvt'
48 alg.scaleFactorInputDecoration =
'fjvt_effSF_%SYS%'
49 alg.scaleFactorOutputDecoration =
'fjvt_effSF_%SYS%'
50 alg.particles = config.readName (self.containerName)
52 config.addOutputVar(
'EventInfo', alg.scaleFactorOutputDecoration,
'weight_fjvt_effSF')
58 """Create a jet JVT analysis algorithm config
61 enableFJvt -- Whether to enable forward JVT calculations
64 config = JetJvtAnalysisConfig (containerName)
65 config.setOptionValue (
'postfix', postfix)
66 config.setOptionValue (
'enableFJvt', enableFJvt)