Hgg exercise 10 TeV

The purpose of this site is to put in common some information to be used in our Hgg exercise at 10 TeV.


Mailing list


SVN repository



Link to the Hfitter TWiki

Ntuple production


Irreducible background (Under Construction)

The irreducible background which corresponds to the production of a pair of photon mainly comprises of three processes: the Born process (qq --> gamma gamma), the Box process (gg --> gamma gamma) and the Bremsstrahlung process (qg --> q[-->q gamma] gamma). To estimate a Next-to-Leading Order normalization of the irreducible background at LHC energies, different programs and Monte-Carlo generators are used. The generators allow for a prediction of experimental effects (work with reconstructed quantities) while the programs provide a more careful treatment of QCD corrections. The MC generators and programs used in most studies (CSC, prospects for exclusion at 10 and 7 TeV centre-of-mass energies) are respectively Alpgen and Pythia and Resbos and Diphox. Alpgen and Pythia samples used for the study of prospects for Higgs boson exclusion at 10 TeV (ATL-COM-PHYS-2010-218) are listed in the following. The specificities of Resbos and Diphox programs and the method to install and use them are described below. As an example, the steps to reproduce the plots and results derived in the 10 TeV study are detailed.

Alpgen and Pythia

The rootfiles used to derive Alpgen and Pythia differential cross sections for the analysis at 10 TeV use these different samples:

Data set x-sec (pb) Filter Eff. (%) N events Eq. luminosity (pb-1) specificities
mc08.105964.Pythiagamgam15.merge.AOD.e347_s462_s520_r808_r838 9.345 E+2 12.81 99939 8.35 E+2 born+box
mc08.106895.AlpgenJimmyGamGamWithAAMassNp0.merge.AOD.e384_s462_s520_r808_r838 4.530 100 99891 2.21 E+4 born+brem (0 hard parton)
mc08.106896.AlpgenJimmyGamGamWithAAMassNp1.merge.AOD.e384_s462_s520_r808_r838 3.860 100 85951 2.23 E+4 born+brem (1 hard parton)
mc08.106897.AlpgenJimmyGamGamWithAAMassNp2.merge.AOD.e384_s462_s520_r808_r838 2.800 100 99892 3.57 E+4 born+brem (2 hard partons)
mc08.106898.AlpgenJimmyGamGamWithAAMassNp3.merge.AOD.e384_s462_s520_r808_r838 2.080 100 99906 4.80 E+4 born+brem (3 hard partons)

The rootfiles are produced using the PAU package (Version 96) and can be found at Lyon:
> ls /sps/atlas/h/hggaf/PAU-96/

The rootfile are then reduced using a macro reducePAU.C. The header is reducePAU.h One should note that for Alpgen, the reduced rootfiles for each exclusive sample (2 photons+ n partons, n=0..3) must be generated before the reweighting (in the purpose of defining the weight) and after reweighting to get the final differential cross sections for the born+brem contribution. The weight defined per bin of 2.5 GeV/c in diphoton transverse momentum and used in the 10 TeV analysis can be found here .


Resbos is a program of resummed NLO Martix Element (ME) calculation. It produces differential cross sections of the diphoton production in high energy experiments, such as the Tevatron and the LHC. It implements the Born and Box processes, and also the Brem process, with the emission of a photon by a final-state parton. The NLO QCD corrections and the soft gluons initial-state resummed corrections are included. To absorb the IR and colinear final-state divergences arising in the Brem process, the LO one photon fragmentation of a final-state parton is included. To describe the experimental effects Resbos implements a pseudo-experimental isolation, requiring that the tranverse energy deposited in a cone in the (eta,phi) plane around the photon direction does not exceed a threshold fixed by the user, as well as the cone size. Typical values are Et_max = 15 GeV and DeltaR = 0.4. A separation between the two photons is also required (typically DeltaR_gammagamma = 0.7).
A short description of Resbos followed by a complete bibliograhy is available on ResBos page.

Resbos package

The Resbos code is made in fortran. The package can be downloaded here. It contains:
  • book_ntuple_lhc_public.bat which is the executable. It uses input files and grids. It produces ntuples (in Root or Paw format) and output files with details of the calculation.

  • ins/: the directory containing the input files in the subdirectory lhc/. The differential and total resummed cross sections for the born and brem processes are generated simultaneously and separately from the box process. "aa" symbolizes the born+brem contribution and "ag" the box. The program calculates two different parts of the phase space that are the perturbative part, symbolyzed by "ps2" and which occurs at medium to high Pt_gammagamma, and the resummed part, symbolzyed by "w2211" and which provides the smooth shape at low Pt_gammagamma. The parameters in the input files are used in book_ntuple_lhc_public.bat , which is very intuitive.

  • grids/: the directory contains the LHC input grids for the irreducible background at 10 TeV energy in the centre-of-mass. The grids for the irreducible background production at other energies at LHC (7, 14 TeV) are available at the link: http://hep.pa.msu.edu/resum/grids/resbos_p/aa/lhc/

  • input/: contains the files for the PDFs. By default the NLO PDF cteq6m is used. Other PDFs can be found at the link: http://hep.pa.msu.edu/resum/index.html#AA (one should probably ask for the corresponding grids to the author of the code: Pavel Nadolsky <nadolsky@physics.smu.edu>)

  • The principal directory also contains the fortran code resbos.f and a Makefile, needed for the first compilation. A detailed readme and a report of resbos updates can be found in the file resbos.f. Only root ntuples are created with this version of Resbos (For Paw ntuples, you need another version, probably older).

How to install?

1.- Resbos is a 32bit program. Check that you are in 32bit machine. For instance at Lyon (username_at_ccalisl5.in2p3.fr):
> file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

2.- setup root in 32 bit:
> export ROOTSYS=/afs/cern.ch/atlas/software/releases/15.6.8/sw/lcg/app/releases/ROOT/5.22.00d/i686-slc5-gcc43-opt/root
> export PATH=$ROOTSYS/bin:$PATH

3.- Use the paw and root libraries in 32bit in the Makefile:
PAWLIBS=-L/afs/cern.ch/sw/lcg/external/cernlib/2005/x86_64-slc5-gcc34-opt/lib -lpacklib_noshift

and in the executable:
export ROOTSYS=/afs/cern.ch/atlas/software/releases/15.6.8/sw/lcg/app/releases/ROOT/5.22.00d/i686-slc5-gcc43-opt/root
export PATH=$ROOTSYS/bin:$PATH

4.- Compile: > make
5.- Run the program: > ./book_ntuple_lhc_public.bat
It takes generally less than one hour. Two root ntuples are created: one for the born+brem contribution and one for the box contribution. 6.- If you wish to work with a single root ntuple you can merge the two previous ntuples: > ./treemerge h10 merge_ntuple_lhc10TeV_ct6m.root res321_aa_lhc10TeV_ct6m.root res321_ag_lhc10TeV_ct6m.root

Then you have one root nutple containing a list of kinematic variables per event defined in the Collin-Soper frame : D_phi, DelR34, M_B, WT00, cos_the_, pT_d1, pT_d2, phi_sta, y_B, y_d1 and y_d2 .


Diphox is a fixed order program of ME calculation almost fully at NLO (the box process is implemented at LO only), including the fragmentation into a leading photon of one or two final-state partons. Its treatment of fragmentation is particularly accurate. Despite the absence of treatment of the soft emission which may imply discontinuities in the description of physical observables, Diphox provides meaningful differential cross sections at NLO. It can be used to derive a NLO normalization of the born+brem processes.

Diphox package can be downloaded here (or in the link http://lappweb.in2p3.fr/lapth/PHOX_FAMILY/diphox.html). A detail readme can be found in the same link. The package structure and the method how to install it and run the program are described there. In the spirit to make the user's life easier, one can follow the instructions below to install and run Diphox program:

How to Install?

1.- Uncompress the package:
> tar zxvf diphox_1.2.tar.gz

There are 7 subdirectories in diphox_1.2/ whose contains are descibed in detail in the readme. In the working/ directory, the user essentially cares about two files: parameter.indat which fixes all the parameters for the generation and param_histo.indat which fixes the kinematic cuts applied at the level of the histograms and the number of histograms in the ntuple, their name and binning.

2.- Before doing the Makefile, the user has to download few more files:

  • Download this Makefile and replace the one in working/ by this new one. Few modifications are applied with respect to the original version, that basically ensure the use of the good CERN libraries as well as the use of the PDF cteq61. This new set of PDF is not implemented in the Diphox package by default.
  • Download the librairy for cteq61 (uncompress it) and a small program used to identify which PDF is used in the parameters (in parameter.indat). Put the program and the sub-directory in pdfs/
> cp -r cteq6.1/ ~/username/diphox_1.2/pdfs/
> cp pftopdg_cteq61.f ~/username/diphox_1.2/pdfs/

3.- Do the makefile:
> make bases
> make

4.- Run the program:
> perl start.pl
This creates the executable runXXX.exe where XXX is an arbitrary name fixed by the user (_pipo in the parameter.indat by default)
> run_pipo.exe As the calculation takes a long time (few hours-days), you might want to send jobs in bash (for instance using qsub commands)

The output (containing the rootfiles) is by default located in pawres/ subdirectory. There is one output file produced for each contribution: direct, one fragmentation and two fragmentations contributions separetly, respecteiley symbolized by ggd, ggo, ggt followed by the extension choosen by the user (in parameter.indat). Diphox produces paw histograms. To transform them into root files, simply do:
> h2root ggd.dat the_name_you_wish.root (for the direct contribution)
> h2root ggo.dat the_name_you_wish.root (for the one fragmentation contribution)
> h2root ggt.dat the_name_you_wish.root (for the two fragmentation contribution)

NB : For more complicated change in kinematic cuts go to /src/histo/histo_selection.f and play with the cuts at the end of the code. For instance to mimics the crack region replace: rapidite = (y1.le.y1max.and.y1.ge.y1min).and.
# (y2.le.y2max.and.y2.ge.y2min)
crack1 = 1.37
crack2 = 1.52
y1abs = sqrt(y1**2)
y2abs = sqrt(y2**2)
rapidite = (y1.le.y1max.and.y1.ge.y1min).and.
# (y2.le.y2max.and.y2.ge.y2min).and.
# (y1abs.le.crack1.or.y1abs.ge.crack2).and.
# (y2abs.le.crack1.or.y2abs.ge.crack2)

Application: reproduce Resbos and Diphox root ntuples used to derive a NLO normalization of the irreducible background at 10 TeV

Normalization of the born+brem contribution:

For Resbos that is used in the reweighting procedure, typical executable file can be found here. The kinematic cuts are loose with respect to the final analysis to unbias the final result. A macro is needed to produce a rootfile from the initial ntuple. Such macro can be downloaded here. It generates a rootfile for the born+brem contribution only that is then used to derive the Pt binned weight. As explained in the note ATL-COM-PHYS-2010-218 Resbos cross section is corrected by Diphox which implements the one and two photon-fragmentations at NLO while Resbos only mimics the one photon-fragmentation at LO. It leads to an increase of the total born+brem cross section of about 22%. Here are the typical parameter.indat and param_histo.indat Diphox files used in the study. In Diphox, the cuts must be choosen in the parameter.indat and param_histo.indat files initially, before running the program as the ouput is a already rootfile.

Reproduce Figure 9: comparison Resbos/Diphox

The kinematic cuts used are the standard ones:
Pt_leading > 40 GeV/c, Pt_subleading > 25 GeV/c
100 < M_gammagamma < 150 GeV/c2
|eta_leading, eta_subleading| < 2.37 (+ crack region excluded)

One can find the Resbos and Diphox rootfiles at Lyon respectively at the following paths:
>ls /sps/atlas/h/hggaf/FilesDiphox
>ls /sps/atlas/h/hggaf/FilesResBos

Once you have Resbos and Diphox rootfiles you can easily reproduce the plots in Figure 9 of the Note using this macro. There is of course some esthetic changes to perform in order to get exactely the same style (see Fig9a.gif and Fig9b.gif in attachment)....

https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig9a.gifFig 9.a https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig9b.gifFig 9.b

Reproduce Figure 10: comparison Alpgen/Resbos, Weight definition

The purpose of this twiki page is not to explain how to produce Alpgen rootfiles. However as these are used to produce the plots of Figure 10 and 13, rootfiles before reweighting can be found at Lyon :

> ls /sps/atlas/h/hggaf/FilesALPGEN/
The reduced rootfiles (after reweighting, as used in Figure 12) can be found at Lyon at:
> ls /sps/atlas/h/hggaf/Reduced_PAU-96/

To reproduce the plot of Figure 10, one can use this macro. In the macro, the result of the fit on the weight is directly given (the user therefore has to repeat the fit procedure for any other study) and used to fill the file weights_Alpgen_10TeV_wfit_r838_Pavel_largerNodep.txt that is used to produce the reduced ntuples after reweighting.

https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig10a.gifFig 10.a https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig10b.gifFig 10.b

Normalization of the box contribution:

The normalization of the Box process is relatively simple. It consists of normalizing Pythia cross section to the NLO cross section as generated with Resbos. Using the Resbos rootfile for the Box contribution that can be found at: /sps/atlas/h/hggaf/FilesResBos/
as well as Pythia rootfile located at /sps/atlas/h/hggaf/FilesPythia/, the user can reproduce the plot of Figure 12 of the note using this macro.

https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig12.gifFig 12

Reproduce Figure 13: Plot of Ptgg and Mgg for all irreducible background

Figure 13 of the Note illustrates the distributions of the transverse momentum and the invariant mass of the diphoton system combining the Born+Brem and Box contributions to the irreducible background. These plots are made using the reduced ntuples of Alpgen after reweighting and of Pythia after applying a k-factor translating the NLO QCD corrections brought by Resbos. These ntuples used can be found at Lyon:
>ls /sps/atlas/h/hggaf/Reduced_PAU-96

To reproduce these plots, one can use the following macro. The rootfiles used in the macro can be found in /sps/atlas/h/hggaf/FilesALPGEN/ and /sps/atlas/h/hggaf/FilesPythia/. (These differ from the previous one in term of normalization).

https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig13_a.gifFig 13.a https://twiki.cern.ch/twiki/pub/Main/HggExercice10TeV/Fig13_b.gifFig 13.b

Reducible background

The jets/event numbers are related to jets in the acceptance (|eta|<1.37 || 1.52<|eta|<2.37) whose highest-pt matching particle within a cone of radius 0.4 is a parton (either gluon or a quark).

Data set x-sec (pb) Filter Eff. Jets/event g-jets q-jets
mc08.105802.JF17_pythia_jet_filter (1.457+/-0.002) E+9 0.0709+/-0.0001 0.4412+/-0.0003 (pt>20GeV) 0.3303+/-0.0003 0.1108+/-0.0002
0.2167+/-0.0007 (pt>25GeV) 0.1621+/-0.0002 0.0546+/-0.0001
0.0353+/-0.0001 (pt>40GeV) 0.0259+/-0.0001 0.0095+/-0.0001
mc08.105807.JF35_pythia_jet_filter (7.517+/-0.009) E+7 0.1356+/-0.0005 0.5315+/-0.0010 (pt>40GeV) 0.3856+/-0.0009 0.1459+/-0.0005
mc08.105807.JF70_pythia_jet_filter 4.719E+6 0.2002+/-0.0006 0.5241+/-0.0011 (pt>80GeV) 0.3583+/-0.0009 0.1659+/-0.0006
mc08.105830.JF17_herwig_jet_filter 1.166E+9 0.0827+/-0.0002 0.4268+/-0.0005 (pt>20GeV) 0.3323+/-0.0004 0.0945+/-0.0002
0.2074+/-0.0003 (pt>25GeV) 0.1597+/-0.0003 0.0477+/-0.0002
0.0338+/-0.0001 (pt>40GeV) 0.0250+/-0.0001 0.0088+/-0.0001
mc08.105831.JF35_herwig_jet_filter 6.055E+7 0.1444+/-0.0003 0.4989+/-0.0005 (pt>40GeV) 0.3687+/-0.0004 0.1302+/-0.0003
mc08.105831.JF70_herwig_jet_filter 3.812E+6 0.1970+/-0.0003 0.4773+/-0.0006 (pt>80GeV) 0.3248+/-0.0005 0.1525+/-0.0003
mc08.106379.PythiaPhotonJet_AsymJetFilter 2.892E+5 0.0361+/-0.0002 0.3269+/-0.0006 (pt>20GeV) 0.0629+/-0.0003 0.2640+/-0.0005
mc08.108086.PythiaPhotonJet_JetFilter_Nj2Et17 0.0721+/-0.0003 0.1718+/-0.0004 (pt>25GeV) 0.0294+/-0.0002 0.1424+/-0.0004
mc08.108087.PythiaPhotonJet_Unbinned17 0.4292+/-0.0006 0.0365+/-0.0002 (pt>40GeV) 0.0050+/-0.0001 0.0315+/-0.0002

Jetphox package

The jetphox package can be downloaded at the link http://lappweb.in2p3.fr/lapth/PHOX_FAMILY/jetphox.html. However several modifications are needed to be able to produce rootfiles for standard ATLAS analyses as performed in the HSG1 group, to estimate semi-reducible background normalization at Next-to-Leading Order with the account for the NLO photon fragmentation of final-state parton. Few modifications in the code (Fortran language), are applied in a new package that can be downloded here:

  • initially there is no cut such as pt_min = min(pt_gamma,pt_jet), pt_max = max(pt_gamma,pt_jet) in jetphox. To have such cut, the user can modify the file jetphox_1.0/src/histo/histo_selection_jet.f. The best way to do it is to choose losse cuts in parameter.indat (typically pt_gamma > 10 GeV, pt_jet > 20 GeV) and in the histo_selection_jet.f file to define asymetric cuts, as proposed in the new package.
  • initially there is no mass definition or cut. Similarly the gamma-jet mass and the mass range can be defined in histo_selection_jet.f. The start.pl file in the working/ direcotry also requires few changes. Finally, the mass histograms are defined param_histo.indat. These modifications are done in the new package.
  • As in Diphox, the fiducial cut are not applied in the initial version of jetphox but can be defined in the histo_selection_jet.f file. There are aken into account in the new version proposed here.

To install Jetphox package the user can follow the instructions given for Diphox.

Major updates:
-- HeberthTorres - 29-Nov-2009
-- GiovanniMarchiori - 08-Dec-2009
-- BernatPauline - 04-Aug-2010

%REVIEW% Never reviewed

Topic attachments
I Attachment History Action Size Date Who Comment
GIFgif Fig10a.gif r1 manage 65.5 K 2010-08-04 - 12:16 UnknownUser Fig10a
GIFgif Fig10b.gif r1 manage 32.6 K 2010-08-04 - 12:16 UnknownUser Fig10b
GIFgif Fig12.gif r1 manage 33.3 K 2010-08-04 - 12:10 UnknownUser Figure 12
GIFgif Fig13_a.gif r1 manage 40.8 K 2010-08-04 - 12:06 UnknownUser Figure 13a
GIFgif Fig13_b.gif r1 manage 42.8 K 2010-08-04 - 12:06 UnknownUser Figure 13b
GIFgif Fig9a.gif r1 manage 61.7 K 2010-08-03 - 16:13 UnknownUser Fig 9a
GIFgif Fig9b.gif r1 manage 31.4 K 2010-08-03 - 16:13 UnknownUser Fig9b
C source code filec MakeRootFileFromResBos.C r1 manage 2.2 K 2010-08-03 - 15:01 UnknownUser Resbos routine to make histograms from ntuples
Unknown file formatext Makefile r1 manage 7.8 K 2010-08-03 - 14:37 UnknownUser Diphox Makefile
Header fileh Renormalisation.h r1 manage 3.2 K 2010-09-01 - 13:18 UnknownUser files for good signal and background samples normalization
Compressed Zip archivezip ResbosPN_jan2010.zip r1 manage 3639.1 K 2010-08-03 - 11:06 UnknownUser Resbos package
MS-DOS batch filebat book_ntuple_lhc_public.bat r1 manage 14.5 K 2010-08-03 - 16:46 UnknownUser typical file for Resbos (10 TeV)
Compressed Zip archivezip cteq6.1.zip r1 manage 6002.5 K 2010-08-03 - 14:36 UnknownUser cteq6.1 library
Unknown file formatgz diphox_1.2.tar.gz r1 manage 2378.5 K 2010-08-03 - 14:39 UnknownUser Diphox package
Unknown file formatgz jetphox_1.0.PBernat.0910.tar.gz r1 manage 31061.0 K 2010-09-01 - 13:18 UnknownUser jetphox package (modified by P. Bernat)
Unknown file formatindat param_histo.indat r1 manage 6.6 K 2010-08-03 - 15:15 UnknownUser typical file for Diphox (cut and histograms)
Unknown file formatindat parameter.indat r1 manage 19.8 K 2010-08-03 - 15:15 UnknownUser typical file for Diphox (cuts)
Unknown file formatf pftopdg_cteq61.f r1 manage 4.1 K 2010-08-03 - 14:37 UnknownUser file for PDF cteq61 (diphox)
C source code filec reducePAU.C r1 manage 6.0 K 2010-09-01 - 13:17 UnknownUser macro for reduced ntuples
Header fileh reducePAU.h r1 manage 93.6 K 2010-09-01 - 13:17 UnknownUser header for reduced ntuples
C source code filec routineOff_alpgen_resbosForTwiki.C r1 manage 8.2 K 2010-08-04 - 10:34 UnknownUser routine to reproduce the plots of Figure 10 a and b
C source code filec routinePlotFig9_Diphox_Resbos.C r1 manage 2.5 K 2010-08-03 - 16:03 UnknownUser routine to reproduce the plots of Figure 9
C source code filec routinePlotFig9ab_Diphox_Resbos.C r1 manage 4.2 K 2010-08-04 - 10:18 UnknownUser routine to reproduce the plots of Figure 9 a and b
C source code filec routine_IrreducibleBack_ForTwiki.C r1 manage 5.4 K 2010-08-04 - 11:41 UnknownUser routine to reproduce the plots of Figure 12
C source code filec routine_PythiaResbosBox_ForTwiki.C r1 manage 2.2 K 2010-08-04 - 11:02 UnknownUser routine to reproduce the plot of Figure 11
Texttxt weights_Alpgen_10TeV_wfit_r838_Pavel_largerNodep.txt r1 manage 2.8 K 2010-09-01 - 13:25 UnknownUser Alpgen weight (PTgg bin 2.5 GeV)
Edit | Attach | Watch | Print version | History: r32 < r31 < r30 < r29 < r28 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r32 - 2011-07-26 - Torres
    • 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