4def VarToolCfg(flags, var, Tname="VarTool", **kwargs):
5 """
6 Provides InputVariable
7
8 var: Either a string with the variable name or a dictionary with the VarTool config options
9 """
10 if isinstance(var, dict):
11 kwargs.update(var)
12 kwargs.setdefault("Name", "pt")
13 elif isinstance(var, str):
14 kwargs.setdefault("Name", var)
15 else:
16 raise TypeError('Unregonised type for VarTool block')
17
18 if var in ["e", "et", "pt", "eta", "abseta", "|eta|", "rapidity", "y", "|y|", "absy", "absrapidity", "|rapidity|", "DetectorEta", "absDetEta", "LOGmOe"]:
19 kwargs.setdefault("isJetVar", True)
20 else:
21 kwargs.setdefault("isJetVar", False)
22 kwargs.setdefault("Type","float")
23
24 if kwargs.get("isJetVar") and var in ["pt", "e", "et"]:
25 kwargs.setdefault("Scale", 1e-3)
26 else:
27 kwargs.setdefault("Scale",1.0)
28 tname = Tname + kwargs["Name"]
29 return CompFactory.JetHelper.VarTool(tname, **kwargs)
30