Measuring the cross section of prompt
Aimed at providing measurement result for studying parton correlation in proton and background estimation for BSM searches.
Using CMSSW_13_0_2. Inherited most of the code from AliceQuen/Onia2MuMu. (cr. Qin Junkai at Dept. of Physics, Tsinghua University)
- Wang Chi (Eric100911), undergraduate at Zhili College, Tsinghua University.
- Cheng Xing, undergraduate at Zhili College, Tsinghua University.
- Shi Zhenpeng, undergraduate at Dept. of Physics, Tsinghua University.
Supervised under Prof. Hu Zhen at Dept. of Physics, Tsinghua University.
-
Match
$\mu^+\mu^-$ pairs using vertex fitting. (Track geometry only.) -
Create
$J/\psi$ and$\Upsilon$ candidates using$\mu^+\mu^-$ pairs. (Dynamics required. Mass window, pT selection and other restrictions required.) -
Matching
$J/\psi$ and$\Upsilon$ candidates from one single vertex . (Track geometry only. May check$c\tau$ distribution.)
-
void LoadMC()
Load MC results ifdoMC == true
. - Some other code for initialization
- Import trigger results and save for possible trigger matching.
- Harvest muons from tracks. Loop over muon pairs.
- For muon pair candidataes, apply a crude selection with "opposite-charge criterion" and mass window cut. ( For
$J/\psi$ , consider mass range$[1.0, 4.0]$ . For$\Upsilon$ , consider mass range$[8.0, 12.0]$ . ) - Apply kinematic fitting for each pair to vertices.
- Store valid muon pairs by category. (
$J/\psi$ or$\Upsilon$ ) - Use non-overlapping muon pairs to form
$J/\psi$ and$\Upsilon$ candidates. (Careful not to directly store iterators! Use pointers instead.) - Store the candidates and corresponding muon pairs.
git pull
Pull the latest changes from the remote repository.git add .
Add all files to the staging area after making changes.git commit
Commit the changes. A text editor will pop up for you to write the commit message. Alternatively, you can usegit commit -m "<message>"
to write the message directly.git push
Push the changes to the default remote repository. (Usuallyorigin
.)
git branch
List all branches. The current branch is marked with a*
.git branch -a
List all branches, including remote branches.git branch -c <branch>
Create a new branch named<branch>
. It will be created from the current branch.git checkout <branch>
Switch to the branch named<branch>
. Alternatively, you can usegit switch <branch>
.git switch -c <branch>
A shortcut: create a new branch named<branch>
and switch to it.git branch -d <branch>
Delete the branch named<branch>
. Use-D
to force deletion.git merge <branch>
Merge the branch named<branch>
into the current branch.
git remote
List all remote repositories.git remote add <name> <url>
Add a new remote repository named<name>
with URL<url>
.git remote remove <name>
Remove the remote repository named<name>
. This only removes the remote repository from the local repository's configuration. It does not delete the remote repository itself.git push <name>
Push the changes to the remote repository named<name>
. This is useful when you have multiple remote repositories. In this project, we useorigin
andTsinghua
. The former is on GitHub, while the the latter is a mirror repository on Tsinghua's GitLab. They are kept in sync by the project maintainers.git push --set-upstream <name> <branch>
Push the changes to the remote repository named<name>
and set the upstream branch to<branch>
. This is useful when you are pushing to a new branch on the remote repository.
- Always do
git pull
before starting off today's work! - To do some development from someone else's work, consider using
git switch -c <branch>
to begin your own work on a separate branch. - After finishing your work, do
git push --set-upstream <name> <branch>
to push your work to the remote repository<name>
. - To merge your work into the main branch, access the remote repository and create a pull request. The project maintainers will review your work and merge it into the main branch.