BaskeAnaTool
“BaskeAnaTool” means a basket of ana useful tools. You can use it to submit jobs to the computer servers, also generate simulation jobs, check the jobs status, check the whether the jobs is successful according to the job log files.
The package based on Python works independent of BOSS, but facilitates for instance MC simulation. The package can be obtained from GitHub: github.com/xxmawhu/BaskeAnaTool
Before using the package, have a look at its README. There is also a Chinese version.
How to install
First, you need to clone the repository from “github.com”
git clone https://github.com/xxmawhu/BaskeAnaTool.gitThe environment configuration is set well in the “setup.sh”, you need to source it.
source BaskeAnaTool/setup.shFor the shell with tcsh users, there is one “setup.csh” file achieving same effect.
source BaskeAnaTool/setup.cshWhat does the basket contain?
- submit jobs flexible
..
For example, assuming you are now at directory “jobs”, after “ls”, you find many jobs need to be submitted.
jobs_ana_001.txt jobs_ana_004.txt jobs_ana_007.txt jobs_ana_010.txt
jobs_ana_002.txt jobs_ana_005.txt jobs_ana_008.txt jobs_ana_011.txt
jobs_ana_003.txt jobs_ana_006.txt jobs_ana_009.txt jobs_ana_012.txtNow, you only need one command
Hepsub -txt *.txtIf you find many jobs allocated in different directories at the “jobs”. Also one command is enough
Hepsub -txt -r .Don’t forget tye ., which denotes the current directory. You also can specify the file type, execute method, and submit way.
Hepsub type="C, Cpp, cxx" exe="root -l -b -q" sub="hep_sub -g physics"Look into github.com/xxmawhu/BaskeAnaTool for more details.
Doing MC simulation is quite flexible. The following command is typical usage:
SimJpsi [decay.card] [number of events]You can enjoy the physics and forget all dirty bash script!
Write the following into one file, for example doSim.py
#!/usr/env python
import SimAndRec
from SimAndRec import util
svc = SimAndRec.process("sim.txt","rec.txt")
if len(util.getArv()) == 0:
svc.Make()
svc.Sub()
elif '-make' in util.getArv():
svc.Make()The you can use doSim.py now
python doSim.py [decay.card] [number of events]It’s also recommended to put
alias SimDIY='python /path/to/doSim.py'into your configuration file, once you use doSim.py frequently. Look into BaskeAnaTool/SimAndRec/gen.py for simpler way to generate your DIY command.
Generate and submit typically BOSS event selection jobs. There is one class
anain moduleBes. Main features:setJobOption() addDataSet() addcut() make() sub()You can find some examples in the directory
BaskeAnaTool/tutorialsRunning
ana_Psi2S_inc.py, feeling it more directly.