Privacy and Security Notice
CELEG status
CELEG status
Introduction
CELEG is the CEbaf Large acceptance spectrometer
Event Generator. It was originally written in 1989 by
Don Joyce for VMS, and wasn't well-maintained when CLAS made the
switch to Unix systems. Recently, it has been resurrected; click here for a review of its history and
status as of about June 1997 or so, written by T.-Y. Tung.
As CLAS approaches serious data-taking, it will become necessary to
simulate the response of the detector to the physics we'll be seeing.
For this, we will need to generate events on a large scale,
reproducing the actual physics involved as closely as possible.
That's where CELEG comes in.
CELEG is primarily intended to be used to create BOS files that may
be read in by GSIM, the
GEANT simulation of the CLAS detector. However, the output files
simply contain the 4-vectors and vertex positions for each event, and
therefore could conceivably be used with any simulation. For those
who can't read BOS-format files, an ASCII format is also available.
Someday, maybe I'll document it.
How to use it
The description given by T.-Y. is still
useful, so I won't bother updating it right now...
Current status
I've made three major changes to CELEG since taking the project over,
which don't show up in T.-Y.'s document:
- There is no longer a problem with momentum non-conservation.
This was due to a mistake that apparently existed since the original
incarnation of CELEG. From basic electron scattering, one can
calculate Q^2 and W from the electron incident and outgoing energies,
and the outgoing electron angle. There was a bug in this
calculation, resulting in the possibility to try to throw an event at
a value of Q^2 that was too high.
- Fermi momentum is now handled properly. This one also seems to
date back a bit, near as I can tell. Fermi momentum is implemented
by first picking the magnitude for the fermi momentum, and then
randomly determining the angle. (Note that in the original program,
THETA was distributed uniformly from 0 to PI. Now, COS(THETA) is
distributed uniformly from -1 to 1). However, when calculating the
momentum of the outgoing particles, the momentum of the
center-of-mass perpendicular to the beam was ignored. This has now
been corrected. Here's a picture of the generated momentum
differences using a deuterium target, just to show that I'm not
cheating (the horizontal axes are in units of GeV/c):
Looking at the picture on the screen, I see that I didn't document it
well enough. The top left plot is the total momentum in the
X-direction, the top right is Y, the bottom left is Z, and the bottom
right is total. They really are different histograms. I'll redo the
plot sometime and fix that...
- Also on the Fermi momentum implementation, there is now a switch
you can put into the ftn15 file, called FIX_TGT. If you have a line
in your file like
FIX_TGT YES 0.00000 0.00000 0.00000 0.00000
then CELEG will work slightly differently then if you set it to NO
(the default). By default, if a nuclear target is used, not only are
the nucleons within the nucleus given Fermi momentum, but CELEG will
randomly select what type of nucleon (neutron or proton) was struck
on an event-by-event basis. Setting the switch to YES causes CELEG
to always use the target type specified in the TARGET switch.
- The input file has been renamed from "ftn15" to "celeg.in". This
is basically an aesthetic change; the real solution is to make the
input file settable on the command line, which is on the to-do
list...
- The PART bank has been implemented. This is a simple attempt to
create a bank that has only the four-vectors of the particles, and is
compatible with the rest of the software. It isn't perfect yet (see
the to-do list).
- Default values are now assumed for the resonance parameters.
This is the first step in modifying CELEG to be more flexible and
stable. If the resonance parameters (mass, width, etc.) have default
values, the user will be less likely to change them (I hope).
What's next?
My list of things to do with CELEG is growing. Any comments or
queries about how it works or requests for bug fixes or new features
should be directed to me.
Currently on the list:
- Filtering of events. This is something that is of interest to
the GSIM Focus group, but I haven't looked at it too closely yet.
- A user has notified me that there might be a problem with the
electron phi angle switch. I'll look into it as well.
- Put a lot of the switches currently in celeg.in into the command
line. This first requires that I learn how to parse the command line
in FORTRAN (or rewrite the whole thing in C, which is less likely).
- Fix the interaction of the PART bank with the DECAY switch. If
the DECAY switch is set, CELEG will allow the decay products of the
various resonances to decay via the strong and electromagnetic
interactions. Thus, you won't have pi0s in the final state, but two
photons instead. However, CELEG maintains the entire history of the
event in the MCTK bank. This entire structure is currently copied
into the PART bank. So, you track both the decay photons from the
pi0 (two photons), and the pi0 again (producing two more photons).
Not the best way to do it...
Last updated: 24 July 1998