Production Tags

Overview

This page describes the process to make a new reconstruction or simulation tag. These operations have been performed in the fasermc or faserrec service accounts, but in principle can be done by any FASER user.

We define simulation tags and reconstruction tags based on their purpose, but there is no technical difference between these two types of tags. They are both just git tags of calypso that provide a frozen release for running production jobs.

Information about available tags can be found at FaserReleases.

Tag Creation

To produce a tag, you only need to use calypso gitlab. Make sure you are using the faser/master not your own personal master, and make sure the actual master (or branch) you are tagging has been validated! Use the Repository / Tag menu and look at the previous tags to find the next number for the tag you want to create. The New tag button will allow you to produce a new tag. It is helpful to enter both a brief description of the tag in the Message field, but also a more detailed list of updates in the Release Notes box. These release notes will show up on the gitlab releases page. Please also add an entry for any new tag on the FaserReleases page!

* Navigate to a calypso release directory. For simulation, this is fasermc@lxplus:Work/mc22/dev. For reco this is faserrec@lxplus:work/proc-dev/dev. * Make sure that everything in the release directory is up to date and ready to go in origin/master

* Switch to the fasermc-simtag or faserrec-recotag branch and pull from origin/master * Make sure the following files are using a named production DB release, not current. Searching in gitlab is a good idea. * asetup.faser * Database/ConnectionManagement/FaserAuthentication/data/dblookup.xml * Control/CalypsoExample/Reconstruction/scripts/faser_reco.py * Push any changes if necessary (don't push directly to master) * Make sure this passes the CI * Go to gitlab and select "Create new tag". Use the branch above as the basis for the new tag, and add some release notes. The commits log is useful. * Update the FaserReleases TWiki page * Switch back to master in the release directory to avoid forgetting to do this later!

Installing Production Tag

Once a tag is created, it needs to be installed on the production fasermc or faserrec account area. Authorized users can just ssh into lxplus with the appropriate userid. Most of the MDC sim/digi/reco is being organized from the /afs/cern.ch/user/f/fasermc/Work/mdc directory. To create a new tag installation, I use the following recipe (here for the sim/s0002 tag):

setupATLAS
mkdir s0002; cd s0002
git clone --recursive https://:@gitlab.cern.ch:8443/faser/calypso.git
cd calypso
# Only needed if tag created after git clone operation above
# git remote add upstream https://gitlab.cern.ch/faser/calypso.git
# git fetch upstream
git checkout sim/s0002
cd ..
fsetup Athena,22.0.49
mkdir build;cd build
cmake -DCMAKE_INSTALL_PREFIX=../run ../calypso ; make ; make install

The tag installation is also known as a "detached head" meaning it is really like a point release. You can make local modifications to the files (which could be useful for quick patches to scripts or config files) but in general any code changes should be made elsewhere and merged back into the master so a new tag can be created.

In addition to the calypso, run, and build directories, you should install the MonteCarloProduction package which holds the condor submission scripts.

git clone https://:@gitlab.cern.ch:8443/faser/offline/mcp.git
It is also worth creating a submit directory where condor job submission logs and other useful stuff can be stored. Also, please put a README in the main release directory giving some indication of what this release was created for.

Simulation and Digitization tags

Ideally, both simulation and digitization can be done with the same simulation tag (sXXXX). In case digitization is updated, a digi tag (dXXXX) can be created. It is possible to also do sim/digi steps with a reconstruction (rXXXX) tag.

Reco tags

Prompt reconstruction tags (pXXXX) use the current version of the conditions available on cvmfs. Reco tags (rXXXX) should use frozen versions of the conditions. If the conditions have changed, you will need to create a new point release on cvmfs, and also update the specific directory used in dblookup.xml. To avoid confusion in the master branch, I have created a recotag branch for this. So check out this branch, merge the current head, update dblookup.xml, push this branch, and make the reco tag from this branch instead of master. Note that the ACTS geometry file is also currently specified in the faser_reco.py script, so this must also be updated if that file has changed.

-- EricTorrence - 2022-12-08

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2022-12-08 - EricTorrence
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    FASER All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback