Print

Print


   I propose the following scheme to deal with MC data sets that are
generated with left or right-handed electron beam polarization.
This scheme addresses the problem of how one can, without regenerating events, change
the average value, intrinsic spread, and measurement error  of beam polarization.
It also allows the user to combine in a convenient fashion MC runs generated 
with different beam polarization polarities.

I assume that two detector-simulated MC 
files are produced for a given process: one with 100% left-handed electron 
polarization and one with 100% right-handed electron polarization.  Before a physics analysis 
job reads in the first event it creates a C++ object using the following as input:

    INPUT

SIGL = 100% Left-handed cross-section
SIGR = 100% Right-handed cross-section  
NL0 = # events in left-handed MC file
NR0 = # events in right-handed MC file
FL  = fraction of luminosity that is left-handed, 0.<=FL<=1.
PE  = absolute value of beam polariation, 0.<=PE<=1.
SIGE = intrinsic spread in beam polarization (Default=0.)
SIGM = error in measurement of beam polarization (Default=0.)
SEED = random # seed (Default=0)


For now the values SIGL,SIGR,NL0,NR0 will have to be entered by hand by the user.  We will 
create tables containing these values as the MC data sets are generated.
The values for FL and PE are chosen by the user.  If the user wants to assume that
in the year 2010 we run with 88% beam polarization and that 70% of the
luminosity is obtained with the gun set to a right-handed polarity, then the user sets
FL=0.3 and PE=0.88 .   If we want to study the dependence of signal/background
on the magnitude of the polarization, then it is straightforward to run
a set of jobs, each one with a different value for PE.
The last three input variables would be optional.  The variable SIGM provides some
polarization detector simulation.

Member functions would provide the following output:

   OUTPUT

NL = # of valid events in left-handed MC file  (events NL+1, NL+2, ..., NL0 are invalid)
NR = # of valid events in right-handed MC file (events NR+1, NR+2, ..., NR0 are invalid)
PL[i] = signed beam polarization for event i in left-handed MC file, 1<=i<=NL,  -1.<=PL[i]<=1.
PR[i] = signed beam polarization for event i in right-handed MC file, 1<=i<=NR, -1.<=PR[i]<=1.


In order to get proper weighting of left and right-handed events the physics analysis
job would read in exactly NL events from the left-handed file and exactly
NR events from the right-handed file.  Note that if PE is less than one then some of the entries
for PL[i] will have right-handed polarity and some of the entries for PR[i] will have
left-handed polarity.


Unless I hear objections I will proceed to write the C++ code needed to perform this task.



                                         -- Tim Barklow