Home
Welcome to the wiki for lhcb-ntuples-gen
, the repository that generates the
ntuples for some LHCb analyses at UMD, currently just run 2 \(R(D^{(*)})\)
analysis. In this section, you'll find useful information for installing the
required dependencies for this project, as well as the usage of some tools,
such as git-annex
, that will be used in this project.
Generation of analysis ntuples
The ntuples1 generation is separated into:
- STEP 1: Use LHCb's
DaVinci
to generate ntuples from raw LHCb data2. Follow this section to install required programs. Use this manual to learn how to useDaVinci
locally. Follow this section to learn submittingDaVinci
jobs to the GRID. - STEP 2: Use
babymaker
frame work to do slimming, skimming, and additional calculation on previous ntuples, generating new ntuples. Follow these two sections for installation. A general guide for generating step-2 ntuple can be found here.
Note
These two steps have separate dependencies. If you only need to run one step, just follow the installation instruction for that particular step.
Info
- The step-1 and step-2 ntuples have the following naming conventions.
- For some tips on the general development of this project, see here
Directory structures
.
├── archive # storage for plots, csv, and some old code
├── docs
├── ganga
├── gen # output produced by make rules, e.g. ntuple, cutflow MD
├── include # headers
│ └── functor
│ └── rdx # RDX-specific headers
├── lib
│ └── python # Python submodules, e.g. pyBabyMaker
├── ntuples # storage for (mostly) GRID-produced ntuples
├── postprocess
│ ├── cpp_templates # C++ templates for babymaker
│ ├── rdx-run1
│ ├── rdx-run2
│ ├── ref-rdx-run1 # For Phoebe's sample ntuples
│ └── skims # For branch removal at lxplus level
├── run1-rdx # DaVinci scripts, sample ntuples for RDX run 1
├── run2-rdx # ^^^^ for RDX run 2
├── scripts # plotting, cutflow, and utility scripts
├── studies # One-off studies
└── workflows # workflows for ntuple production, cutflow, etc.
└── rdx
Modifying this wiki
This wiki is written in a series of markdown files (.md
) committed to the
docs
folder of the
lhcb-ntuples-gen
repository. The structure of the wiki is defined in
mkdocs.yml
.
This file contains the title of each page in the wiki, and the markdown file
that defines that page.
To modify the wiki just modify mkdocs.yml
or the .md
files, and commit the
changes to the repo. In about a minute Github Action will deploy the new
website to
https://umd-lhcb.github.io/lhcb-ntuples-gen/.
To view the website locally (for instance, before committing), you will need to
install mkdocs
and the material
theme
pip install --user -r docs/requirements.txt
lhcb-ntuples-gen
you generate the website at the local address
http://127.0.0.1:8000 with the command
mkdocs serve
Note
If you have problems installing mkdocs
, you can also install it and run it inside
nix with
nix develop # Enter the nix shell in lhcb-ntuples-gen
pip install -r docs/requirements.txt
Version control systems (VCS)
This project requires the following VCS to be installed in your system:
git
: for source code version controlgit-annex
(that supportsv7
repository format): for data file version control
To install these programs, please follow this section.
In addition, we provide a brief introduction on the usage of git-annex
.