37def _SherpaBaseCfg(flags, name="Sherpa_i", _base_fragment="", **kwargs):
38 """
39 Internal Sherpa base fragment builder.
40 """
41
42 kwargs.setdefault("PluginCode", "")
43 kwargs.setdefault("RandomSeed", flags.Random.SeedOffset)
44 kwargs.setdefault("Dsid", flags.Generator.DSID)
45
46
47 base_fragment = _base_fragment
48 if base_fragment and not base_fragment.endswith("\n"):
49 base_fragment += "\n"
50 kwargs["BaseFragment"] = base_fragment + build_sherpa3_base_fragment(flags)
51 validate_sherpa3_yaml_fragment("BaseFragment", kwargs["BaseFragment"])
52 if "RunCard" in kwargs:
53 validate_sherpa3_yaml_fragment("RunCard", kwargs["RunCard"])
54
55
56 ca = ComponentAccumulator(EvgenSequenceFactory(EvgenSequence.Generator))
57 ca.addEventAlgo(CompFactory.Sherpa_i(name, **kwargs))
58
59
60 from GeneratorConfig.GeneratorInfoSvcConfig import GeneratorInfoSvcCfg
61 ca.merge(GeneratorInfoSvcCfg(flags, Generators=["Sherpa"]))
62
63 return ca
64
65