Esempio n. 1
0
    def setMaxEventsOutput(self, maxEv, moduleName=None):
        """
        _setMaxEventsOutput_
        """
        value = CfgTypes.untracked(CfgTypes.int32(maxEv))

        if moduleName == None:
            self.data.output = value
            return

        cfgType = getattr(self.data, "output", None)
        if cfgType.__class__.__name__ == "VPSet":
            # is a VPset so we append to that
            self.data.output.append(
                CfgTypes.untracked(CfgTypes.PSet(moduleName=value)))
        else:
            # add new VPset
            self.data.output = CfgTypes.untracked(
                CfgTypes.VPSet(
                    CfgTypes.untracked(CfgTypes.PSet(moduleName=value))))
        return
Esempio n. 2
0
 def __init__(self, cfgInstance):
     self.data = cfgInstance
     if not self.data.source:
         msg = "The config file has no Source"
         raise RuntimeError, msg
     self.inputSource = InputSource(self.data.source)
     self.outputModules = {}
     for omodName in self.data.outputModules:
         self.outputModules[omodName] = OutputModule(
             omodName, getattr(self.data, omodName))
     if not self.data.psets.has_key('maxEvents'):
         self.data.maxEvents = CfgTypes.untracked(CfgTypes.PSet())
     self.maxEvents = MaxEvents(self.data.maxEvents)
Esempio n. 3
0
def checkMessageLoggerSvc(cfgInstance):
    """
    _checkMessageLogger_

    Check that the message logger is active and provides the default
    job report and event logger settings for production
    
    """

    svcs = cfgInstance.services

    #  //
    # // Check Job report service will write the expected
    #//  FrameworkJobReport.xml file
    if not svcs.has_key('MessageLogger'):
        cfgInstance.add_(CfgModules.Service("MessageLogger"))

    messageLogger = cfgInstance.services['MessageLogger']

    if "fwkJobReports" not in messageLogger.parameterNames_():
        messageLogger.fwkJobReports = CfgTypes.untracked(CfgTypes.vstring())

    if "FrameworkJobReport" not in messageLogger.fwkJobReports:
        messageLogger.fwkJobReports.append("FrameworkJobReport")

    if "FrameworkJobReport" not in messageLogger.parameterNames_():
        messageLogger.FrameworkJobReport = CfgTypes.untracked(CfgTypes.PSet())

    messageLogger.FrameworkJobReport.default = CfgTypes.untracked(
        CfgTypes.PSet(limit=CfgTypes.untracked(CfgTypes.int32(0))))
    messageLogger.FrameworkJobReport.FwkJob = CfgTypes.untracked(
        CfgTypes.PSet(limit=CfgTypes.untracked(CfgTypes.int32(10000000))))

    #  //
    # // Install the per event output
    #//
    if "destinations" not in messageLogger.parameterNames_():
        messageLogger.destinations = CfgTypes.untracked(CfgTypes.vstring())

    if "EventLogger" not in messageLogger.destinations:
        messageLogger.destinations.append("EventLogger")

    if "EventLogger" not in messageLogger.parameterNames_():
        messageLogger.EventLogger = CfgTypes.untracked(CfgTypes.PSet())

    messageLogger.EventLogger.default = CfgTypes.untracked(
        CfgTypes.PSet(limit=CfgTypes.untracked(CfgTypes.int32(0))))

    messageLogger.FrameworkJobReport.FwkReport = CfgTypes.untracked(
        CfgTypes.PSet(limit=CfgTypes.untracked(CfgTypes.int32(10000000)),
                      reportEvery=CfgTypes.untracked(
                          CfgTypes.int32(10000000))))

    return
Esempio n. 4
0
    def addDataset(self, **datasetParams):
        """
        _addDataset_

        Add Dataset information to this cfg file. Each key, value pair
        provided in dataset Params is added as an untracked string to
        the datasets PSet in a PSet named entryName

        """
        datasetPSet = getattr(self.data, "dataset", None)
        if datasetPSet == None:
            self.data.dataset = CfgTypes.untracked(CfgTypes.PSet())
            datasetPSet = self.data.dataset

        for key, value in datasetParams.items():
            setattr(datasetPSet, key,
                    CfgTypes.untracked(CfgTypes.string(str(value))))

        return
Esempio n. 5
0
        """
        newSeeds = [ value for i in range(self.countSeeds())]
        self.insertSeeds(*newSeeds)
        return



if __name__ == '__main__':
    #  //
    # // Setup a test service and populate it
    #//
    randSvc = Service("RandomNumberGeneratorService")
    randHelper = RandomNumberServiceHelper(randSvc)

    randSvc.i1 =  CfgTypes.untracked(CfgTypes.uint32(1))
    randSvc.t1 = CfgTypes.PSet()
    randSvc.t2 = CfgTypes.PSet()
    randSvc.t3 = CfgTypes.PSet()

    randSvc.t1.initialSeed = CfgTypes.untracked(
        CfgTypes.uint32(123455678)
        )

    randSvc.t2.initialSeedSet = CfgTypes.untracked(
        CfgTypes.vuint32(12345,234567,345677)
        )


    randSvc.t3.initialSeed = CfgTypes.untracked(
        CfgTypes.uint32(987654321)
        )