[Rivet-svn] r1771 - in trunk: data/anainfo data/plotinfo include/Rivet include/Rivet/Analyses src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Aug 19 22:32:05 BST 2009


Author: fsiegert
Date: Wed Aug 19 22:32:05 2009
New Revision: 1771

Log:
Add Monte-Carlo validation analysis MC_TVT1960_PHOTONJETS.

Added:
   trunk/data/anainfo/MC_TVT1960_PHOTONJETS.info
      - copied, changed from r1754, trunk/data/anainfo/MC_TVT1960_ZJETS.info
   trunk/data/plotinfo/MC_TVT1960_PHOTONJETS.plot   (contents, props changed)
      - copied, changed from r1770, trunk/data/plotinfo/MC_TVT1960_ZJETS.plot
   trunk/include/Rivet/Analyses/MC_TVT1960_PHOTONJETS.hh   (contents, props changed)
      - copied, changed from r1770, trunk/include/Rivet/Analyses/MC_TVT1960_ZJETS.hh
   trunk/src/Analyses/MC_TVT1960_PHOTONJETS.cc   (contents, props changed)
      - copied, changed from r1770, trunk/src/Analyses/MC_TVT1960_ZJETS.cc
Modified:
   trunk/data/anainfo/Makefile.am
   trunk/data/plotinfo/Makefile.am
   trunk/include/Rivet/Makefile.am
   trunk/src/Analyses/Makefile.am
   trunk/src/Analyses/StdAnalyses.cc

Copied and modified: trunk/data/anainfo/MC_TVT1960_PHOTONJETS.info (from r1754, trunk/data/anainfo/MC_TVT1960_ZJETS.info)
==============================================================================
--- trunk/data/anainfo/MC_TVT1960_ZJETS.info	Sat Aug 15 20:40:22 2009	(r1754, copy source)
+++ trunk/data/anainfo/MC_TVT1960_PHOTONJETS.info	Wed Aug 19 22:32:05 2009	(r1771)
@@ -1,6 +1,6 @@
-Name: MC_TVT1960_ZJETS
+Name: MC_TVT1960_PHOTONJETS
 Year: NONE
-Summary: Monte Carlo validation observables for Z[e+ e-] + jets production at Tevatron Run II
+Summary: Monte Carlo validation observables for photon + jets production at Tevatron Run II
 Experiment: MC
 Collider: Tevatron Run 2
 SpiresID: NONE
@@ -9,12 +9,8 @@
  - Frank Siegert <frank.siegert at durham.ac.uk>
 References:
 RunInfo:
-  Tevatron Run II ppbar -> e+ e- + jets at 1960 GeV. Needs
-  mass cut on lepton pair to avoid photon singularity, e.g.
-  a min range of $66 < m_ee < 116$ GeV
-NumEvents: 1000000
+  Tevatron Run II ppbar -> gamma + jets at 1960 GeV.
+NumEvents: 10000000
 PtCuts: [0]
 Description:
-  Available observables are Z mass, pT of jets 1-4, jet multiplicity,
-  Delta eta (Z, jet1), Delta R (jet2, jet3), Differential jet
-  rates 0->1, 1->2, 2->3, 3->4, Integrated 0-4 jet rates
+  Different observables related to the photon and extra jets.

Modified: trunk/data/anainfo/Makefile.am
==============================================================================
--- trunk/data/anainfo/Makefile.am	Wed Aug 19 21:22:40 2009	(r1770)
+++ trunk/data/anainfo/Makefile.am	Wed Aug 19 22:32:05 2009	(r1771)
@@ -50,6 +50,7 @@
   MC_LHC_LEADINGJETS.info \
   MC_LHC_DIJET.info \
   MC_LHC_ZANALYSIS.info \
+  MC_TVT1960_PHOTONJETS.info \
   MC_TVT1960_ZJETS.info \
   OPAL_1998_S3780481.info \
   PDG_HADRON_MULTIPLICITIES.info \

Copied and modified: trunk/data/plotinfo/MC_TVT1960_PHOTONJETS.plot (from r1770, trunk/data/plotinfo/MC_TVT1960_ZJETS.plot)
==============================================================================
--- trunk/data/plotinfo/MC_TVT1960_ZJETS.plot	Wed Aug 19 21:22:40 2009	(r1770, copy source)
+++ trunk/data/plotinfo/MC_TVT1960_PHOTONJETS.plot	Wed Aug 19 22:32:05 2009	(r1771)
@@ -1,130 +1,124 @@
-# BEGIN PLOT /MC_TVT1960_ZJETS/Z_jet1_dR
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/photon_jet1_dR
 Title=
-XLabel=$\Delta R(\text{Z, 1st jet})$
-YLabel=$\text{d}\sigma/\text{d}\Delta R(\text{Z, 1st jet})$
+XLabel=$\Delta R(\gamma\text{, 1st jet})$
+YLabel=$\text{d}\sigma/\text{d}\Delta R(\gamma\text{, 1st jet})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/Z_jet1_deta
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/photon_jet1_deta
 Title=
-XLabel=$\Delta{\eta}(\text{Z, 1st jet})$
-YLabel=$\text{d}\sigma/\text{d}\Delta{\eta}(\text{Z, 1st jet})$
+XLabel=$\Delta{\eta}(\gamma\text{, 1st jet})$
+YLabel=$\text{d}\sigma/\text{d}\Delta{\eta}(\gamma\text{, 1st jet})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/Z_mass
-Title=Z mass
-XLabel=$m_{\text{Z}}$ [GeV]
-YLabel=$\text{d}\sigma/\text{d}m_{\text{Z}}$
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/photon_pT
+Title=Photon $p_\perp$
+XLabel=$p_\perp^{\gamma}$ [GeV]
+YLabel=$\text{d}\sigma/\text{d}y_{\gamma}$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/Z_pT
-Title=Z $p_\perp$
-XLabel=$p_\perp^{\text{Z}}$ [GeV]
-YLabel=$\text{d}\sigma/\text{d}y_{\text{Z}}$
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/photon_y
+Title=Photon rapidity
+XLabel=$y_{\gamma}$
+YLabel=$\text{d}\sigma/\text{d}y_{\gamma}$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/Z_y
-Title=Z rapidity
-XLabel=$y_{\text{Z}}$
-YLabel=$\text{d}\sigma/\text{d}y_{\text{Z}}$
-# END PLOT
-
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_12
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_12
 Title=
 XLabel=$\Delta{R}(\text{jet 1, jet 2})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 1, jet 2})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_13
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_13
 Title=
 XLabel=$\Delta{R}(\text{jet 1, jet 3})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 1, jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_14
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_14
 Title=
 XLabel=$\Delta{R}(\text{jet 1, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 1, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_23
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_23
 Title=
 XLabel=$\Delta{R}(\text{jet 2, jet 3})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 2, jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_24
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_24
 Title=
 XLabel=$\Delta{R}(\text{jet 2, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 2, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_dR_34
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_dR_34
 Title=
 XLabel=$\Delta{R}(\text{jet 3, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta{R}(\text{jet 3, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_12
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_12
 Title=
 XLabel=$\Delta\eta(\text{jet 1, jet 2})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 1, jet 2})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_13
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_13
 Title=
 XLabel=$\Delta\eta(\text{jet 1, jet 3})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 1, jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_14
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_14
 Title=
 XLabel=$\Delta\eta(\text{jet 1, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 1, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_23
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_23
 Title=
 XLabel=$\Delta\eta(\text{jet 2, jet 3})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 2, jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_24
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_24
 Title=
 XLabel=$\Delta\eta(\text{jet 2, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 2, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jets_deta_34
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jets_deta_34
 Title=
 XLabel=$\Delta\eta(\text{jet 3, jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\Delta\eta(\text{jet 3, jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_eta_1
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_eta_1
 Title=
 XLabel=$\eta(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}\eta(\text{jet 1})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_eta_2
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_eta_2
 Title=
 XLabel=$\eta(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}\eta(\text{jet 2})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_eta_3
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_eta_3
 Title=
 XLabel=$\eta(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}\eta(\text{jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_eta_4
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_eta_4
 Title=
 XLabel=$\eta(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}\eta(\text{jet 4})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_multi_exclusive
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_multi_exclusive
 Title=Exclusive jet multiplicity
 XLabel=$N_{\text{jet}}$
 YLabel=$\sigma(N_{\text{jet}})$
@@ -133,7 +127,7 @@
 ErrorBands=1
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_multi_inclusive
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_multi_inclusive
 Title=Inclusive jet multiplicity
 XLabel=$N_{\text{jet}}$
 YLabel=$\sigma(\geq N_{\text{jet}})$
@@ -142,7 +136,7 @@
 ErrorBands=1
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_multi_ratio
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_multi_ratio
 Title=Ratio of jet multiplicity
 XLabel=$N_{\text{jet}}$
 YLabel=$\sigma(\geq N_{\text{jet}})/\sigma(\geq N_{\text{jet}}-1)$
@@ -152,7 +146,7 @@
 ErrorBands=1
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_R_0
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_R_0
 Title=$\log_{10}$(Integrated $0$ jet rate in $k_\perp$ [GeV])
 XLabel=$\log_{10}(d_{\text{cut}}/\text{GeV})$
 YLabel=$R_{0}$
@@ -161,35 +155,35 @@
 LegendXPos=1.2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_R_1
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_R_1
 Title=$\log_{10}$(Integrated $1$ jet rate in $k_\perp$ [GeV])
 XLabel=$\log_{10}(d_{\text{cut}}/\text{GeV})$
 YLabel=$R_{1}$
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_R_2
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_R_2
 Title=$\log_{10}$(Integrated $2$ jet rate in $k_\perp$ [GeV])
 XLabel=$\log_{10}(d_{\text{cut}}/\text{GeV})$
 YLabel=$R_{2}$
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_R_3
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_R_3
 Title=$\log_{10}$(Integrated $3$ jet rate in $k_\perp$ [GeV])
 XLabel=$\log_{10}(d_{\text{cut}}/\text{GeV})$
 YLabel=$R_{3}$
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_R_4
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_R_4
 Title=$\log_{10}$(Integrated $4$ jet rate in $k_\perp$ [GeV])
 XLabel=$\log_{10}(d_{\text{cut}}/\text{GeV})$
 YLabel=$R_{\geq4}$
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_d_01
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_d_01
 Title=$\log_{10}$($k_\perp$ jet resolution $0 \to 1$ [GeV])
 XLabel=$\log_{10}(d_{01}/\text{GeV})$
 YLabel=$\text{d}\sigma/\text{d}\log_{10}(d_{01})$
@@ -198,7 +192,7 @@
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_d_12
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_d_12
 Title=$\log_{10}$($k_\perp$ jet resolution $1 \to 2$ [GeV])
 XLabel=$\log_{10}(d_{12}/\text{GeV})$
 YLabel=$\text{d}\sigma/\text{d}\log_{10}(d_{12})$
@@ -207,7 +201,7 @@
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_d_23
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_d_23
 Title=$\log_{10}$($k_\perp$ jet resolution $2 \to 3$ [GeV])
 XLabel=$\log_{10}(d_{23}/\text{GeV})$
 YLabel=$\text{d}\sigma/\text{d}\log_{10}(d_{23})$
@@ -216,7 +210,7 @@
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/log10_d_34
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/log10_d_34
 Title=$\log_{10}$($k_\perp$ jet resolution $3 \to 4$ [GeV])
 XLabel=$\log_{10}(d_{34}/\text{GeV})$
 YLabel=$\text{d}\sigma/\text{d}\log_{10}(d_{34})$
@@ -225,25 +219,25 @@
 Rebin=2
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_pT_1
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_pT_1
 Title=
 XLabel=$p_\perp(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 1})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_pT_2
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_pT_2
 Title=
 XLabel=$p_\perp(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 2})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_pT_3
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_pT_3
 Title=
 XLabel=$p_\perp(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 3})$
 # END PLOT
 
-# BEGIN PLOT /MC_TVT1960_ZJETS/jet_pT_4
+# BEGIN PLOT /MC_TVT1960_PHOTONJETS/jet_pT_4
 Title=
 XLabel=$p_\perp(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 4})$

Modified: trunk/data/plotinfo/Makefile.am
==============================================================================
--- trunk/data/plotinfo/Makefile.am	Wed Aug 19 21:22:40 2009	(r1770)
+++ trunk/data/plotinfo/Makefile.am	Wed Aug 19 22:32:05 2009	(r1771)
@@ -49,6 +49,7 @@
   MC_LHC_LEADINGJETS.plot \
   MC_LHC_DIJET.plot \
   MC_LHC_ZANALYSIS.plot \
+  MC_TVT1960_PHOTONJETS.plot \
   MC_TVT1960_ZJETS.plot \
   OPAL_1998_S3780481.plot \
   PDG_HADRON_MULTIPLICITIES.plot \

Copied and modified: trunk/include/Rivet/Analyses/MC_TVT1960_PHOTONJETS.hh (from r1770, trunk/include/Rivet/Analyses/MC_TVT1960_ZJETS.hh)
==============================================================================
--- trunk/include/Rivet/Analyses/MC_TVT1960_ZJETS.hh	Wed Aug 19 21:22:40 2009	(r1770, copy source)
+++ trunk/include/Rivet/Analyses/MC_TVT1960_PHOTONJETS.hh	Wed Aug 19 22:32:05 2009	(r1771)
@@ -1,25 +1,23 @@
 // -*- C++ -*-
-#ifndef RIVET_MC_TVT1960_ZJETS_HH
-#define RIVET_MC_TVT1960_ZJETS_HH
+#ifndef RIVET_MC_TVT1960_PHOTONJETS_HH
+#define RIVET_MC_TVT1960_PHOTONJETS_HH
 
 #include "Rivet/Analyses/MC_JetAnalysis.hh"
 
 namespace Rivet {
 
 
-  /// @brief Monte Carlo validation observables for Z[e+ e-] + jets production at Tevatron Run II
-  /// @author Frank Siegert
-  class MC_TVT1960_ZJETS : public MC_JetAnalysis {
+  class MC_TVT1960_PHOTONJETS : public MC_JetAnalysis {
 
   public:
 
     /// Default constructor.
-    MC_TVT1960_ZJETS();
+    MC_TVT1960_PHOTONJETS();
 
 
     /// Factory method 
     static Analysis* create() {
-      return new MC_TVT1960_ZJETS();
+      return new MC_TVT1960_PHOTONJETS();
     }
 
 
@@ -34,13 +32,10 @@
 
     /// @name Histograms
     //@{
-    AIDA::IHistogram1D * _h_Z_mass;
-    AIDA::IHistogram1D * _h_Z_pT;
-    AIDA::IHistogram1D * _h_Z_y;
-    AIDA::IHistogram1D * _h_Z_jet1_deta;
-    AIDA::IHistogram1D * _h_Z_jet1_dR;
-    AIDA::IHistogram1D * _h_lepton_pT;
-    AIDA::IHistogram1D * _h_lepton_eta;
+    AIDA::IHistogram1D * _h_photon_pT;
+    AIDA::IHistogram1D * _h_photon_y;
+    AIDA::IHistogram1D * _h_photon_jet1_deta;
+    AIDA::IHistogram1D * _h_photon_jet1_dR;
     //@}
 
   };

Modified: trunk/include/Rivet/Makefile.am
==============================================================================
--- trunk/include/Rivet/Makefile.am	Wed Aug 19 21:22:40 2009	(r1770)
+++ trunk/include/Rivet/Makefile.am	Wed Aug 19 22:32:05 2009	(r1771)
@@ -84,6 +84,7 @@
   Analyses/ZEUS_2001_S4815815.hh \
   Analyses/PDG_Hadron_Multiplicities.hh \
   Analyses/PDG_Hadron_Multiplicities_Ratios.hh \
+  Analyses/MC_TVT1960_PHOTONJETS.hh \
   Analyses/MC_TVT1960_ZJETS.hh \
   Analyses/MC_JetAnalysis.hh \
   Analyses/MC_LHC_LEADINGJETS.hh \

Copied and modified: trunk/src/Analyses/MC_TVT1960_PHOTONJETS.cc (from r1770, trunk/src/Analyses/MC_TVT1960_ZJETS.cc)
==============================================================================
--- trunk/src/Analyses/MC_TVT1960_ZJETS.cc	Wed Aug 19 21:22:40 2009	(r1770, copy source)
+++ trunk/src/Analyses/MC_TVT1960_PHOTONJETS.cc	Wed Aug 19 22:32:05 2009	(r1771)
@@ -1,36 +1,44 @@
 // -*- C++ -*-
-#include "Rivet/Analyses/MC_TVT1960_ZJETS.hh"
+#include "Rivet/Analyses/MC_TVT1960_PHOTONJETS.hh"
 #include "Rivet/Tools/Logging.hh"
-#include "Rivet/Projections/ZFinder.hh"
+#include "Rivet/Projections/LeadingParticlesFinalState.hh"
 #include "Rivet/Projections/FastJets.hh"
 #include "Rivet/RivetAIDA.hh"
 
 namespace Rivet {
 
 
-  MC_TVT1960_ZJETS::MC_TVT1960_ZJETS()
-    : MC_JetAnalysis("MC_TVT1960_ZJETS", 1960.0, 4, "Jets")
+  MC_TVT1960_PHOTONJETS::MC_TVT1960_PHOTONJETS()
+    : MC_JetAnalysis("MC_TVT1960_PHOTONJETS", 1960.0, 4, "Jets")
   {
     setBeams(PROTON, ANTIPROTON);
     setNeedsCrossSection(true);
     
-    ZFinder zfinder(-3.5, 3.5, 25.0*GeV, ELECTRON, 65.0*GeV, 115.0*GeV, 0.2);
-    addProjection(zfinder, "ZFinder");
-    FastJets jetpro(zfinder.remainingFinalState(), FastJets::KT, 0.7, 20.0*GeV);
+    // General FS
+    FinalState fs(-5.0, 5.0);
+    addProjection(fs, "FS");
+ 
+    // Get leading photon
+    LeadingParticlesFinalState photonfs(fs, -1.0, 1.0);
+    photonfs.addParticleId(PHOTON);
+    addProjection(photonfs, "LeadingPhoton");
+
+    // FS for jets excludes the leading photon
+    VetoedFinalState vfs(fs);
+    vfs.addVetoOnThisFinalState(photonfs);
+    addProjection(vfs, "JetFS");
+    FastJets jetpro(vfs, FastJets::KT, 0.7, 20.0*GeV);
     addProjection(jetpro, "Jets");
   }
 
 
 
   // Book histograms
-  void MC_TVT1960_ZJETS::init() {
-    _h_Z_mass = bookHistogram1D("Z_mass", 50, 66.0, 116.0);
-    _h_Z_pT = bookHistogram1D("Z_pT", 100, 0.0, 500.0);
-    _h_Z_y = bookHistogram1D("Z_y", 40, -4.0, 4.0);
-    _h_Z_jet1_deta = bookHistogram1D("Z_jet1_deta", 50, -5.0, 5.0);
-    _h_Z_jet1_dR = bookHistogram1D("Z_jet1_dR", 25, 0.5, 7.0);
-    _h_lepton_pT = bookHistogram1D("lepton_pT", 100, 0.0, 500.0);
-    _h_lepton_eta = bookHistogram1D("lepton_eta", 40, -4.0, 4.0);
+  void MC_TVT1960_PHOTONJETS::init() {
+    _h_photon_pT = bookHistogram1D("photon_pT", 100, 0.0, 500.0);
+    _h_photon_y = bookHistogram1D("photon_y", 40, -4.0, 4.0);
+    _h_photon_jet1_deta = bookHistogram1D("photon_jet1_deta", 50, -5.0, 5.0);
+    _h_photon_jet1_dR = bookHistogram1D("photon_jet1_dR", 25, 0.5, 7.0);
     
     MC_JetAnalysis::init();
   }
@@ -38,28 +46,47 @@
 
 
   // Do the analysis 
-  void MC_TVT1960_ZJETS::analyze(const Event & e) {
+  void MC_TVT1960_PHOTONJETS::analyze(const Event & e) {
     double weight = e.weight();
     
-    const ZFinder& zfinder = applyProjection<ZFinder>(e, "ZFinder");
-    if (zfinder.particles().size()!=1) {
+    // Get the photon
+    const ParticleVector photons = applyProjection<FinalState>(e, "LeadingPhoton").particles();
+    if (photons.size() != 1) {
+      vetoEvent;
+    }
+    const FourMomentum photon = photons.front().momentum();
+    if (photon.pT()/GeV < 30) {
+      getLog() << Log::DEBUG << "Leading photon has pT < 30 GeV: " << photon.pT()/GeV << endl;
+      vetoEvent;
+    }
+
+    // Get all charged particles
+    const FinalState& fs = applyProjection<FinalState>(e, "JetFS");
+    if (fs.isEmpty()) {
       vetoEvent;
     }
 
-    FourMomentum zmom(zfinder.particles()[0].momentum());
-    _h_Z_mass->fill(zmom.mass(),weight);
-    _h_Z_pT->fill(zmom.pT(),weight);
-    _h_Z_y->fill(zmom.rapidity(),weight);
-    foreach (const Particle& l, zfinder.constituentsFinalState().particles()) {
-      _h_lepton_pT->fill(l.momentum().pT(), weight);
-      _h_lepton_eta->fill(l.momentum().eta(), weight);
+    // Isolate photon by ensuring that a 0.4 cone around it contains less than 7% of the photon's energy
+    const double egamma = photon.E();
+    double econe = 0.0;
+    foreach (const Particle& p, fs.particles()) {
+      if (deltaR(photon, p.momentum()) < 0.4) {
+        econe += p.momentum().E();
+        // Veto as soon as E_cone gets larger
+        if (econe/egamma > 0.07) {
+          vetoEvent;
+        }
+      }
     }
     
+    _h_photon_pT->fill(photon.pT(),weight);
+    _h_photon_y->fill(photon.rapidity(),weight);
+    
     const FastJets& jetpro = applyProjection<FastJets>(e, "Jets");
     const Jets& jets = jetpro.jetsByPt(20.0*GeV);
     if (jets.size()>0) {
-      _h_Z_jet1_deta->fill(zmom.eta()-jets[0].momentum().eta(), weight);
-      _h_Z_jet1_dR->fill(deltaR(zmom, jets[0].momentum()), weight);
+      _h_photon_jet1_deta->fill(photon.eta()-jets[0].momentum().eta(), weight);
+      _h_photon_jet1_dR->fill(deltaR(photon, jets[0].momentum()), weight);
     }
 
     MC_JetAnalysis::analyze(e);
@@ -67,14 +94,11 @@
 
 
   // Finalize
-  void MC_TVT1960_ZJETS::finalize() {
-    scale(_h_Z_mass, crossSection()/sumOfWeights());
-    scale(_h_Z_pT, crossSection()/sumOfWeights());
-    scale(_h_Z_y, crossSection()/sumOfWeights());
-    scale(_h_Z_jet1_deta, crossSection()/sumOfWeights());
-    scale(_h_Z_jet1_dR, crossSection()/sumOfWeights());
-    scale(_h_lepton_pT, crossSection()/sumOfWeights());
-    scale(_h_lepton_eta, crossSection()/sumOfWeights());
+  void MC_TVT1960_PHOTONJETS::finalize() {
+    scale(_h_photon_pT, crossSection()/sumOfWeights());
+    scale(_h_photon_y, crossSection()/sumOfWeights());
+    scale(_h_photon_jet1_deta, crossSection()/sumOfWeights());
+    scale(_h_photon_jet1_dR, crossSection()/sumOfWeights());
     
     MC_JetAnalysis::finalize();
   }

Modified: trunk/src/Analyses/Makefile.am
==============================================================================
--- trunk/src/Analyses/Makefile.am	Wed Aug 19 21:22:40 2009	(r1770)
+++ trunk/src/Analyses/Makefile.am	Wed Aug 19 22:32:05 2009	(r1771)
@@ -54,6 +54,7 @@
     PDG_Hadron_Multiplicities.cc \
     PDG_Hadron_Multiplicities_Ratios.cc \
     MC_JetAnalysis.cc \
+    MC_TVT1960_PHOTONJETS.cc \
     MC_TVT1960_ZJETS.cc \
     MC_LHC_LEADINGJETS.cc \
     MC_LHC_DIJET.cc \

Modified: trunk/src/Analyses/StdAnalyses.cc
==============================================================================
--- trunk/src/Analyses/StdAnalyses.cc	Wed Aug 19 21:22:40 2009	(r1770)
+++ trunk/src/Analyses/StdAnalyses.cc	Wed Aug 19 22:32:05 2009	(r1771)
@@ -79,6 +79,7 @@
 #include "Rivet/Analyses/UA1_1990_S2044935.hh"
 
 // MC validation
+#include "Rivet/Analyses/MC_TVT1960_PHOTONJETS.hh"
 #include "Rivet/Analyses/MC_TVT1960_ZJETS.hh"
 #include "Rivet/Analyses/MC_LHC_LEADINGJETS.hh"
 #include "Rivet/Analyses/MC_LHC_ZANALYSIS.hh"
@@ -177,6 +178,7 @@
     fns["PDG_HADRON_MULTIPLICITIES_RATIOS"] = Rivet::PDG_HADRON_MULTIPLICITIES_RATIOS::create;
 
     // MC validation
+    fns["MC_TVT1960_PHOTONJETS"] = Rivet::MC_TVT1960_PHOTONJETS::create;
     fns["MC_TVT1960_ZJETS"] = Rivet::MC_TVT1960_ZJETS::create;
     fns["MC_LHC_LEADINGJETS"] = Rivet::MC_LHC_LEADINGJETS::create;
     fns["MC_LHC_ZANALYSIS"] = Rivet::MC_LHC_ZANALYSIS::create;


More information about the Rivet-svn mailing list