wiki:MatchChecker
Last modified 5 years ago Last modified on 04/13/12 18:59:22

MatchChecker

How to access?

The whole package is available from a bzr server, just do:

bzr branch lp:matchchecker

When a matching procedure is performed, in order to check that this choice of parameter is well done, one can look to differential jet rate (DJR), which shows the transition from the regio below the matching scale (Qcut) to the region above. The distributions of DJR has to be independant from the cutoff choosen as this doesn't have a physical meaning and the transition at the cutoff has to be as smooth as possible. Use of MatchChecker make the production of those plots straightforward as explain in the following.

To be more complete, these are the main features of the code

  • Different Pythia files can be used together to increase the statistics.
  • It manages the files of unique multiplicities or inclusive.
  • Comparison between different production is done in one row.
  • it can be used on a cluster for parallel calculation or not.
  • provides the differential jet rates with multiplicity curves as well as comparison plots between different productions (normalization to 1 or to the cross-section)
  • provides a series of plot of kinematic variables for comparison between samples in order to see the matching or whatever you want in the generation process,

First, all those variable has to be insensitive to the choice of matching parameters, and second the comparison with usual standalone generations like Pythia (and Herwig soon we hope) is possible. This kind of result can show direclty how important it is to use matrix-element based generators.

Running MatchChecker

The package is accessible at the bottom of this page. It works on STDHEP files. In the package there are different things:

File Role
MatchCheckerCard.dat Parameters Card
pdgcard.dat Contains conrrespondance between PDG code and particle names
MatchingPlots Where plots are stored
Cosmetics.dat Contains the plots specifications
ExRootAnalysis Contains the routines producing needed rootfiles.
TextFiles Textfiles used by the perl scripts
Convertor.pl A first perl script
PlotMaker.pl A second perl script
ReportMaker.pl A third perl script
MatchChecker.sh The leading script
QparPlot.C The C++ file producing DJR plots
DistribPlots.C The C++ file producing the kinematic variables plots

Note the the version of ExRootAnalysis in the package is NOT the same as the one avail- able on the MG/ME download page.

ExRootAnalysis

The ExRootAnalysis package allows to store events generated by MadGraph and Pythia in a ROOT tree format in order to perform analysis in a ROOT environment. The ExRootAnalysis package can be subdivided into several subsystems:

  • basic frame-work of few classes providing event loop, event selection, basic operations with a ROOT tree file
  • modules selecting events and objects to be analysed at per event and per object level
  • modules analyzing selected events
  • converters from different formats (LHEF, STDHEP,LHCO, etc.) to ROOT tree format.

For example, a selector module can select and group partons generated by MadGraph into several classes (such as leptons, jets, top quarks, etc.) according to their status and particle identification number. For the present case two selector modules have been developed: matrix element parton selector and shower parton selector. The selection algorithms are based on the following rules:

  • For matrix-element parton selection: keep final state partons
  • For shower parton selection : keep final state shower partons
  • For both selections:
    • Skip beam Particles and initial state partons
    • skip intermideate (not final state) partons,
    • skip partons originating (directly or indirectly) from a QED vertex.

The selected shower partons are then used for jet recontruction. The result of the parton selection and jet reconstruction is registered in form of a ROOT tree and further analyzed in QparPlots.C and DistribPlot.C. Documentation on the essay content of the ROOT tree is available on the web.

Before running MatchChecker, the first manipulation is to edit the MatchCheckerCard.dat to the wishes.

MatchCheckerCard

This contains all informations relative to files to be analyzed but also the report content. This is presented as follows:

###########################################
#		MatchCheckerCard			                    #
#							                            #
#		Feb08	S.deVisscher			            #
#	Centre for Particle Physics and Phenomenology    #
#							                            #
###########################################

### BLOCKNAME
test

### BLOCKFILES: production files

BEGINSAMPLE
tag = tag_for_first_production
comment = "your comment here"
banner = non
files = adress_of_first_prod_sample1 (+number if exclusive),adress_of_first_prod_sample2 (+number if exclusive),...
ENDSAMPLE

BEGINSAMPLE
tag = tag_for_second_production
comment = "your comment here"
banner = non
files = adress_of_second_prod_sample1 (+number if exclusive),adress_of_second_prod_sample2 (+number if exclusive),...
ENDSAMPLE


### BLOCKPDG: Write the PDG code of "X" in a "X" + jets process
pdg_code_of_particles_considered_as_in_the_central_system (ttbar in ttbar+jets for example)

###BLOCKSCALE: Scale used for Kt jet definition
40

###BLOCKCUTS: Cuts (GeV) to apply on jets to calculate the rapidity distribution of jets
20 50 100

###BLOCKNORM: Normalize Jet rates to the cross section or 1 (A or B)
A

###BLOCKPLOT: Plots to appear in the Report (1=yes, 0=no)
DJR 1
KinCentral 1
KinJet 1

###BLOCKCONDOR condor use or not? (y or n)
n

###BLOCKJETEXCL Kt specification for extra-jets (jets from additionnal partons)
CollisionType 4
DistanceScheme 3
RecombinationScheme 3
ParameterR 1.0
Exclusive true
ECut 1.0

###BLOCKJETINCL Kt specification for inclusive jets (all jets)
CollisionType 4
DistanceScheme 3
RecombinationScheme 3
ParameterR 1.0
Exclusive false
ECut 1.0

###BLOCKPARTONDEF
partons = {1 2 3 4 5 21}
ExcludeAncestor = {6 24 23 25 35 36 37 1000006 1000021 22 32 1000011 1000012 1000013 1000014 1000015 1000016 1000001 1000002 1000003 1000004 1000005 1000006 2000011 2000012 2000013 2000014 2000015 2000016 2000001 2000002 2000003 2000004 2000005 2000006  1000022 1000023 1000024 1000025 1000035 1000037 1000039}

###BLOCKSHOWEREDPARTONDEF
partons = {1 2 3 4 5 21}
ExcludedAncestorIDs = {6 24 23 25 35 36 37 1000006 1000021 22 32 1000011 1000012 1000013 1000014 1000015 1000016 1000001 1000002 1000003 1000004 1000005 1000006 2000011 2000012 2000013 2000014 2000015 2000016 2000001 2000002 2000003 2000004 2000005 2000006  1000022 1000023 1000024 1000025 1000035 1000037 1000039}



  • The very first block defines the name of the production. For example if test is used, the report will be test_Report.ps
  • The second block contains needed information about the productions:
  • tag = defines a name for the treatment of the first production. This name is used in the plot names. * comment = informations you may want to add, and will appear in the report * banner = if there is a banner, just indicate it's path/name * files = put the adress of the samples (relative or absolute) and if the sample is exclusive, add the multiplicity. For example ttbar_1j 1,ttbar_2jet 2. Note your are not obliged to have an inclusive set , that there can be a missing multiplicity, MatchChecker will still work in this condition
  • The second block contains the PDG code of main particle(s) X in a X + N jets process. This permits to retrieve the information about kinematics of X: $P_{T} (X)$, the angle in the transverse plan between components of X (t and t for instance), $P_{T}$ of one of the particles, the invariant mass of X, rapidity of one of the particle, the rapidity of one particle.
  • The third block indicates the $K_{T}$ scale at which the jet are defined, this is used for the kinematical plots.
  • The fourth block gives the values of the PT cuts to be applied on jets to do the rapidity distributions. The user can choose as many cuts as he wants
  • The fifth block permit to choose of the DJR plots are normalized to 1 or to the cross-section (in pb/bin)
  • The sixth block ask to the user what plots he wants to be put in the report: DJR is related to differential jet rate plots, KinCentral to the kinematic variables of X; and KinJet to the kinematic variables of the jets. About this last point, The PT of the four first jets are plotted. Their rapidity is also plotted for the four different PT cuts.
  • The seventh block says if yes or not the running can be done in . Note that for this somes files in the condor repository have to be edited.
  • The four last blocks are related to the jet content for extra radiation and inclusive jets. For the moment, only the $K_{T}$ algorithm can be used but in the future, any number of jet algo will be taken into account.

Now the basic use of MatchChecker is the following:

./MatchChecker.sh MatchCheckerCard.dat

That's all...

In more details, the action executed are

Running the Convertor.pl and Convertor.sh

The perl script Convertor.pl creates the shell script Convertor.sh (+other secondary files) that will convert in the right way all STDHEP files into rootfiles. As the jet calculation (including Ktjet) is done during this step, it can take a quite long time to be completed.

Running the PlotMaker.pl and PlotMaker.sh

The perl script PlotMaker.pl creates, from the reading of the card, an other shell script PlotMaker.sh and two others, LaunchQpar.sh and LaunchDistrib.sh (+other secondary files). The role of the first one, PlotMaker.sh is mainly to execute the two other scripts that will produce respectively differential jet rate plots and kinematic variables plots. Beside this, other cards needed for internal purpose are also created.

Running the ReportMaker.pl and ReportMaker.sh

The perl script ReportMaker.pl creates, from the reading of the card, an other shell script ReportMaker.sh and a TEX file. The role of the shell script is to compile the TEX file and produce the PostScript file Report.ps.

The Report

The report is organized as following:

  • List of banners, one for each production (this is indicative, to help the user to remember the details).
  • Differential jet rate for each production with the multiplicity details
  • Comparison of DJR between productions (normalized to 1 or the cross section)
  • kinematic plots of X in a X+ jets process for each production (with multiplicity details)
  • comparison of kinematic plots between production
  • ratios of plots between productions
  • $P_{T}$ of the four first jets (with multiplicity details)
  • comparison of the $P_{T}$ of the four first jets
  • ratios of plots between productions
  • $\eta$ of the four first jets (with multiplicity details) for each PT cut choosen by the user
  • comparison of the $\eta$ of the four first jets
  • ratios of plots between productions
  • Ht(j): Give the scalar sum

where MET is the missing transverse energy, and $P_{T,i}$ the transverse momentum of the i-th jet. Ht(1, 4) is given for each PT cut applied on jets.

  • comparison of the Ht of the four first jets
  • ratios of plots between productions
  • Ht(j): Give the missing transverse energy.
  • comparison of the MET
  • ratios of plots between productions

Differential Jet Rate

The DJR 1 $\rightarrow$ 0, 2 $\rightarrow$ 1, 3 $\rightarrow$2 and 4 $\rightarrow$ 3 are given for each production. The contribution of each multiplicity is given. The smoothness of the transition region indicates how much the choice of xqcut and Qcut in the matching procedure is valid. <br /> <img width="450" alt="Q2_33_50_0bis.jpg" src="ATTACHURLPATH/Q2_33_50_0bis.jpg" height="293" />

This plot is out from a production of ttbar+0,1,2 jets with mt = 350 GeV. The curves for the zero and one jets multiplicities appear at the left handside of the cutoff, which means that the scale at which the showered partons are grouped into one jets (this is the 2 to 1 plot) is smaller than 50 GeV. This is normal as the maximal distance in the phase-space to characterize a jet is the cutoff. Therefore only the two partons events ,i.e. the events with showered partons more far to each other than the cutoff, can be above the cutoff. Beside the detailed description for each production, the comparison of DJR is done between productions. The goal is to check the invariance of the global shape with respect to the choice of the cutoff but also to be able to compare difference coming from other parameters related to the generation. In the figure taken from two production of tt+0,1,2,3 jets done with a slight difference of factorization scale in the ME generation, the comparison permit to understand the effect of this change over the rates. <br /> <img width="450" alt="Q3_comparison_30_30.jpg" src="ATTACHURLPATH/Q3_comparison_30_30.jpg" height="293" />

4.2 Kinematics For each production, the PT (X), $\Delta\phi$(X) (if X is two particles: tt, ZZ, WW, WZ, etc...), $\eta$(X), m(X), the PT of one particle composing X and also his rapidity are showed.

For each PT cut chosen by the user, the rapidity of each jet is also given

-- Main.SimonDeVisscher - 02 Dec 2007

Attachments