Changes between Initial Version and Version 1 of Systematics


Ignore:
Timestamp:
Nov 4, 2016, 11:15:12 PM (8 years ago)
Author:
Olivier Mattelaer
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Systematics

    v1 v1  
     1[[PageOutline]]
     2
     3= Introduction
     4
     5In order to compute the systematics error, one need to recompute the cross-section/differential cross-section
     6for various PDF and scale choice. Running all those computation is parallel is a waste of time and a more appropriate
     7method is to use re-weighting approach to re-use the same sample generated to estimate those systematics.
     8For full efficiency, it requires to store some additional information in the lhe file at the time of the generation such that
     9the computation of those systematics can take a very small amount of time.
     10
     11For more information concerning the implementation in our framework (such method exists in all MC code), please read:
     12[[https://arxiv.org/pdf/1110.4738.pdf R. Frederix, S. Frixione, V. Hirschi, F. Maltoni, R. Pit-
     13tau, P. Torrielli, JHEP 02, 099 (2012).]]
     14
     15= LO
     16
     17At LO, you have two code able to compute the systematics: SysCalc and the "systematics" module of MG5aMC.
     18They have basically the same feature but use different interface approach to perform the computation
     19 1. SysCalc is a standalone C++ code.
     20 2. "systematics" is a python module which need to have lhapdf6 compiled for python support. Requiring the Python development headers to be installed (e.g. via the python-dev Ubuntu package).
     21
     22None of the those code is able to handle correctly cases with interference only generation.
     23
     24== How to run the code
     25
     26To use either of those code, you need first to set in the run_card the parameter ('''use_syst''' on true) which is going to ask MG5aMC to add the additional information
     27in the lhef such that those module can read the information and add the weights in the event file.
     28Note that use_syst=T is actually the default but for interference type of generation where it is by default set to False since those information are unlikely to be correct.
     29
     30If '''use_syst is True''' then by default we will automatically run SysCalc. If SysCalc is not installed on your machine then we will run "systematics" instead.
     31You can change this behavior via the (hidden) parameter of the run_card
     32'''systematics_program''' you give it one of the three following value:
     33   1. none: no program will be used (but the event will still have the additional information written inside the file)
     34   2. syscalc: use the syscalc program
     35   3. systematics: use the systematics program [even if SysCalc is installed]
     36
     37Note that both program can also be runned in standalone
     38
     39Various parameter of the run_card allow you to control which type of variation you want to perform:
     40{{{
     410.5 1 2 = sys_scalefact  # factorization/renormalization scale factor
     42None = sys_alpsfact  # \alpha_s emission scale factors
     43auto = sys_matchscale # variation of merging scale
     44# PDF sets and number of members (0 or none for all members).
     45NNPDF23_lo_as_0130_qed = sys_pdf # separate by && if more than one set.
     46# MSTW2008nlo68cl.LHgrid 1  = sys_pdf
     47#
     48}}}
     49
     50== SysCalc
     51
     52Description of SysCalc is available here: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/SysCalc
     53 
     54== Systematics (python) module
     55
     56The "systematics" module can be called externally.
     57It is callable via the Madevent interface (either accessible via launch -i from the MG5aMC interface or via ./bin/madevent)
     58Here is the details on the syntax (as given by the help command)
     59
     60{{{
     61INFO: syntax: systematics RUN_NAME [OUTPUT] [options]
     62INFO: -- Run the systematics run on the RUN_NAME run.
     63INFO:    RUN_NAME can be a path to a lhef file.
     64INFO:    OUTPUT can be the path to the output lhe file, otherwise the input file will be overwritten
     65INFO:
     66INFO: options: (values written are the default)
     67INFO:
     68INFO:    --mur=0.5,1,2    # specify the values for renormalisation scale variation
     69INFO:    --muf=0.5,1,2    # specify the values for factorisation scale variation
     70INFO:    --alps=1         # specify the values for MLM emission scale variation (LO only)
     71INFO:    --dyn=-1,1,2,3,4 # specify the dynamical schemes to use.
     72INFO:                     #   -1 is the one used by the sample.
     73INFO:                     #   > 0 correspond to options of dynamical_scale_choice of the run_card.
     74INFO:    --pdf=errorset   # specify the pdfs to use for pdf variation. (see below)
     75INFO:    --together=mur,muf,dyn # lists the parameter that must be varied simultaneously so as to
     76INFO:                           # compute the weights for all combinations of their variations.
     77INFO:    --from_card      # use the information from the run_card (LO only).
     78INFO:
     79INFO:    Allowed value for the pdf options:
     80INFO:        central  : Do not perform any pdf variation
     81INFO:        errorset : runs over the all the members of the PDF set used to generate the events
     82INFO:        244800   : runs over the associated set and all its members
     83INFO:        244800@0 : runs over the central member of the associated set
     84INFO:        CT10     : runs over the associated set and all its members
     85INFO:        CT10@0   : runs over the central member of the associated set
     86INFO:        CT10@X   : runs over the Xth member of the associated PDF set
     87INFO:        XX,YY,ZZ : runs over the sets for XX,YY,ZZ (those three follows above syntax)
     88}}}
     89
     90Note that the run_card do not have any entry for the type of dynamical scale (since SysCalc does not support it).
     91So it is default all the possible value.
     92One can also specify the argument of the "systematics" module by putting in the run_card an entry for '''systematics_arguments'''
     93(as a list of string
     94For example
     95{{{
     96   ['--pdf=central', '--dyn=-1,3', '--together=mur,muf'] = systematics_arguments
     97}}}
     98
     99
     100
     101= NLO
     102
     103At NLO, you have two options to compute the systematics error.
     104'''on the flight''' this methods performs the re-weighting during the generation of the events. The output file contain the additional weight but '''NOT''' the information to perform an additional re-weighting  (by default) forbidding to perform a different re-weighting later (different pdf/scale choice/...)
     105The second method is the "systematics" module of MG5aMC, where additional information will be written in the file in order to compute systematics weight independently of the event generation.
     106
     107== On the flight method
     108
     109In order to use this mode, you can set in the run_card those two parameters:
     110{{{
     111 True = reweight_scale ! Reweight to get scale variation using the
     112            ! rw_rscale and rw_fscale factors. Should be a list of
     113            ! booleans of equal length to dynamical_scale_choice to
     114            ! specify for which choice to include scale dependence.
     115 False = reweight_PDF  ! Reweight to get PDF uncertainty. Should be a
     116            ! list booleans of equal length to lhaid to specify for
     117            !  which PDF set to include the uncertainties.
     118#**************************************************************
     119}}}
     120
     121You can specify inside the run_card the list of pdf requested/ the list of dynamical scale /...
     122
     123For example in order to have multiple dynamical_scale you have to have the line in the run_card
     124{{{
     125 -1,2,3 = dynamical_scale_choice ! Choose one (or more) of the predefined
     126           ! dynamical choices. Can be a list; scale choices beyond the
     127           ! first are included via reweighting
     128}}}
     129The option 2 and 3 for the dynamical scale will then be include via the re-weighting approach
     130
     131
     132== Systematics (python) module
     133 
     134In order to use this module you have to set the run_card parameter "store_reweight_info" to True (i.e. having the following line in the run_card)
     135{{{
     136 True = store_reweight_info
     137}}}
     138This is not the default value of this parameter.
     139If you want that this module is directly called after the event generation you have to add the following line in the run_card:
     140{{{
     141  systematics = systematics_program
     142}}}
     143parameter of the systematics module can be specified in '''systematics_argument''' for example with the following line in the run_card:
     144{{{
     145   ['--pdf=central', '--dyn=-1,3', '--together=mur,muf'] = systematics_arguments
     146}}}
     147The list of available options are the same as the one at LO (see above)
     148
     149As for the LO case, a dedicated function exists in the aMC@NLO interface (available via either launch -i or via the ./bin/aMC@NLO script)
     150
     151
     152