This is the GEANT4 simulation code for Pinpoint, a pixel-based neutrino detector concept for the FASER Run 4 upgrade.
This code is based off the FPFSim GEANT4 simulation written by Matteo Vicenzi and Wenjie Wu.
This code can be compiled on lxplus or any Alma Linux9 machine with cvmfs access. To install this code do:
git clone https://github.com/PinpointDetector/Pinpoint_G4.git
cd Pinpoint_G4
source Pinpoint/setup.sh
mkdir build && cd build
cmake ../Pinpoint
make -j 8In case your machine is not suitable, you can compile and run the code in a Docker container. An el9 Docker container which mimics the lxplus environment is available from DockerHub.
A repository containing a script to easily run the container and mount cvmfs is available from github.com/benw22022/el9-cvmfs-docker
To get started do:
git clone https://github.com/benw22022/el9-cvmfs-docker.git
cd el9-cvmfs-docker/
./run_container /path/to/Pinpoint_G4There are a number of user defined macro commands which can be used to control the simulation.
| Command | Description | Default |
|---|---|---|
/det/setTungstenThickness |
Tungsten sheet thickness in mm | 5 mm |
/det/setSiliconThickness |
Silicon layer thickness in $\mu$m | 50 um |
/det/setBoxThickness |
Silicon box (filled with air) thickness in mm | 5 mm |
/det/setNLayers |
Number of tungsten/pixel layer | 100 |
/det/setPixelHeight |
Set the height of an individual pixel in $\mu$m | 22.8 um |
/det/setPixelWidth |
Set the width of an individual pixel in $\mu$m | 20.8 um |
/det/setDetectorWidth |
Set the width of the detector in cm | 26.6 |
/det/setDetectorHeight |
Set height of the detector in cm | 19.6 |
/det/setGDMLFile |
Set the output file for the gdml file |
pinpoint.gdml |
| Command | Description |
|---|---|
| /out/fileName | option for AnalysisManagerMessenger, set name of the file saving all analysis variables |
| /out/saveTrack | if true save all tracks, false by default, requires \tracking\storeTrajectory 1 |
| /out/saveTruthHits | if true save truth hit x, y, z position, false by default |
- Geometry (Dhruv)
- Add scintillator layers
- Check deposited energy (smear with Landau distribution)
- Add messenger to enable/disable from macro files
- Neutrino Interactions (Tobi)
- Set z-position of vertex to random position within one layer
- Check charm decays (Tobi)
- Output (Ben)
- Add parent track id, or write out tau decay products
- Check file size including true position of all particles
- Add HTCondor submission script
