diff --git a/docs/sphinx_source/kingmaker.rst b/docs/sphinx_source/kingmaker.rst index 0c35a4dc..3be7d149 100644 --- a/docs/sphinx_source/kingmaker.rst +++ b/docs/sphinx_source/kingmaker.rst @@ -1,5 +1,5 @@ Workflow Management -==================== +=================== KingMaker is a workflow management for producing ntuples with the CROWN framework. The workflow management is based on law (https://github.com/riga/law), which uses luigi (https://github.com/spotify/luigi) as the backend. Kingmaker is used to orchestrate the production of ntuples and friend trees for the CROWN framework. The workflow is designed to be flexible and can be adapted to different analyses. Kingmaker takes care of building all required CROWN executables, submitting jobs to a batch system and writing the output to a remote storage. On top of that, Kingmaker can be used to generate FriendTrees, which can be used to store additional information to extend the ntuples. A sample manager is provided to manage the samples and keep track of the individual input files that have to be processed. @@ -74,6 +74,21 @@ The naming convention of CMS datasets is according to https://twiki.cern.ch/twik All centrally produced datasets from CMS are stored under the ``prod/global`` DAS instance, while there is a dedicated DAS instance for user datasets, ``prod/phys03``. See https://cmsweb.cern.ch/das/services for more details. +Chosing NanoAOD version +~~~~~~~~~~~~~~~~~~~~~~~ + +Before any of the option can be used, the user has to select the desired NanoAOD version from a list of available versions. The ``sample_manager`` will then use this version to query the database. +The currently available versions are: + +.. code-block:: + + Starting Samplemanager + ? Select a nanoAOD version (Use arrow keys) + ยป nanoAOD_v9 + nanoAOD_v12 + nanoAOD_v15 + + Addition of new Samples ~~~~~~~~~~~~~~~~~~~~~~~ @@ -161,7 +176,7 @@ To trigger a production of ntuples run .. code-block:: bash - law run ProduceSamples --analysis template_analysis --config template_config --production-tag test_production_v1 --sample-list samples.txt --scopes mm --shifts None --workers 8 + law run ProduceSamples --analysis template_analysis --config template_config --production-tag test_production_v1 --sample-list samples.txt --nanoAOD-version nanoAOD_v9 --scopes mm --shifts None --workers 8 The different options are: @@ -170,6 +185,7 @@ The different options are: - ``--config``: The config file to be used. The config file contains the information about all producers, parameters and output branches that are needed to run the ntuple production of your analysis. The config file is located in the ``CROWN/analysis_configurations//`` folder. - ``--production-tag``: The production tag is used to identify the production (default: ``default/``). It is used to create the output folder and the output files. The output files are stored in the ``///CROWNRun/`` folder. The ``base`` variable is set using the Configuration. By default, it is set to ``root://cmsdcache-kit-disk.gridka.de//store/user/${USER}/CROWN/ntuples/``. Within the ``CROWNRun`` folder, the different samples are stored, matching the ``///_.root`` pattern. - ``--sample-list``: The sample list to be used. The sample list can be generated by the ``sample_manager`` and contains the information about the samples to be processed. The sample nicks can also be provided as a comma-separated list. +- ``--nanoAOD-version``: The NanoAOD version to be used. This should usually be the same version that was selected in the ``sample_manager`` step. (default: ``nanoAOD_v12``) - ``--scopes``: The scopes to be used, provided as a comma-separated list (default: ``mt,et``). - ``--shifts``: The shifts to be used, provided as a comma-separated list (default: ``None``). If this parameter is not set, no shifts are applied. If ``All`` is provided, all shifts are applied, if ``None`` is provided, no shifts are applied. - ``--workers``: The number of workers to be used (default: ``1``). Each worker is responsible for the submission and handling of one sample. The number of workers should be at least the number of samples. If it is lower only the given number of samples will be processed at the same time and the additional samples will only be submitted when one of the already submitted samples is finished. @@ -195,7 +211,7 @@ For the production of friend trees, the same options as for the production of nt .. code-block:: bash - law run ProduceFriends --analysis template_analysis --config template_config --production-tag test_production_v1 --friend-config template_friend_config --friend-name test_friend_v1 --sample-list samples.txt --scopes mm --shifts None --workers 8 + law run ProduceFriends --analysis template_analysis --config template_config --production-tag test_production_v1 --friend-config template_friend_config --friend-name test_friend_v1 --sample-list samples.txt --nanoAOD-version nanoAOD_v9 --scopes mm --shifts None --workers 8 Some additional options are required: @@ -224,7 +240,7 @@ If the requested friend tree depends on additional friend trees the ``ProduceMul .. code-block:: bash - law run ProduceMultiFriends --analysis template_analysis --config template_config --production-tag test_production_v1 --friend-config template_multifriend_config --friend-name test_multifriend_v1 --friend-mapping '{"template_friend_config":"test_friend_v1"}' --sample-list samples.txt --scopes mm --shifts None --workers 8 + law run ProduceMultiFriends --analysis template_analysis --config template_config --production-tag test_production_v1 --friend-config template_multifriend_config --friend-name test_multifriend_v1 --friend-mapping '{"template_friend_config":"test_friend_v1"}' --sample-list samples.txt --nanoAOD-version nanoAOD_v9 --scopes mm --shifts None --workers 8 contains an additional option