SRC-CT Software

From GlueXWiki
Revision as of 11:57, 21 October 2021 by Jrpybus (Talk | contribs)

Jump to: navigation, search

SRC-CT Farm Directories

Directory Locations

"Working" directory is used for files that will change frequently, and is not backed up:

/work/halld2/home/src-ct/

"Cache" directory is used for long-term storage, and should not be changed frequently. It is backed up:

/cache/halld/home/src-ct/

"Volatile" directory is backed up, but shorter-term storage:

/volatile/halld/home/src-ct/

Simulation Results

Simulation results are stored in directories under:

/cache/halld/home/src-ct/simulation

Raw simulation output, in *.dat and *.hddm format, is stored under:

/cache/halld/home/src-ct/simulation/raw

GEANT output includes both "smeared" and unsmeared *.hddm files. "Smeared" files should always be used in reconstruction. These are stored under:

/cache/halld/home/src-ct/simulation/geant

Reconstruction output includes ROOT tree files resulting from reconstruction plugins. These are stored in:

/cache/halld/home/src-ct/simulation/reconstructed

Data Files

Monitoring Plots

Other Directories

A common installation of the analysis script repository is installed at:

/work/halld2/home/src-ct/HallD_SRC-CT_Analysis

This installation should not be used for development, but only for producing monitoring histograms and plots. Development should be performed on one's own installation and push to the GitHub repository, and pulled from there to the common installation.

GCF Generator

Repository:

https://github.com/JacksonPybus/GCF_Generator_Suite/

This is currently a private repository. If you do not have access, contact Jackson Pybus (jrpybus@mit.edu) and request to be added as a collaborator

Installation

Clone the repository via git:

git clone https://github.com/JacksonPybus/GCF_Generator_Suite/

Navigate to a build directory of your choice (e.g. GCF_Generator Suite/build). Source and make the repository:

ccmake [path to]/GCF_Generator/src
make

Usage

Navigate to build/programs/genPhoto. The generator executable can be run as follows:

./genPhoto [Z] [N] [outputFile.root] [# of prescribed events]

The output file will be a ROOT file with a tree of particle momentum, particle ID codes in PDG format, and event weights in units of nanobarns. Note that to determine the absolute cross section, it is necessary to divide by the prescribed number of events, rather than the written number of events.

Hall D software requires particle information to be provided in "HDDM" format to be used in propagation and reconstruction; these files must be converted to a compatible ASCII format by the use of the "resampler" program described in the following section.

SRC GlueX Analysis

Repository:

https://github.com/JacksonPybus/GlueX_SRC_analysis/

This is currently a private repository. If you do not have access, contact Jackson Pybus (jrpybus@mit.edu) and request to be added as a collaborator

How to Compile:

Note that compilation is only necessary for using the resampler to produce simulation. Analysis scripts can be used without compiling.

Navigate to a build directory of your choice (e.g. GlueX_SRC_analysis/build)

ccmake [path to]/GlueX_SRC_analysis/src
make

Programs

resampler: This program is used to convert ROOT files from our event generators to the ASCII format required by Geant. It serves three functions:

  • Formatting: The output file is in the appropriate ASCII format to be converted to an HDDM file.
  • Resampling: The input ROOT file contains weighted events; by sampling from these events with probabilities according to their weights, the program writes events in the output ASCII file which are unweighted. For this resampling to function properly, the ROOT file must include many more events (factor of ~1000) than the desired ASCII file.
  • Decay: The decay of off-shell or short-lived resonances is performed in this program in order to provide Geant with appropriate particles for propagation.

The usage is:

./resampler <input.root> <output.txt> <# of events in the output file>

The program will also give the "sum of weights of the events" (in nanobarns); in order to convert this to the cross section of sampled events, divide this by the prescribed number of events for the original ROOT file.

Hall D Software

Installation

GlueX Software Page

https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Software


Repositories:

  • Reconstruction:
https://github.com/jeffersonlab/halld_recon
  • Simulation:
https://github.com/jeffersonlab/halld_sim
  • Geant Geometry
https://github.com/jeffersonlab/hdds

To install software:

git clone https://github.com/jeffersonlab/halld_recon
[...]

Usage:

Convert ASCII file to the hddm format (Gluex Simulation format)

genr8_2_hddm input_file.txt

will create an output file input_file.hddm

You can copy genr8_2_hddm.cc from the directory below to your libs and recompile

/work/halld2/home/somov/SRC/src_lib/halld_sim/src/programs/Simulation/genr8_2_hddm

(or use the program from

/w/halld-scifs17exp/halld2/home/somov/SRC/src_lib/halld_sim/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/genr8_2_hddm)

Note that the standard genr8_2_hddm program is incompatible with ASCII files in which the beam energy has been preselected event-by-event; this version contains specific changes necessary for such files to be converted.

Process simulated events through Geant

  1. Copy files setenv.csh and control.in from /work/halld2/home/somov/SRC/src_geant to your dir
  2. Update directories in 'setenv.csh'
  3. source setenv.csh
  4. Geant is handled using control.in file. Update parameters (name of INPUT/OUTPUT files, number of events you want to process) in this file.
  5. hdgeant

(OUTPUT_smeared.hddm file will be created after processing events through Geant)

Reconstruct data/pseudodata

  1. Example of the reconstruction code in /work/halld2/home/somov/SRC/src_recon
  2. Copy to your directory, update setenv.csh
  3. source setenv.csh
  4. Compile scons -j16 install
  5. Run, see run file

Location of GlueX Data

List of runs:

https://halldweb.jlab.org/rcdb

on ifarms:

/cache/halld/RunPeriod-2019-01/rawdata/Run061914/hd_rawdata_061914_*.evio

Data on tape:

ls /mss/halld/RunPeriod-2019-01/rawdata/

Retrieve file from tape:

jcache get /mss/halld/RunPeriod-2019-01/rawdata/Run_number/*.evio

See list of useful runs