Quick Start
Estimated reading time: 4 minutesPrepare the CEPC Software
There are several methods to use CEPC software.
- Use
CVMFS
. This is the recommended way to use CEPC software because of simplicity. Here the CEPC software are centrally installed onCVMFS
server. There is nothing to do if you are going to use it on lxslc6, or you need to install theCVMFS
client to mount them on the local machine. - Full installation. This will install all the packages of CEPC software by compiling from the source. It is able to deploy the full CEPC software on your local PC.
- Use docker image.
It is similar with the
CVMFS
method except that theCVMFS
client and configuration are integrated in the docker image.
You can choose one or more methods for your situation. For a full installation, you can fully control where you would like to put them, e.g., on a shared file system. For the
CVMFS
method, you do not need to install each version for every new release. But be sure that theCVMFS
clients are installed on all the machines running CEPC software. The docker image could be the most convenient way for personal use.
Setup CEPC Software Environment
Here we use the CEPC software on CVMFS as example.
Once there are available CEPC softwares installed, you can start to use
them. Make sure the software_root
in file ~/.cepcenv.conf
is
properly set before next steps.
Initialize CEPCEnv
first:
source /cvmfs/cepc.ihep.ac.cn/software/cepcenv/setup.sh
List all installed CEPC software versions:
$ cepcenv ls
(Software root: "/cvmfs/cepc.ihep.ac.cn/software/cepcsoft")
0.1.0
0.1.0-rc9
Select the CEPC software version you would like to use:
cepcenv use 0.1.0
You can also set it as a default version. The default version will be
automatically selected when CEPCEnv
initialization is done.
cepcenv use --default 0.1.0
Then the CEPC software environment should be correctly configured. Try some commands to verify:
echo $CEPCSOFT
echo $CEPCSOFT_VERSION
echo $Arbor_HOME
gcc --version
echo $ROOTSYS
root -b
Test CEPC Software
Download the test example from http://cepcgit.ihep.ac.cn/cepcsoft/TestExample.
Replace the USERNAME
with yours on CEPC Gitlab.
git clone http://USERNAME@cepcgit.ihep.ac.cn/cepcsoft/TestExample.git
cd TestExample
./run_all.sh
This will run simulation and reconstruction, then draw the total mass
distribution. The output files could be found in the output
directory.
Simulation
Before starting simulation, the generator file should be prepared. The existing samples could be found according to this page.
Consider the TestExample
from the last section, the sim
directory contains scripts for doing
full simulation with Mokka
.
There are two files simu.macro
and event.macro
. simu.macro
is the
main script for describing the simulation details.
/Mokka/init/BatchMode true
/Mokka/init/printLevel 2
/Mokka/init/detectorModel CEPC_v4
/Mokka/init/dbHost 202.122.37.75
/Mokka/init/user consult
/Mokka/init/dbPasswd consult
/Mokka/init/lcioFilename ../output/nnh_e2e2_sim.slcio
/Mokka/init/initialMacroFile event.macro
/Mokka/init/lcioDetailedShowerMode true
/Mokka/init/userInitBool WriteCompleteHepEvt true
/Mokka/init/lcioWriteMode WRITE_NEW
/Mokka/init/lcioStoreCalHitPosition true
/Mokka/init/lcioDetailedTRKHitMode TPCCollection
/Mokka/init/randomSeed 10000000
The output slcio file location should be put in the line
starting with /Mokka/init/lcioFilename
.
There is also a necessary file event.macro
whose name is specified
on the line /Mokka/init/initialMacroFile
:
/generator/generator ../stdhep/nnh_e2e2.e0.p0.00001.stdhep
/run/beamOn 10
This file includes the input generator file location and the event number which will be simulated.
In order to get the total number of the stdhep
file, use the
lcio_event_counter
command:
lcio_event_counter nnh_e2e2.e0.p0.00001.stdhep
Run the full simulation with the following command:
Mokka simu.macro
There is also a file GearOutput.xml
generated which includes the
detector parameters. This file will be used in the reconstruction step.
Reconstruction
Also from the TestExample
, the rec
directory includes the script
reco.xml
for reconstruction. This is a Marlin
steer file.
The input slcio
file from the simulation step:
<global>
<parameter name="LCIOInputFiles">
../output/nnh_e2e2_sim.slcio
</parameter>
</global>
The reconstruction event number:
<parameter name="MaxRecordNumber" value="-1"/>
Here -1
means all the events from input file.
The output reconstructed slcio
file location:
<processor name="MyLCIOOutputProcessor" type="LCIOOutputProcessor">
<parameter name="LCIOOutputFile" type="string" >
../output/nnh_e2e2_rec.slcio
</parameter>
</processor>
Run the reconstruction with Marlin
:
Marlin reco.xml
Event Display
The event could be displayed using Druid
optionally with the detector
geometry.
Druid nnh_e2e2_rec.slcio
Please refer to the detailed usage of Druid
.
Analysis
The analysis package includes a Marlin
processor in order to access the ArborPFOs
collection from reconstructed slcio
file.
For a detailed example, please see vvHmumu.