Difference between revisions of "PEPSI"

From EIC
Jump to navigation Jump to search
(Replaced content with "This page is now maintained at [https://eic.github.io/software/pepsi.html].")
Tag: Replaced
Line 1: Line 1:
==== By now it is better to use DJANGOH for polarised studies as it is the more complete generator ====
+
This page is now maintained at [https://eic.github.io/software/pepsi.html].
 
 
PEPSI (Polarised Electron Proton Scattering Interactions) [[#Ref1|[1]]] is a Monte Carlo generator for polarised deep inelastic scattering (pDIS). It is based on the [http://www.isv.uu.se/thep/lepto/ LEPTO] 6.5 Monte Carlo for unpolarised DIS.
 
This code is based on PEPSI/LEPTO and was modified to include radiative corrections using [[#Documentation_on_Radiative_Corrections:|RadGen]].
 
 
 
 
 
== PEPSI References ==
 
 
 
<span id="Ref1">(1)</span> ''"PEPSI - a Monte Carlo generator for polarized leptoproduction"'', L. Mankiewicz, A. Schäfer and M. Veltri, Comp. Phys. Comm. '''71''', 305-318 (1992) [https://wiki.bnl.gov/eic/upload/PEPSI.paper.pdf PEPSI.paper.pdf].
 
 
 
== Parton distribution functions ==
 
 
 
The distribution function to use in polarised leptoproduction is set via the variable <tt>LST(15)</tt> in the LEPTO <tt>COMMON</tt> block <tt>/LEPTOU/</tt>. [[PEPSI-pdf|Tables 1 and 2]] list internal allowed values of <tt>LST(15)</tt> for polarised and unpolarised distributions respectively.
 
 
 
PEPSI is linked with the pdflib such all PDFs included in there can be used by setting <tt>LST(15)</tt> to the respective PDF-ID
 
 
 
==== PEPSI processes important in ep ====
 
 
 
{| class="wikitable" style="text-align:left" border="1" cellpadding="3" cellspacing="0"
 
|-
 
! style="background:#ffdead;" | Subprocess
 
! style="background:#ffdead;" | #
 
! style="background:#ffdead;" | Description
 
|-
 
| colspan="3" align="center" | DIRECT
 
|-
 
! γ∗q → q
 
! 1
 
! LO DIS
 
|-
 
! γ∗ q → qg
 
! 2
 
! QCDC
 
|-
 
! γ∗ g → q qbar
 
! 3
 
! PGF
 
|}
 
 
 
QCDC: QCD-Compton, radiation of a gluon from incoming or outgoing quark lines<br/>PGF: Photon Gluon Fusion
 
 
 
== Running PEPSI ==
 
 
 
In the standard setup in the singularity cvmfs environment or at BNL, the code can be found in
 
  $EICDIRECTORY/PACKAGES/pepsi
 
 
 
The main program is in the same directory and called pepsiMaineRHIC_noradcorr.f / pepsiMaineRHIC_radcorr.f, several other routines are needed, which are in the same directory.<br/>The executable is in the same directory and called pepsieRHICnoRAD / pepsieRHICwithRAD<br/>There are several steer files (named: input.data.XXXXX.eic) provided in this directory to run PEPSI and get reasonable output.
 
 
 
=== How to Run the Code ===
 
 
 
==== Features ====
 
 
 
PEPSI has to be run twice if polarized asymmetries should be generated, once for parallel, lepton and proton beam spin direction, and once antiparallel.<br/>Charge Current events can only be generated in the unpolarized mode.<br/>The LST(8) can only be used different from 0 or 1 in the unpolarised mode.
 
 
 
==== without radiative corrections ====
 
 
 
  pepsieRHICwithRAD < input.data_noradcor.eic.pol.anti > XXX.log 
 
 
 
input.data_noradcor.eic.pol.anti is one of the steer file examples in the directory to run PEPSI with settings tuned for Hermes, and/or H1 and ZEUS for the antiparallel polarized cross-section<br/>input.data_noradcor.eic.pol.par: for the parallel polarized cross-section<br/>input.data_noradcor.eic.unpol: for the unpolarised cross-section
 
 
 
==== with radiative corrections ====
 
 
 
*create a directory called radgen in the area you want to run the code
 
*you either need to generate the lookup table for your cuts and beam energy settings first
 
 
 
    pepsieRHICwithRAD < input.data_make-radcor.eic.unpol
 
 
 
*or you can use one of the files already generated
 
 
 
the files are in the directory
 
 
 
  "/afs/rhic.bnl.gov/eic/PACKAGES/PEPSI/radgen"
 
 
 
and called xytab1unp.04.050.dat or xytab1ant.04.050.dat or xytab1par.04.050.dat
 
 
 
*to run the code than with radiative corrections simply change the steer file to either
 
 
 
input.data_radcor.eic.unpol or input.data_radcor.eic.pol.par or .... and
 
 
 
  type pepsieRHICwithRAD < input.data_radcor.eic.unpol > XXX.log
 
 
 
=== Output file structure ===
 
 
 
the output file is in a text format which has the following structure.
 
 
 
*1st line: PEPSI EVENT FILE
 
*2nd line: "============================================"
 
 
 
 
 
 
 
*3rd line: Information on event wise variables stored in the file
 
 
 
{| class="wikitable" style="text-align:left" border="1" cellpadding="2" cellspacing="0"
 
|-
 
| I:
 
| 0 (line index)
 
|-
 
| ievent:
 
| eventnumber running from 1 to XXX
 
|-
 
| genevent:
 
| trials to generate this event
 
|-
 
| process:
 
| pepsi subprocess (LST(23)), for details see table above
 
|-
 
| subprocess:
 
| pythia subprocess (LST(24)), for details see table above
 
|-
 
| nucleon:
 
| hadron beam type (LST(22))
 
|-
 
| struckparton:
 
| parton hit in the target (LST(25))
 
|-
 
| partontrack:
 
| # or parton track (LST(26))
 
|-
 
| truey, trueQ2, truex, trueW2, trueNu:
 
| are the kinematic variables of the event.
 
|-
 
|
 
| If radiative corrections are turned on they are different from what is calculated from the scattered lepton.
 
|-
 
|
 
| If radiative corrections are turned off they are the same as what is calculated from the scattered lepton
 
|-
 
| mcfixedweight
 
| weight calculated from generation limits
 
|-
 
| weight
 
| total weight including everything
 
|-
 
| dxsec
 
| cross section included in the weight
 
|-
 
| mcextraweight
 
| Pepsi total cross section in pb from numerical integration parl(23)
 
|-
 
| dilut, F1, F2, A1, A2, R, Depol, d, eta, eps, chi
 
| true variables needed to calculate g1
 
|-
 
| gendilut, genF1, genF2, genA1, genA2, genR, genDepol, gend, geneta, geneps, genchi
 
| variables needed to calculate g1
 
|-
 
| SigRadCor:
 
| information used and needed in the radiative correction code
 
|-
 
| EBrems:
 
| energy of the radiative photon in the nuclear rest frame
 
|-
 
| nrTracks:
 
| number of tracks in this event, includes also virtual particles
 
|}
 
 
 
 
 
 
 
*4th line: "============================================"
 
 
 
 
 
 
 
*5th line: Information on track wise variables stored in the file
 
 
 
{| class="wikitable" style="text-align:left" border="1" cellpadding="2" cellspacing="0"
 
|-
 
| I:
 
| line index, runs from 1 to nrTracks
 
|-
 
| K(I,1):
 
| status code KS (1: stable particles 11: particles which decay 55; radiative photon)
 
|-
 
| K(I,2):
 
| particle KF code (211: pion, 2112:n, ....)
 
|-
 
| K(I,3):
 
| line number of parent particle
 
|-
 
| K(I,4):
 
| normally the line number of the first daughter; it is 0 for an undecayed particle or unfragmented parton
 
|-
 
| K(I,5):
 
| normally the line number of the last daughter; it is 0 for an undecayed particle or unfragmented parton.
 
|-
 
| P(I,1):
 
| px of particle
 
|-
 
| P(I,2):
 
| py of particle
 
|-
 
| P(I,3):
 
| pz of particle
 
|-
 
| P(I,4):
 
| Energy of particle
 
|-
 
| P(I,5):
 
| mass of particle
 
|-
 
| V(I,1):
 
| x vertex information
 
|-
 
| V(I,2):
 
| y vertex information
 
|-
 
| V(I,3):
 
| z vertex information
 
|}
 
 
 
*6th line: "============================================"
 
*7th line: event information for first event
 
*8th line: "============================================"
 
*9th to X-1 line: trackwise info of 1st event
 
*Xth line "=============== Event finished ==============="
 
 
 
'''the information from line 7 to X repeats for each event.'''
 
 
 
=== How to analyze events ===
 
 
 
*create a root tree
 
 
 
there are root macros available to convert the output txt-files into root trees.<br/>Details how to run the macros can be found [https://wiki.bnl.gov/eic/index.php/ROOT [here]]
 
 
 
===== MC normalization (still under construction) =====
 
 
 
to normalize your counts to cross section you need two informations
 
 
 
*the total number of trials (NGEN(0,3)), it is printed to the screen/logfile if PYTHIA finishes
 
*the total integrated cross section (PARI(1)), the unit is microbarn (10^-6), it is printed to the screen/logfile if PYTHIA finishes
 
 
 
==> count * total integrated cross section /total number of trials
 
 
 
to calculate the corresponding luminosity
 
 
 
==> total number of trials/ total integrated cross section
 
 
 
== Documentation on Radiative Corrections: ==
 
 
 
the code implemented in PTHIA to calculate radiative corrections is called RADGEN<br/>The writeup on it can be found here [http://arXiv.org/pdf/hep-ph/9906408 [hep-ph/9906408]]<br/>The following steps have been done to implement it in PYTHIA:
 
 
 
*change the subroutine pygaga.f so it calls radgen after you have thrown y and Q2
 
*get the true y and Q2 from radgen and the radiated photon
 
*Pythia will continue to now generate an event based on this y and Q2
 
*Pythia still operates under accept reject, the extra weigt from the radiative corrections is absorbed in the flux factor
 
[[Category:Event Generators]]
 

Revision as of 13:41, 9 June 2020

This page is now maintained at [1].