TWiki> Main Web>TWikiUsers>DeepakKar>PythiaProf (revision 18)EditAttachPDF

Notes on PYTHIA8 tuning using PROFESSOR in ATLAS

PYTHIA 8

  • Documentation: (http://home.thep.lu.se/~torbjorn/php8145/Welcome.php)
  • To run in any other directory than /example: export PYTHIA8DATA=/home/dkar/atlas/tuning/pythia_with_old_hepmc/pythia8145/xmldoc
  • export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/../local/lib
  • To compile: make main32 HEPMCLOCATION=$PWD/../local
  • To run: ./main32.exe main32.cmnd test.out (or my.hepmc to pipe output through Rivet)

PYTHIA8 in ATLAS

Pythia8 most writes output in the HepMC GenEvent output format, which can be read into Atlas using ReadEventFromFile in GenAnalysisTools:

 
 from AthenaCommon.AlgSequence import AlgSequence
 topSequence = AlgSequence()

 from ReadEventFromFile.ReadEventFromFileConf import ReadHepMc
 read = ReadHepMc()
 read.File = "filename.hepmc2g"
 topSequence += read

 theApp.EvtMax = 500

PROFESSOR

RIVET

HepMC

  • Documentation (https://savannah.cern.ch/projects/hepmc/)
  • Latest version 2.06.03 did not work with PYTHIA 8.145, switched to 2.05.01
  • Download and install: (./configure --prefix=$PWD/../local/ --with-momentum=GEV --with-length=MM; make; make install; use HEPMCLOCATION=$PWD/../local OR mkdir build install, work in build, ../HepMC-2.05.01/configure -prefix=$PWD/../hepmc/install -with-momentum=GEV -with-length=MM and then make; make install; reconfigure PYTHIA with ./configure --with-hepmc=$PWD/hepmc/hepmc/install --with-hepmcversion=2.05.01; (re)make. )

LHAPDF

  • Documentation (http://projects.hepforge.org/lhapdf/manual)
  • Download and Install (./configure --prefix=$PWD/../local/; make; make install; Use bin/lhapdf-getdata to put PDFsets in share/lhapdf/PDFsets/)
  • Link: export LHAPATH=$PWD/..local/share/lhapdf/PDFsets
 
g++ -O2 -ansi -pedantic -W -Wall -Wshadow -fbounds-check -Wno-shadow -I../include -I/home/dkar/atlas/tuning/pythia_with_old_hepmc/pythia8145/runpythia/../local/include \
        main32.cc -o ../bin/main32.exe \
        -L../lib/archive -lpythia8 \
        -lhepmcinterface \
        -L/home/dkar/atlas/tuning/pythia_with_old_hepmc/pythia8145/runpythia/../local/lib -lHepMC \
        -L/home/dkar/atlas/tuning/pythia_with_old_hepmc/pythia8145/runpythia/../local/lib -lLHAPDF

"Official" ATLAS Stuff

  • Get: svn co svn+ssh://svn.cern.ch/reps/atlasoff/Generators/Tuning/trunk/firstdata/analyses
  • Rivet: need Rivet***.so and *.aida files to include an internal analysis and link: export RIVET_ANALYSIS_PATH=$PWD

Tuning Workflow

  1. Setup the directory structure. Create mc/XXX directories. [NOT NEEDED]. Script: make_mcdir.sh

  1. Decide which parameters to tune.
    • Start off by MPI tune.
    • By prof-scanparams -> prepares used_params files. They should reside in mc/XXX/.
    • Use: prof-scanparams -i $PWD/../mc -o $PWD/../mc -N 100 mpi_params. (created MC/XXX dirs too)

  1. Decide which analysis/datasets to tune to.
    • For MPI tune (and to avoid jet slices, for now), use ATLAS 900 and 7000 MB and UE (track and cluster), CDF 1.8 and 1.96 MB. (8 in total).
    • Only needs to generate soft QCD.
    • For each mc/XXX, there will be different directories corresponding to cmE.

  1. Generate MC samples.
    • Input run_params_cmE (from run directory) and used_params (from /mc/XXX/)
    • The scripts to run will be run_cmE.sh, where cmE will determine which run_params_cmE file and Rivet analysis is included.
    • Arguments to the run script: begin-run-no (000) end-run-no (099)
    • Should result in mc/XXX/cmE/Rivet.aida for each cmE.
    • Merge by: merge_runs.sh (change end-run-no to argument)

  1. Weights file with weights assigned to different analysis.
    • Use Pythia6 MPI tuning file?
    • :X:Y denotes X-axis range where to tune to. For different weights on different ranges, multiple lines corresponding to the same histogram.
    • Copy reference data from /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/allref, store them in "ref" directory.
    • To extract all analysis: sed -n 's/AidaPath/&/p' filename >
    • To add weight "1.0" to all: sed "s/$/ 1.0/g" filename >

  1. Look at how runs envelop the data.
    • prof-envelopes --mcdir mc --datadir ref -o envelopes1 --weights w
    • make-plots envelopes2/envelopes/*.dat --pdf
    • ./makegallery.py -s envelopes/envelopes/ pdf envelopes.html

  1. Create a runcombs-file which contains combination of MC runs to be used.
    • By prof--runcombs. (prof-runcombs --mcdir mc -c 0:1)

  1. Parameterise the generator response. By prof-interpolate, results in folder ipols that contains a generator parameterisation file.

  1. Finally tune. Using prof-tune, stored in results/.
    • Show the sensitivity of observables to the parameters varied: savesensitivities.py --datadir . --oudir splots --observables weights1
    • Show how well the generator runs "enclose" data: prof-envelopes --mcdir mc --refdir ref -o envelopes --weights weights
    • Show scatter plot for each tuning parameter.

  1. Get a way to compare to jetX data, run jetslices and merge.

Tuning Settings

  • MPI Tune parameters: (/afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/more tune_11_mpi/parameter.ranges)

MultipleInteractions:pT0Ref (0.5 -10, 2.15)
MultipleInteractions:ecmPow (0-5, 0.24)
MultipleInteractions:pTmin (0.1 -10, 0.2)

For :bProfile = 2
MultipleInteractions::coreRadius (0.1-1-, 0.4)
MultipleInteractions:coreFraction (0 -1, 0.5)

For bProfile=3
MultipleInteractions:expPow (0.1 -10, 1)

  • PYTHIA8 Run settings:

The main32 example is very useful for running Rivet. It reads a runcard and writes HepMC events.

#fixed_params
PDF:pSet = 8
MultipleInteractions:bProfile = 3 _(double gaussian=2)_
MultipleInteractions:alphaSvalue = SigmaProcess:alphaSvalue
SpaceShower:rapidityOrder = on

#UE200.params
! 1) Settings that will be used in a main program.
Main:numberOfEvents = 3000000 ! number of events to generate
Main:timesToShow = 1000 ! show how far along run is this many times
Main:timesAllowErrors = 30 ! abort run after this many flawed events
Main:showChangedSettings = on ! print changed flags/modes/parameters
#Main:showAllSettings = on ! print all flags/modes/parameters
Main:showChangedParticleData = on ! print changed particle and decay data
#Main:showAllParticleData = on ! print all particle and decay data

! 2) Beam parameter settings. Values below agree with default ones.
Beams:idA = 2212 ! first beam, p = 2212, pbar = -2212
Beams:idB = 2212 ! second beam, p = 2212, pbar = -2212
Beams:eCM = 200 ! CM energy of collision

! 3) Pick processes and kinematics cuts
SoftQCD:minBias on

Tune Parameters:
tune4c.gif

Scripts/Commands

> source profenv.sh
> source /afs/cern.ch/sw/lcg/external/MCGenerators/professor/1.2.1/x86_64-slc5-gcc43-opt/setup.sh
> source /afs/cern.ch/sw/lcg/external/MCGenerators/rivet/1.5.0/x86_64-slc5-gcc43-opt/rivetenv.sh

HS:

> prof-runcombs -c 0:1 --mcdir /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/tune_10_shower/mc3-min -o runcombs_0_1.dat

>prof-interpolate --mcdir /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/tune_10_shower/mc3-min --runs runcombs_0_1.dat -o test --ipol cubic --weights /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/tune_10_shower/weights04

>prof-tune --runs runcombs_0_1.dat --ipoldir test/ipol --ipol cubic --weights /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/tune_10_shower/weights04 -o test --refdir /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/allref/

AGILe

Use v1.2.1. how to pass parameters?

> source /afs/.cern.ch/sw/lcg/external/MCGenerators/agile/1.2.0/x86_64-slc5-gcc43-opt/agileenv.sh

-- DeepakKar - 25-Feb-2011

Edit | Attach | Watch | Print version | History: r30 | r20 < r19 < r18 < r17 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r18 - 2011-03-27 - DeepakKar
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback