wiki:Matching

Version 3 (modified by JohanAlwall, 7 years ago) (diff)

--

Matching of jets between MadEvent and Pythia

See also the Introduction to Matching in MadEvent and Pythia.

In MadEvent, three versions of matching are implemented:

  • MLM matching with cone jets (as in AlpGen)
  • MLM matching with kt jets (where there are two options for Pythia treatment, the normal MLM procedure or the "Shower kT" scheme)
  • CKKW matching with Pythia $P_T$ shower Sudakov form factors (this option is under development)

The matching scheme (CKKW or MLM) is chosen by the setting of the parameter ickkw in the run_card.dat (ickkw=0 for no matching, 1 for MLM matching and 2 for CKKW matching). The use of cone jets or kt jets is decided by whether the parameter xqcut (specifying the minimum kt jet measure between jets, i.e. gluons or quarks (except top quarks) which are connected in Feynman diagrams) in the run_card.dat is 0 or not. If xqcut=0, cone jets are used, while if xqcut > 0, kt jet matching is assumed. In this case, ptj and drjj should be set to zero. Note: For most processes, the generation speed can be improcved by setting ptj and mjj to xqcut, which is done automatically if the flag auto_ptj_mjj is set to T. If some jets should not be restricted this way (as in single top or vector boson fusion (VBF) production, where some jets are not radiated from QCD), auto_ptj_mjj should be set to F.

If ickkw>0, MadEvent will cluster each event to find its corresponding "parton shower history". This clustering is done according to the Durham kt algorithm, allowing only clusterings corresponding to Feynman diagrams for the process in question (thereby avoiding e.g. clustering of two gluons to a Z). For each clustered QCD vertex, the scale of alpha_s is set to be the kt jet measure value in that vertex. This corresponds to reweighting each alpha_s to the value it would get in a corresponding parton shower. The clustering value for each final-state parton is printed as a comment for each event in the output LHE event file.

If ickkw=2, MadEvent will also apply a Sudakov suppression factor for each internal parton line, with starting and ending scales corresponding to the scales in the surrounding vertices. Please note that this option is still under development.

The MadEvent parameters affecting the matching are the following:

  • ickkw: 0 for no matching, 1 for MLM matching and 2 for CKKW matching
  • xqcut: minimum jet measure (pT/kT) for QCD partons, if xqcut=0 use cone jet matching, if xqcut> 0 use kt jet matching. This value should be related to the hard scale (e.g. mass of produced particle, HT cut, or similar) in the process, and set to ~(1/6-1/3 x hard scale). Please check that the differential jet rate plots (which are automatically generated if you have MadAnalysis and Root properly installed on your system) are smooth, and check that the cross section does not vary significantly when the xqcut is varied up and down.
  • ptj, ptb, drjj, drbb, drbj: For cone jet matching. Note that for kt jet matching, ptj and ptb should be set to xqcut while drjj, drbj and drbb should be set to 0.
  • fixed_ren_scale, fixed_fac_scale: (default F) %BR% If false, use the highest kt jet measure, or mT of the central produced particles, as factorization and renormalization scales for non-emission vertices (see below)%BR% If true, use the fixed scales as factorization and renormalization scale for non-emission vertices
  • scalefact: (default 1) Factor to multiply the jet measure in the factorization scale and non-emission vertices
  • alpsfact: (default 1) Factor to multiply the jet measure in emission vertices
  • maxjetflavor: (default 4) Defines which partons are considered as "j" and which are considered as "b". If matching is including b quarks, set to "5", while if b-quarks are not considered as partons in the proton, set to "4". This option is fully supported from MadGraph 5 v. 1.3.18 and Pythia/PGS package v. 2.1.10.
  • pdfwgt: (default F) Whether emission vertices should be reweighted by the relative PDF factors relating to the vertices. This is needed for a fully consistent description. Note that this option is fully implemented only in MadGraph 5 v. 1.3.18.
  • ktscheme, chcluster, highestmult: Experiment parameters, leave at default.

A comment on renormalization and factorization scales: Emission vertices are all QCD vertices where a gluon or light quark (including bottom) are emitted, except the vertex with the highest kt jet measure (e.g. the q-qbar-g vertex in top quark pair production by an s-channel gluon). Only for those vertices is alpha_s evaluated at the jet measure scale. All other vertices are considered to be non-emission vertices. The factorization scale (either the highest kt jet measure or the given fixed scale depending of the value of fixed_fac_scale) is also used as starting scale for the parton shower in the Pythia run. Note that for t-channel singlet exchange processes such as single top or VBF, the factorization scale is set to the pt of the scattered parton on each side of the event. For 4-flavor matching (where b quarks are considered as heavy particles and not as partons), the factorization scale is set to the geometric average of the highest pT_b and the central m_T scale.

When the event file is read in the Pythia package, the ickkw parameter is automatically read and matching is turned on, using the routine UPVETO. In this routine, which is called for each event after parton showering but before decays and hadronization, the event is clustered using the corresponding jet clustering scheme (cone jets or kt jets), and the event is rejected or accepted depending on whether the resulting jets correspond to final-state partons in the MadEvent event. For the highest jet multiplicity, extra jets are allowed if they are not harder than the softest MadEvent jet. From MadGraph 5 v. 1.3.18 and Pythia/PGS package v. 2.1.10, non-radiation jets such as the scattered jets in VBF are not included in the matching (but final state radiation from such particles is matched consistently), which allows for variation of the matching scale (xqcut/QCUT) in a consistent way also for such processes.

Either the virtuality-ordered showers (chosen by setting MSTP(81)<20) or the pT-ordered showers (MSTP(81)=20 or 21) can be used in the Pythia run. For the pT-ordered shower, there is an option to use the "shower kT" scheme. This scheme uses information from Pythia about the hardness of the first shower emission to reject events, which means that the same value can be used for QCUT and xqcut.

The Pythia parameters (given in the pythia_card.dat) relevant for matching are:

  • IEXCFILE: 1 for exclusive samples (not including the highest jet multiplicity), 0 for inclusive samples (including the highest jet multiplicity)
  • QCUT. For matching using the kt scheme, this is the jet measure cutoff used by Pythia. If not given, it will be set to max(xqcut+5,xqcut*1.2) (where xqcut is read from the MadEvent run_card.dat).
  • MINJETS: Minimum jet multiplicity included in the matching (default -1: lowest multiplicity in file)
  • MAXJETS: Maximum jet multiplicity included in the matching (default -1: highest multiplicity in file)
  • KTSCHE: The kt clustering scheme used by KTCLUS. Default 4313 for hadron collisions, 1 for e+e- collisions.
  • SHOWERKT=T: The "shower kt scheme" is used. Only valid for pT-ordered showers.
  • EXCRES=PDG: Discard event with on-shell resonance PDG in event file. Repeat for additional resonances.

Please see http://arxiv.org/abs/0706.2569, especially sections 2.3 (for MLM matching with cone jet clustering) and 2.4 (for kt jet matching), and http://arxiv.org/abs/0810.5350 (for shower kt), for further details. SHOWERKT (only usable with pt-ordered showers) means that Pythia determines whether to veto events based on the kt values of the hardest shower emission instead of performing jet clustering and comparing with the matrix element. This allows to set QCUT=xqcut, which allows using more of the ME events and therefore improves statistics.

Note that there are special processes, such as p p > t b~ j + p p > t b~ j j (with 4-flavor matching) which contains a mix of different processes with different highest jet multiplicity - in this case, t-channel single top (with leading order process p p > t b~ j), for which p p > t b~ j j contains only one radiated jet, and s-channel single top (with leading order process p p > t b~) for which p p > t b~ j j contains two radiated jets. In this case, Pythia can not automatically perform the highest multiplicity correctly, and the highest multiplicity (in this case 1 jet) has to be set explicitly in the pythia_card.dat file using MAXJETS=1.

Please always check the following after performing matching:

  • The cross section (at the end of the pythia.log) should match the cross section for the 0-jet sample within ~20% or so
  • All jet-related distributions should be smooth. You can use MatchChecker to check the differential jet rate distributions for the matched jets. If ROOT, MadAnalysis and td are correctly installed, you will automatically get differential jet rate distributions on the pythia plot page on the generation result page.
  • As an additional check for large productions, vary the xqcut and QCUT scales around the starting value and ensure that post-matching cross sections and jet-related observables do not vary too much. Note that once you get outside of the range of validity, the results have no physical meaning.

-- Main.JohanAlwall - 2011-10-05

Attachments (1)

Download all attachments as: .zip