Roman Pot Sim

From EIC
Revision as of 09:18, 28 March 2017 by Rmpetti (talk | contribs) (Created page with '__NOTOC__ This page gives details of the Roman Pot simulations, which includes acceptance studies, momentum reconstruction studies, and the move towards a full mock analysis of D...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page gives details of the Roman Pot simulations, which includes acceptance studies, momentum reconstruction studies, and the move towards a full mock analysis of DVCS. The process includes generation of physics events, importing physics events through EicRoot for GEANT tracking of particles through magnetic fields to the detectors, digitizing the raw hit information, and implementing a reconstruction algorithm to determine the pT of the proton from the hits in the Roman Pot. All of the steps have been implemented into a single script that can handle the workflow, which can be found at /direct/eic+u/rmpetti/workarea/roman_pots/condor/run_pot_sim_milou_jobs.csh. The basic steps in the simulation process are described in the sections below.

  1. MILOU simulations of DVCS physics
  2. Adding the effect of smearing from the angular divergence at the IP
  3. The construction of the Roman Pot systems in simulation
  4. Running the EicRoot simulation and GEANT tracking
  5. Digitizing the raw hits to represent output from a pixel detector
  6. The reconstruction of the proton pT
  7. Miscellaneous scripts for diagnostics, cross-checks, etc.


The first step in the simulation study is to generate DVCS physics events. Details of the MILOU Monte Carlo program can be found elsewhere. An example steering file used for this study can be found at /direct/eic+data/rmpetti/milou_sim/dvcs.steer. A quick note about this step. If one desires to run many jobs in parallel with Condor, it is necessary to change the seed for the random number generator that is specified in the steering file (denoted by the SEED keyword). A script (/direct/eic+u/rmpetti/workarea/roman_pots/condor/ has been written that will take as one of its arguments the desired seed (the script takes four arguments, seed, minimum t, maximum t, and number of events) that will regenerate the steering file automatically replacing the original value of the seed with the one used as an argument in running the script. As it is currently setup when running in Condor, the seed is passed by the process number that is automatically assigned to the Condor job through the scheduler.

Another note if running within Condor. MILOU will generate an integration table that is used for its calculations with BASES, with the table stored in the generated file. This is time consuming. To increase efficiency, the same file is used for all the jobs farmed out. In order to achieve this, MILOU first needs to be run once outside of Condor. The point here is just to generate the file, so it is sufficient to generate just one event. Within the steering file, the keyword IGEN must be set to 0 to generate the table from scratch. Then when running in Condor, the IGEN flag can be set to 4 and the existing table will be used. This is already setup if running the script referenced above.

Divergence smearing

One of the effects that needs to be studied is the impact of the smearing of the angle of the outgoing protons due to the angular divergence of the beams at the IP. In principle, this effect will influence the momentum reconstruction resolution. This is an initial state effect in that the electrons and protons in the beam will collide with some angle compared with the nominal trajectories. This effect is approximated by adding a smearing only of the outgoing proton. This means that the MILOU events are generated with the electron and proton colliding head on, but then an extra rotation is applied, determined by the magnitude of the divergence. This should be sufficient for evaluating the effect of the momentum resolution, but may need to be handled in the initial collision for more detailed studies.

The divergence is calculated from the beam parameters obtained by the machine designers, specifically the (un-normalized) beam emittance, ε, and β*, via the equation [math]\displaystyle{ \sigma_\theta = \sqrt{\varepsilon/\beta^*} }[/math]. This formula is used to generate the angle which the outgoing proton will be rotated. The angle is chosen randomly from a Gaussian distribution with a width equal to the calculated εθ. The script /direct/eic+u/rmpetti/workarea/roman_pots/MCafterburners/addDivergence.C will take in as input, the ASCII file generated by running MILOU in the previous step and will output a modified event record with the proton rotated by the specified angle. The script also takes in the (un-normalized) emittance and β* in both the x and y direction to calculate the magnitude of the divergence in each direction separately.