Here are the updated instruction of generating Monte Carlo for SpinQuest simulations and analysis

            The jobscript.sh should look like this:

#!/bin/bash

dir_macros=$(dirname $(readlink -f $BASH_SOURCE))
jobname=$1
njobs=$2
nevents=$3
echo "njobs=$njobs"
echo "nevents=$nevents"
work=/scratch/$USER/MC/$jobname
mkdir -p $work
chmod -R 01755 $work
cd $dir_macros

for (( id=1; id<=$njobs; id++ ))
do
mkdir -p $work/$id/
chmod -R 01755 $work/$id
cd $work/$id/
cp $dir_macros/*.C .
cp $dir_macros/*.cfg .
cp $dir_macros/*.txt .
cp $dir_macros/*.slurm .
sed -i "s/1234/$nevents/" Fun4Sim.C
echo "submitting job number = $id"
  sbatch grid.slurm

   Which will submit the job according to the grid.slurm script:

#!/bin/sh
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --time=6:00:00
#SBATCH --output=slurm.out
#SBATCH --error=slurm.err
#SBATCH --partition=standard
#SBATCH -A spinquest
export DISPLAY=:0.0
root -l Fun4Sim.C
root -l filter.C



Additional Information about changing the Setup

The script that you need to change for any particular configuration is the Fun4Sim.C

Most of this configuration file you will not need to change, but depending on what you want to do here are some pointers

This is how you would select what physics generator you want to use (for normal DY or J/Psi use pythia):

  const bool gen_pythia8  = true;
const bool gen_cosmic   = false;
const bool gen_gun      = false;
const bool gen_particle = false;
const bool read_hepmc   = false;
const bool gen_e906legacy = false;

Then you will need to switch to the appropriate cfg

   pythia8->set_config_file("phpythia8_DY.cfg");
   pythia8->set_config_file("phpythia8_Jpsi.cfg");


For making a single muons you can use multi particle gun

if(gen_particle) {

    PHG4SimpleEventGenerator *genp = new PHG4SimpleEventGenerator("MUP");

  //genp->set_seed(123);
  genp->add_particles("mu+", nmu);  // mu+,e+,proton,pi+,Upsilon
  if (legacyVtxGen) genp->enableLegacyVtxGen();
  else{
  genp->set_vertex_distribution_function(PHG4SimpleEventGenerator::Uniform,
      PHG4SimpleEventGenerator::Uniform,
      PHG4SimpleEventGenerator::Uniform);
  genp->set_vertex_distribution_mean(0.0, 0.0, -300);
  genp->set_vertex_distribution_width(100.0, 100.0, 400.0);
genp->set_vertex_size_function(PHG4SimpleEventGenerator::Uniform);
    genp->set_vertex_size_parameters(0.0, 0.0);

    }

Here you can change the muon to mu+ or mu-, or change the or change the vertex interaction volume, for example this one creates a cylinder 1m radius around the beamline from 700 cm upstream of the dump to 100 cm inside the dump.