Software and Computing : Introduction to PYTHIA 6.4


Pythia is a event generator. It generate events as detailed as could be observed by a perfect detector. In Pythia Monte Carlo techniques are used to select all relevant variables according to the desired probability distributions, and thereby ensure randomness in the final events. Event produced by PYTHIA then can be used in detector simulation such as in program "GEANT".

PYTHIA 6.4  Physics and Manual

**********************************************************************************************************

Physics Overview:  Read PYTHIA manual chapter 2

**********************************************************************************************************                             

To Install PYTHIA: Go to the page   http://home.thep.lu.se/~torbjorn/Pythia.html
                                                      and read Pythia manual Chapter 3.2

**********************************************************************************************************

Program Philosophy

Pythia uses various subroutines to called on to execute the main programe. Basically user commiunicate with the programe in 3 deiifferent ways.

1) First Setting COMMON BLOCK variables -> to specify the parameters and tasks you need progreme to do
2) Second calling subroutines-> to tell generate events accoriding to your specifications
3)Third Other subroutines ->to analyze events

***********************************************************************************************************


Event Generation Machinary
:

PYTHIA event generation has 3 main steps:

1) Initilization step
 

  • Declarations for double precision and integer variables and integer functions:

                                 IMPLICIT DOUBLE PRECISION(A-H, O-Z)

                                IMPLICIT INTEGER(I-N)

                                INTEGER PYK,PYCHGE,PYCOMP
........................................................................................

  • Specifing commomn bloks you need 

      e.g.              The event record         ->    COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)
                          The decay information->     COMMON/PYDAT3/MDCY(500,3),MDME(8000,2),BRAT(8000),KFDP(8000,5)

........................................................................
  • Selection of required processes.

                         e.g.  To select sub procese ISUB =14,
     

                  MSEL=0

                  MSUB(14)=1
    ...............................................................................

     

  • Selection of kinematics cuts in the CKIN array


               e.g.,To  generate hard scatterings with 50 GeV <pT<100 GeV,       CKIN (3) = 50DO

                                                                                                                                    CKIN(4) = 100DO

..........................................................................
  • Definition of underlying physics scenario, e.g. Higgs mass.
  • Selection of parton-distribution sets
  • Switching off of generator parts not needed
  • Initialization of the event generation procedure.
                                              
                                                             CALL PYINIT(’CMS’,’p’,’pbar’,1800D0)

************************************************************************************************
2)The generation loop.

  • Generation of the next event     CALL PYEVNT
  • Printing of few events                  CALL PYLIST(1)
  • Analyze events                           Use PYJETS block
  • Save events 
***********************************************************************************

3) The Finishing step
 
  • Printing a table of deduced cross sections, obtained as a by-product of the Monte Carlo generation activity
                                                                        CALL PYSTAT(1)

 

 

To illusttrate above features follow the example in Pythia manual chapter 3.2.


***********************************************************************************************************

Understanding the Pythia event record

Please go to the link bellow:

http://drupal.star.bnl.gov/STAR/blog/devika/2013/may/30/pythia


  **********************************************************************************************************

 Main Subroutines

Main subroutines you must know

1) PYINIT -> To initilize the generation procedure 

                   CALL PYINIT(FRAME,BEAM,TARGET,WIN)


FRAME -> To specify the frame of the experiment , e.g. CMS
BEAM, TARGET    -> To specify the beam and target , e.g. p p
WIN -> Energy of the system(FRAME dependent) , e.g. Total energy in GeV for 'CMS'

...................................................................

2)PYEVNT -> To generate one event of the type specified by the PYINIT  (to generate more event can use a loop)

                        CALL PYEVNT

....................................................................

                       
3) PYSTAT-> to print out cross-sections statistics, decay widths, branching ratios, status codes and parameter values.

  
                      CALL PYSTAT(MSTAT)   MSTAT = 1...7

e,g  CALL PYSTAT(1) - > 

prints a table of how many events of the different kinds that have been 

generated and the corresponding cross sections.

 

 

 For Information description read chapter 9.1 Pythia 6.4 Manual