Difference between revisions of "SRC-CT Software"

From GlueXWiki
Jump to: navigation, search
(SRC GlueX analysis)
(Reconstruction)
 
(22 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
+
  
'''Run'''
+
Simulation results are stored in directories under:
  
Navigate to ''build/programs/genPhoto''
+
/cache/halld/home/src-ct/simulation
  
./genPhoto [Z] [N] [outputFile.root] [# of prescribed events]
+
Raw simulation output, in *.dat and *.hddm format, is stored under:
  
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.
+
/cache/halld/home/src-ct/simulation/raw
  
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.
+
GEANT output includes both "smeared" and unsmeared *.hddm files. "Smeared" files should always be used in reconstruction. These are stored under:
  
== ''' SRC GlueX analysis ''' ==
+
/cache/halld/home/src-ct/simulation/geant
  
'''Repository: '''
+
Reconstruction output includes ROOT tree files resulting from reconstruction plugins. These are stored in:
  
[https://github.com/JacksonPybus/GlueX_SRC_analysis/ https://github.com/JacksonPybus/GlueX_SRC_analysis/]
+
/cache/halld/home/src-ct/simulation/reconstructed
  
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
+
=== Data Files ===
  
 +
ROOT trees from the 1p1pi1pi0 monitoring plugin are stored in:
  
'''How to Compile:'''
+
/cache/halld/offline_monitoring/RunPeriod-2021-08/ver01/tree_1p1pi1pi0/
  
Navigate to a build directory of your choice (e.g. GlueX_SRC_analysis/build)
+
=== Monitoring Plots ===
  
ccmake [path to]/GlueX_SRC_analysis/src
+
=== Other Directories ===
make
+
  
'''Programs'''
+
A common installation of the analysis script repository is installed at:
 +
 +
/work/halld2/home/src-ct/HallD_SRC-CT_Analysis
  
''resampler'': This program is used to convert ROOT files from our event generators to the ASCII format required by Geant. It serves three functions:
+
'''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.'''
* 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 hadrons is performed in this program in order to provide Geant with appropriate particles for propagation.
+
  
The usage is:
+
== Event Generation and Simulation ==
  
./resampler <input.root> <output.txt> <# of events in the output file>
+
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].
  
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''.
+
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]
  
== ''' Hall D Software ''' ==
+
== Hall D SRC-CT Analysis ==
  
''' GlueX Software Page '''
+
=== Repository: ===
  
https://halldweb.jlab.org/wiki/index.php/GlueX_Offline_Software
+
[https://github.com/mit-henlab/HallD_SRC-CT_Analysis https://github.com/mit-henlab/HallD_SRC-CT_Analysis]
  
 +
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: ===
  
'''Repository: '''
+
'''Note that compilation is only necessary for using the resampler to produce simulation. Analysis scripts can be used without compiling.'''
  
* Reconstruction:
+
Navigate to a build directory of your choice (e.g. HallD_SRC-CT_analysis/build)
  
:: https://github.com/jeffersonlab/halld_recon
+
ccmake [path to]/HallD_SRC-CT_analysis/src
 +
make
  
* Simulation:
+
=== Programs ===
  
::https://github.com/jeffersonlab/halld_sim
+
''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.
  
Geant Geometry
+
The usage is:
  
::https://github.com/jeffersonlab/hdds
+
./resampler <input.root> <output.dat> <# of events in the output file>
  
& Install software:
+
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''.
  
git clone https://github.com/jeffersonlab/halld_recon
+
== Hall D Software ==
  
 +
''' GlueX Software Page '''
  
<u>'''How to run '''</u>
+
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 https://github.com/jeffersonlab/halld_recon]
  
''' Compile plugin '''
+
To install:
  
  scons -u install
+
  git clone https://github.com/jeffersonlab/halld_recon
  
''' Location of data '''
+
== Location of GlueX Data ==
  
 
List of runs:
 
List of runs:
Line 101: Line 110:
  
 
  /cache/halld/RunPeriod-2019-01/rawdata/Run061914/hd_rawdata_061914_*.evio
 
  /cache/halld/RunPeriod-2019-01/rawdata/Run061914/hd_rawdata_061914_*.evio
 
  
 
Data on tape:
 
Data on tape:
Line 111: Line 119:
 
  jcache get /mss/halld/RunPeriod-2019-01/rawdata/Run_number/*.evio
 
  jcache get /mss/halld/RunPeriod-2019-01/rawdata/Run_number/*.evio
  
 
+
See [https://halldweb.jlab.org/wiki/index.php/List_of_useful_runs list of useful runs]
''' Examples: '''
+
 
+
<u>Convert ASCII file to the hddm format (Gluex Simulation format) </u>
+
 
+
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.
+
 
+
 
+
<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)
+
 
+
 
+
<u>Recontruction </u>
+
# 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