Difference between revisions of "SRC-CT Software"

From GlueXWiki
Jump to: navigation, search
(GCF Generator)
(Reconstruction)
 
(30 intermediate revisions by the same user not shown)
Line 1: Line 1:
== ''' GCF Generator ''' ==  
+
== SRC-CT iFarm Directories ==
  
'''Repository: '''
+
=== Directory Locations ===
  
[https://github.com/JacksonPybus/GCF_Generator_Suite/ https://github.com/JacksonPybus/GCF_Generator_Suite/]
+
"Working" directory is used for files that will change frequently, and is not backed up:
  
This is currently a private repository. If you do not have access, contact Jackson Pybus ([mailto:jrpybus@mit.edu jrpybus@mit.edu]) and request to be added as a collaborator
+
/work/halld2/home/src-ct/
  
 +
"Cache" directory is used for long-term storage, and should not be changed frequently. It is backed up:
  
'''<u>How to run</u>'''
+
/cache/halld/home/src-ct/
  
'''Compile'''
+
"Volatile" directory is backed up, but shorter-term storage:
  
Navigate to a build directory of your choice (i.e. GCF_Generator Suite/build)
+
/volatile/halld/home/src-ct/
  
ccmake [path to]/GCF_Generator/src
+
=== Simulation Results ===
  
make
+
Simulation results are stored in directories under:
  
'''Run'''
+
/cache/halld/home/src-ct/simulation
  
Navigate to ''build/programs/genPhoto''
+
Raw simulation output, in *.dat and *.hddm format, is stored under:
  
./genPhoto [Z] [N] [outputFile.root] [# of prescribed events]
+
/cache/halld/home/src-ct/simulation/raw
  
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.
+
GEANT output includes both "smeared" and unsmeared *.hddm files. "Smeared" files should always be used in reconstruction. These are stored under:
  
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 this format by the use of the "resampler" program described in the following section.
+
/cache/halld/home/src-ct/simulation/geant
  
== ''' Hall D Software ''' ==
+
Reconstruction output includes ROOT tree files resulting from reconstruction plugins. These are stored in:
  
''' GlueX Software Page '''
+
/cache/halld/home/src-ct/simulation/reconstructed
  
https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Software
+
=== Data Files ===
  
 +
ROOT trees from the 1p1pi1pi0 monitoring plugin are stored in:
  
 +
/cache/halld/offline_monitoring/RunPeriod-2021-08/ver01/tree_1p1pi1pi0/
  
'''Repository: '''
+
=== Monitoring Plots ===
  
* Reconstruction:
+
=== Other Directories ===
  
:: https://github.com/jeffersonlab/halld_recon
+
A common installation of the analysis script repository is installed at:
 +
 +
/work/halld2/home/src-ct/HallD_SRC-CT_Analysis
  
* Simulation:
+
'''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.'''
  
::https://github.com/jeffersonlab/halld_sim
+
== Event Generation and Simulation ==
  
Geant Geometry
+
Event generation and simulation is managed by Jackson Pybus. If a desired simulation file is not available in the common directories contact him at [mailto:jrpybus@mit.edu jrpybus@mit.edu].
  
::https://github.com/jeffersonlab/hdds
+
For detail on event generation and simulation see: [https://halldweb.jlab.org/wiki/index.php/SRC-CT_Simulation https://halldweb.jlab.org/wiki/index.php/SRC-CT_Simulation]
  
& Install software:
+
== Hall D SRC-CT Analysis ==
  
git  clone  https://github.com/jeffersonlab/halld_recon
+
=== Repository: ===
  
 +
[https://github.com/mit-henlab/HallD_SRC-CT_Analysis https://github.com/mit-henlab/HallD_SRC-CT_Analysis]
  
<u>'''How to run '''</u>
+
This is currently a private repository. If you do not have access, contact Jackson Pybus ([mailto:jrpybus@mit.edu 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. HallD_SRC-CT_analysis/build)
  
''' Compile plugin '''
+
ccmake [path to]/HallD_SRC-CT_analysis/src
 +
make
  
scons -u install
+
=== Programs ===
  
''' Location of data '''  
+
''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.
  
List of runs:
+
The usage is:
  
https://halldweb.jlab.org/rcdb
+
./resampler <input.root> <output.dat> <# of events in the output file>
  
on ifarms:
+
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''.
  
/cache/halld/RunPeriod-2019-01/rawdata/Run061914/hd_rawdata_061914_*.evio
+
== Hall D Software ==
  
 +
''' GlueX Software Page '''
  
Data on tape:
+
https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Software
  
ls  /mss/halld/RunPeriod-2019-01/rawdata/
+
=== Reconstruction ===
  
Retrieve file from tape:
+
The repository for Hall D reconstruction software is located at:
  
jcache get /mss/halld/RunPeriod-2019-01/rawdata/Run_number/*.evio
+
[https://github.com/jeffersonlab/halld_recon https://github.com/jeffersonlab/halld_recon]
  
 +
To install:
  
''' Examples: '''
+
git clone https://github.com/jeffersonlab/halld_recon
  
 +
== Location of GlueX Data ==
  
<u>Convert ASCII file to the hddm format (Gluex Simulation format) </u>
+
List of runs:
  
 +
https://halldweb.jlab.org/rcdb
  
'''genr8_2_hddm input_file.txt'''
+
on ifarms:
  
will create an output file input_file.hddm
+
/cache/halld/RunPeriod-2019-01/rawdata/Run061914/hd_rawdata_061914_*.evio
  
You can copy genr8_2_hddm.cc from the directory below to your libs and recompile
+
Data on tape:
  
/work/halld2/home/somov/SRC/src_lib/halld_sim/src/programs/Simulation/genr8_2_hddm
+
ls /mss/halld/RunPeriod-2019-01/rawdata/
  
(or use the program from  
+
Retrieve file from tape:
/w/halld-scifs17exp/halld2/home/somov/SRC/src_lib/halld_sim/Linux_CentOS7.7-x86_64-gcc4.8.5/bin/genr8_2_hddm)
+
 
+
 
+
<u>Process events through Geant </u>
+
 
+
# Copy files '''setenv.csh''' and '''control.in''' from  '''/work/halld2/home/somov/SRC/src_geant''' to your dir
+
# Update directories in  'setenv.csh'
+
#  '''source setenv.csh'''
+
# Geant is handled using '''control.in''' file. Update parameters (name of INPUT/OUTPUT files, number of events you want to process) in this file.
+
# '''hdgeant'''
+
(OUTPUT_smeared.hddm file will be created after processing events through Geant)
+
  
 +
jcache get /mss/halld/RunPeriod-2019-01/rawdata/Run_number/*.evio
  
<u>Recontruction </u>
+
See [https://halldweb.jlab.org/wiki/index.php/List_of_useful_runs list of useful runs]
# Example of the reconstruction code in '''/work/halld2/home/somov/SRC/src_recon'''
+
# Copy to your directory, update '''setenv.csh'''
+
# '''source setenv.csh'''
+
# Compile  '''scons -j16 install'''
+
# Run, see '''run''' file
+

Latest revision as of 10:54, 22 October 2021

SRC-CT iFarm 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

ROOT trees from the 1p1pi1pi0 monitoring plugin are stored in:

/cache/halld/offline_monitoring/RunPeriod-2021-08/ver01/tree_1p1pi1pi0/

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.

Event Generation and Simulation

Event generation and simulation is managed by Jackson Pybus. If a desired simulation file is not available in the common directories contact him at jrpybus@mit.edu.

For detail on event generation and simulation see: https://halldweb.jlab.org/wiki/index.php/SRC-CT_Simulation

Hall D SRC-CT Analysis

Repository:

https://github.com/mit-henlab/HallD_SRC-CT_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. HallD_SRC-CT_analysis/build)

ccmake [path to]/HallD_SRC-CT_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.dat> <# 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

GlueX Software Page

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

Reconstruction

The repository for Hall D reconstruction software is located at:

https://github.com/jeffersonlab/halld_recon

To install:

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

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