+jet Events from
Alpgen vs Pythia
in CMSSW 1_6_8
Michael Anderson
University of Wisconsin
March 27, 2008
1
+jet Datasets
Alpgen:
/ph1j_20_60-alpgen/CMSSW_1_6_7-CSA07-1201165474/RECO
/ph1j_60_120-alpgen/CMSSW_1_6_7-CSA07-1202106391/RECO
/ph1j_120_180-alpgen/CMSSW_1_6_7-CSA07-1200559977/RECO
/ph1j_180_240-alpgen/CMSSW_1_6_7-CSA07-1200560452/RECO
/ph1j_240_300-alpgen/CMSSW_1_6_7-CSA07-1200560032/RECO
/ph1j_300_7000-alpgen/CMSSW_1_6_7-CSA07-1203060287/RECO
Cross-section
(pb)
69327.9
1558.9
92.0
16.3
4.1
2.2
– Cross sections from AlpgenSummer07
Pythia:
/CSA07AllEvents/CMSSW_1_6_7-CSA07-Gumbo-B1-PDAllEvents-Skims1-photonjets_AODSIM/USER
– Cross sections from CSA07EventWeightProducer
2
Pythia Skim
The main differences between
these pythia and alpgen samples:
– Pythia events were in a skim - so
they had to pass trigger filters!
– ALPGEN normalized
to 100pb-1 by hand
– Pythia normalized to 100 pb-1 by
the CSA07EventWeightProducer
3
(Used processID to select
only +jet events in pythia skim)
Generated Objects
From each event, selected:
– Highest Et with
• Et > 20 GeV
– Highest Pt jet with
• Pt > 20 GeV
• 2.5 < < 3.8
4
Used genParticleCandidates
and iterativeCone5GenJetsPt10
Highest Et
Generated photon
Remember: Pythia
went through
trigger filters &
used event weight
producer
Events/bin
Photon Et
– but still - why the
bumps?
GeV
5
Photon and
Dips in for pythia
due to reconstruction
not passing trigger
filters
6
Between generated
and jet
Jet with
– Pt > 20 GeV
– 2.5 < < 3.8
Events/bin
Photon R to Jet
R
7
Generated Jet
Number of Generated
Jets with
– Pt > 20 GeV
Events/bin
GeV
8
Events/bin
Generated Jet Pt
GeV
9
Generated Jet and
10
Next Steps
11
Implement the same
selection to the Alpgen
sample and see if the
shape is similar to the
PYTHIA sample
Begin looking at
reconstruction level
photons & jets
12
the ugly details
13
CSA07EventWeightProducer
Handle<double> genCrossSect;
evt.getByLabel( "genEventRunInfo", "PreCalculatedCrossSection", genCrossSect);
cross_section = *genCrossSect;
. . .
// photon + jets
if ( processID == 14 || processID == 18 || processID == 29 ) {
if
if
if
if
if
if
if
if
if
if
}
14
(pthat
(pthat
(pthat
(pthat
(pthat
(pthat
(pthat
(pthat
(pthat
(pthat
>
>
>
>
>
>
>
>
>
>
0 && pthat < 15) { (*weight) = cross_section / 0.3E+06;}
15 && pthat < 20) { (*weight) = cross_section / (0.52E+06); }
20 && pthat < 30) { (*weight) = cross_section / (0.6E+06); }
30 && pthat < 50) { (*weight) = cross_section / (0.51E+06); }
50 && pthat < 80) { (*weight) = cross_section / (0.52E+06); }
80 && pthat < 120) { (*weight) = cross_section / (0.53E+06); }
120 && pthat < 170) { (*weight) = cross_section / (0.56E+06); }
170 && pthat < 300) { (*weight) = cross_section / (2.0E+05); }
300 && pthat < 500) { (*weight) = cross_section / (3.0E+04); }
500 && pthat < 7000) { (*weight) = cross_section / (3.0E+04); }
Weighing Events
Used
CSA07EventWeightProducer
by Filip Moortgat to get
event weights in skims
https://twiki.cern.ch/twiki/bin/view/CMS/CSA07GeneratorInformation
15
CSA07EventWeightProducer
16
When different processes get mixed together into a big soup, they cannot all
go in with their proper cross sections (we would only have QCD), so some
processes are reduced with respect to others. To compensate for this reduction,
a "weight" can be given to each event. In an analysis, this weight should be
included when calculating numbers of events of a given process passing a
certain selection, or when plotting a certain event variable integrated over
various processes.
In principle, the "event weight" is given by the cross section times luminosity
divided by the number of events of a given process that are in the soup. When
a generator level filter has been applied, this artificially enhances the
(effective) cross section, so the event weight should be multiplied by the filter
efficiency.
In practice, for the CSA07 soup, the calculation of the event weights is nontrivial. The number of events of every process that actually make it into the
soup has to be exactly known. Some processes are overlapping (e.g. Min Bias
contains also soft QCD) and care needs to be taken to avoid double counting.
Photon + Jet Processes
Pythia
Only selecting these
processes from skim
using processID
17
Alpgen
© Copyright 2026 Paperzz