Skip to content

Berylbell/RamseyCycle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

I. INTRODUCTION

This collection of scripts has been designed for use with PENTrack and tested on the Compute Canada Cluster Jasper. These scripts facillitate the running of a Ramsey Resonance method by generating the subdirectories and the batch submission scripts that the user would normally have to write individually. The types of scripts can be considered based on the steps of the simulation process. First the ramsCycle.py script will allow the user to generate the file subsystems and submit the large number of jobs that one needs to run to perform a ramsey cycle. The mergeAll.sh script will process the output of these batch submissions after the simulations have finished their runs. Finally the plotRams.py provides a sample of how one would analyze the resultant data.

II. REQUIREMENTS

This code runs with PENTrack as of August 10th 2017. The python scripts are written for Python 2 and have been tested with Python 2.7.9 and with Root version 5.34/19.

III. GENERATING FILESYSTEM

The generation of the ramsey cycle file system relies on the existance of a properly configured template directory. A good naming convetion for these template directories is "Template_testDesciptor". Properly configured means a few things. First the STL files that the simulation uses should not be stored in the template directory. Rather they should be stored in a directory with an absolute path from the PENTrack executable that can be simply refrenced. The template directoy should contain the three .in files: particle.in, config.in, and geometry.in. These configuration files should be checked prior to running the ramsCycle.py script to ensure that they function properly. Then, in the geometry.in file, the user should replace the frequency input with the string "InputFrequency" in all the locations that they want the frequency to the swept over. An example of a template can be seen in the Template_example directory.

Once the template is properly configured, one can run the script, ramsCycle.py , with the command:

python ramsCycle.py

This script will lead the user through the setting of the range for their ramsey cycle. The inputs include the start and end frequencies, and how many steps the cycle will measure between those frequencies. Additionally the user will specify at this point where they want the output from their ramsey cycle to go. A good naming convention for this top level directory is "testDescription_rangeDescriptor". This way the results can be easily matched to the templates which they came from.

The script will then prompt the user to decide if they want the filesystem generated, the batch scripts written, and finally the batch scripts submitted. It should be noted that the script will not check if the user has exceeded the submission limits for the cluster that they are running the simulation on. It is up to the user to ensure that they do not exceed this limit.

IV. MERGING FILES

After the jobs have finished running there will be a large number of output files in seperate foldering. The user may choose to investigate the results of a certain frequency individually, but in the case that one would like to do a mass analysis, some tools have been made to simplify the merging and download process. Withing the top level directory generated by the ramsCycle.py script, one should place the mergeAll.sh and the merge_all.c files. Then execute the command:

source mergeAll.sh

This will result in the script opening all the files with the _out suffix, merging their contents into a .root file named by the frequency of the output, then moving all of those .root files into a directoy called /all , for easy download from the cluster. This process can take a while if one has submitted a cycle with a large number of steps.

V. ANALYSIS

After the ramsey cycle has sucessfully been run and the output files have been downloaded, one can perform their analysis. Several python scripts with examples of how to handle the output data have been provided.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published