umd-lhcb / lhcb-ntuples-gen

ntuples generation with DaVinci and in-house offline components
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Add a "prot" skim for Lambda_b study #113

Open yipengsun opened 2 years ago

yipengsun commented 2 years ago

@Svende Let's track our prot skim for Lambda_b progress in this issue.

Project initialization and/or update

Note that the skim cuts are defined in this repo, NOT in rdx-run2-analysis, so:

If you don't have this project locally, first clone the project (skipping git-annex setup for now until Mon):

git clone git@github.com:umd-lhcb/lhcb-ntuples-gen.git

Make sure to use the git@ protocol, NOT HTTPS.

Then, try a pull the latest code with the follow sequence and see if there's merge conflicts (there shouldn't be)

git pull
git submodule update --init --recursive
nix develop

In the resulting shell, type:

make install-dep

(Same sequence also documented at https://umd-lhcb.github.io/lhcb-ntuples-gen/ntupling/installation).

If the steps above works, you can start to identify the cuts required for this prot skim, and you can put those cuts in

https://github.com/umd-lhcb/lhcb-ntuples-gen/blob/master/include/functor/rdx/skims.h

As a separate skim cut function, say FLAG_PROT. Once that is done, I can integrate that into our workflow.

Running over a small test sample

First, synchronize with annex repo:

git annex sync

Now, get required ntuples for small-scale testing (running this on the project root of lhcb-ntuples-gen):

git annex get ntuples/0.9.6-2016_production/Dst_D0-std/Dst_D0--22_02_07--std--LHCb_Collision16_Beam6500GeV-VeloClosed-MagDown_Real_Data_Reco16_Stripping28r2_90000000_SEMILEPTONIC.DST/Dst_D0--22_02_07--std--LHCb_Collision16_Beam6500GeV-VeloClosed-MagDown_Real_Data_Reco16_Stripping28r2_90000000_SEMILEPTONIC.DST--000-*.root

Now, go into nix shell with nix develop, then run:

make rdx-ntuple-run2-data-demo

The generated ntuple will be in gen/rdx-ntuple-run2-data-demo/ntuple

yipengsun commented 2 years ago

Svende's having problems on install Python dependencies. I think this must have something to do with ipyopt and nlopt not available on macOS.

I'll find a way to disable these optional dependencies.

yipengsun commented 2 years ago

Related: https://github.com/zfit/zfit/issues/373

CoffeeIntoScience commented 2 years ago

For his study on the Proton sample Greg added a cut at the last minute for P > (threshold for protons in C4F10... I think 17.7 GeV?). I think it's definitely the right idea, and clearly cleans out the B_s-> D_s** [->DK]munu background this sample has by default (due to low-momentum K vs p decisions being ambiguous). But I think Greg's is more aggressive than needed

If you do p > 9.3 GeV (or just p > 10 GeV), then you will have the track above the Kaon threshold so that you have a definite bit of veto information from RICH1 (anything with associated cherenkov photons is a K, pi, mu or e, and not a p), which the NNp should definitely be good at latching on to