PartitionMaker Release Notes for TDAQ-01-06-02

New features since version for tdaq-01-06-02:

FarmScanner Release Notes for TDAQ-01-06-02

New features since version for tdaq-01-06-00:

Example on how to use the PartitionMaker

Imagine that we want to create a full chain, localhost, partition, with the following options:

You don't need to specify the use of LVL2 Result Handler (ex-pROS) or a Dataflow Manager (DFM), since the PartitionMaker automatically insert them as needed. So, let's imagine that we want to generate our localhost partition on the pcatb123 node. To start, after login on the pcatb123 node, just call, from the command line, the PartitionMaker integrated environment by typing pmaker.

Next, after the environment is opened, just type the following commands:

  1. cluster = pm.farmscanner.FarmScanner(localHostNode = 'pcatb123')

  2. robMap = pm.rossegment.genDummyROBMap(1, 3)

  3. part = pm.tdaqpartition.TDAQPartition(cluster, name='part_lh', robMap=robMap, nL2SV=1, nL2PU=1, nWorkerThreads=1, nSFI=1, nEFD=1, nPT=1, nSFO=1, useTCP=True)

  4. pm.project.quickGenerate(part.getPartition(), printAll=True)

After these 5 commands, a partition file named 'part_lh.data.xml' will be created in your local directory. Below follows the explanation of each of the above typed commands.

  1. This command creates a cluster containing just one node (pcatb123) already set for localhost operation.

  2. Generates a dummy ROB to ROS python map to be used by the PartitionMaker. the TDAQPartition class gets the information about number of ROSs and number of ROBs per ROS from this map.

  3. Initializes the class that will, at the end, return an OKS Partition object fully configured, based on the parameters passed to its constructor. Just note that, since we are explicitly typing the parameter name and value ('nL2SV=1', for instance), they can be in any order, so that it would not be an error place the 'nL2SV=1' parameter after the parameter 'useROSE=True' for instance.

  4. Generates the partition file, by receiving the OKS components returned by the method part.getPartition. The printAll parameter is optional and tells the method to print all objects parameters in the partition file. If this value is False (the default), only the parameters which values differs from their initial value within the schema file will be printed.

The above partition was created using the integrated environment. If desired by the user, the above code could be placed into a script file ('my_part.py'), and be executed by doing pmaker my_part.py. The final result is the same.

IMPORTANT NOTE: the PartitionMaker follows the python's syntax, so, for instance, you must not insert spaces in the left side of the above typed commands. More information can be found here.

For more information on parameters settings, helper functions, other functionalities, users are invited to take a look at the DOxygen documentation in the $PARTITION_MAKER_HOME/Documents/DOxygen/index.html.