Tutorial for DAMPE Analysis
[toc]
0. Preface
use of Visual Studio Code
We strongly discourage the use of VSCode as a remote editor. The VSCode server application, that is always and surreptitiously installed on the remote servers, consumes a significant amount of RAM, swap, and home disk memory (du -hsx ~/.vscode-server
) on the remote machine, leading to slowness, performance issues, and even malfunctions impeding the work of other users.
Step 0. Ask supervisor to add you to the mailing list of DAMPE and ask for the permission to the DAMPE Twiki
Step 1. https://www.ac.infn.it/associazioni/PaginaPubblicaAssociazioni/index.html
Sign Up → IoA1 → User Portal → Identical Verification via web meeting and upload your password → loA2 → E-Learning Course (Network Security) → Passed → Gestione Associazioni → Affiliation Process and Sign Contract
Step 2. EDH-account for CERN
Supervisor approve → pre-registration → E-Learning Course (Network Security) → Passed
Step 3. CNAF-INFN account https://www.cnaf.infn.it/en/users-faqs/
Fill the form → Get your reference person in CNAF → submission
Usefull Shortcuts
- PMO Indico Page
- DMPSW code info (user:tutorial, pwd:tutorial)
- DAMPE Twiki - home (reference for any doubt)
- SimulationGroup info DAMPE CR nuclei MC production
- MC Statistics
- [Shift] (https://docs.google.com/spreadsheets/d/1khi1yaOGAAdarkfonenVrifoB40HFYax7ghw7gN2qos/edit?gid=1049189058#gid=1049189058)
- DAMPE publications
1. Build your workflow
Windows: MobaXterm (Terminal), VSCode
MacOS (Apple Silicon): Terminal, VSCode
Build VsCode workflow
Step1. Go to the path /username/.ssh
cd /username/.ssh
Step2. Create the public key and private key via the command in the Terminal (Windows or Mac)
# /username/.ssh
ssh-keygen
This command will produce the public key XXX.pub
and the private key xxx
. The private key you should key by yourself, and the public key you could distribute it to others, such as the remote computation farm we login. ! Generating public/private ed25519 key pair !
Step3. Create a file name config
under the path /username/.ssh
and save it.
# /username/.ssh/config
Host bastion
HostName bastion.cnaf.infn.it
User xiongzheng
IdentityFile ~/.ssh/xxx # private key
ForwardX11 yes
ForwardX11Trusted yes
Host cnaf-dampe
HostName ui-tier1.cr.cnaf.infn.it
ProxyCommand ssh bastion -W %h:%p
User xiongzheng
IdentityFile ~/.ssh/xxx # private key
ForwardX11 yes
ForwardX11Trusted yes
Host dampe-workflow
HostName dampevm1.unige.ch
ProxyCommand ssh cnaf-dampe -W %h:%p
User workflow
IdentityFile ~/.ssh/xxx # private key
ForwardX11 yes
ForwardX11Trusted yes
Step5. login the farm and save the content of public key xxx.pub
under the file ~/.ssh/authorized_key
. Then change the mode of the path ~/.ssh/
and file ~/.ssh/authorized_key
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_key
The order of dealing with the farms:
bastion.cnaf.infn.it
ui-tier1.cr.cnaf.infn.it
dampevm1.unige.ch
Build Termial Workflow
local
,bastion
, and cnaf-dampe
hosts generate public and private keys using ssh-keygen.
The public key authentication chain is as follows:
- Add
local
’s public key to the ~/.ssh/authorized_keys file on hostbastion
. - Add
bastion
’s public key to the ~/.ssh/authorized_keys file on hostcnaf-dampe
. - Add
cnaf-dampe
’s public key to the ~/.ssh/authorized_keys file on hostdampe-workflow
.
Done.
- Design of Data Structure
B4.root
├─particleName (1-proton, 2-deurteron)
├─energy (Mev)
├─Layer0 E dep(MeV)
├─Layer1 E dep(MeV)
├─...
├─Layer13 E dep(MeV)
├─Total E dep(MeV)
├─Layer0 Track Length(mm)
├─Layer1 Track Length(mm)
├─...
├─Layer13 Track Length(mm)
├─Total Track Length(mm)
├─First_Depth (mm)
├─First_Layer
├─First_Type (0-electromagntic, 1-hadronic, 3-others)
└─First_Second (number of Secondaries)
|<----layer 0---------->|<----layer 1---------->|<----layer 2---------->|
| | | |
==========================================================================
|| | || | || | ||
|| | || | || | ||
beam || absorber | gap || absorber | gap || absorber | gap ||
======|| | || | || | ||
|| | || | || | ||
==========================================================================
Geant4 manual installation on macOS
http://geant4-dna.in2p3.fr/styled-6/styled-12/index.html
Cmake command to build
cmake -DCMAKE_INSTALL_PREFIX=/Users/xiongzheng/software/build/geant4-v11.3.0-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGEANT4_USE_GDML=ON -DXERCESC_ROOT_DIR=/opt/homebrew/opt/xerces-c -DGEANT4_USE_QT=ON -DGEANT4_INSTALL_EXAMPLES=ON -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_SYSTEM_EXPAT=OFF -DGEANT4_BUILD_TLS_MODEL=auto ../geant4
rm -rf build CMakeCache.txt CMakeFiles
mkdir build
cd build
comp ..
make -j10
X. Reference
[1] https://confluence.infn.it/spaces/TD/pages/40665299/INFN-CNAF+Tier-1+User+Guide+July+2024+-+v19
[2] http://afsapply.ihep.ac.cn/cchelp/zh/
[3] https://www.cnaf.infn.it/~usersupport/XrootD_SA.html
[4] https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks