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

Notes on PYTHIA8 tuning using PROFESSOR in ATLAS

PYTHIA 8

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

Tuning Workflow

  1. Setup the directory structure. Create mc/XXX directories.
    • how?

  1. Decide which parameters to tune.
    • Start of my MPI tune (look at the table).
    • By prof-scanparams -> prepares used_params files.
    • They should reside in mc/XXX/

  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 4 different directories, ATLAS_900, ATLAS_7000, CDF_1800, CDF_1960.
    • Copy from /afs/cern.ch/atlas/groups/Generators/Tuning/firstdata/allref, store them in "ref" directory.

  1. Weights file with weights assigned to different analysis.
    • Copy the MPI weights file from MC11 Pythia6 tuning area.
    • :X:Y denotes X-axis range where to tune to. For different weights on different ranges, multiple lines corresponding to the same histogram.

  1. Run the generator using used_param as input and with appropriate processes turned on. Pipe the output through relevant Rivet analysis.
    • The scripts to run will be run_XXX_cmE.sh, where cmE will determine which run_params_cmE file and Rivet analysis is included.
    • There should be a master script which will loop over XXX.
    • Need to export PYTHIA8DATA=/home/dkar/atlas/tuning/pythia8145/xmldoc
    • Should result in mc/XXX/cmE/Rivet.aida for each cmE.
    • Then to make one out.aida under mc/XXX, do (each) aida2flat Rivet.aida > (>> from second one onwards) out.dat. Finally, flat2aida out.dat > out.aida.

  1. Create a runcombs-file which contains combination of MC runs to be used. By prof--runcombs.

  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.

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.0/x86_64-slc5-gcc43-opt/setup.sh
> source /afs/cern.ch/sw/lcg/external/MCGenerators/rivet/1.4.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 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2011-03-02 - 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