[Rivet-svn] r3561 - in trunk: . data/anainfo data/plotinfo src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Tue Feb 14 23:01:59 GMT 2012


Author: buckley
Date: Tue Feb 14 23:01:58 2012
New Revision: 3561

Log:
Splitting MC_GENERIC to put the PDF and PID plotting into MC_PDFS and MC_IDENTIFIED respectively.

Added:
   trunk/data/anainfo/MC_IDENTIFIED.info
      - copied, changed from r3558, trunk/data/anainfo/MC_GENERIC.info
   trunk/data/anainfo/MC_LEADJETUE.info
      - copied, changed from r3558, trunk/data/anainfo/MC_LEADINGJETS.info
   trunk/data/anainfo/MC_PDFS.info
      - copied, changed from r3558, trunk/data/anainfo/MC_GENERIC.info
   trunk/data/plotinfo/MC_IDENTIFIED.plot
      - copied, changed from r3558, trunk/data/plotinfo/MC_GENERIC.plot
   trunk/data/plotinfo/MC_LEADJETUE.plot
      - copied, changed from r3558, trunk/data/plotinfo/MC_LEADINGJETS.plot
   trunk/data/plotinfo/MC_PDFS.plot
      - copied, changed from r3558, trunk/data/plotinfo/MC_GENERIC.plot
   trunk/src/Analyses/MC_IDENTIFIED.cc
   trunk/src/Analyses/MC_LEADJETUE.cc
      - copied, changed from r3558, trunk/src/Analyses/MC_LEADINGJETS.cc
   trunk/src/Analyses/MC_PDFS.cc
Deleted:
   trunk/data/anainfo/EXAMPLETREE.info
   trunk/data/anainfo/MC_LEADINGJETS.info
   trunk/data/plotinfo/MC_LEADINGJETS.plot
   trunk/src/Analyses/MC_LEADINGJETS.cc
Modified:
   trunk/ChangeLog
   trunk/data/anainfo/Makefile.am
   trunk/data/plotinfo/MC_GENERIC.plot
   trunk/data/plotinfo/Makefile.am
   trunk/src/Analyses/MC_GENERIC.cc
   trunk/src/Analyses/Makefile.am

Modified: trunk/ChangeLog
==============================================================================
--- trunk/ChangeLog	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/ChangeLog	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,3 +1,10 @@
+2012-02-14  Andy Buckley  <andy.buckley at cern.ch>
+
+	* Splitting MC_GENERIC to put the PDF and PID plotting into
+	MC_PDFS and MC_IDENTIFIED respectively.
+
+	* Renaming MC_LEADINGJETS to MC_LEADJETUE.
+
 2012-02-14  Hendrik Hoeth <hendrik.hoeth at cern.ch>
 
 	* DELPHI_1996_S3430090 and ALEPH_1996_S3486095:

Copied and modified: trunk/data/anainfo/MC_IDENTIFIED.info (from r3558, trunk/data/anainfo/MC_GENERIC.info)
==============================================================================
--- trunk/data/anainfo/MC_GENERIC.info	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/anainfo/MC_IDENTIFIED.info	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,11 +1,10 @@
-Name: MC_GENERIC
-Summary: Generic MC testing analysis
+Name: MC_IDENTIFIED
+Summary: MC testing analysis for identified particle distributions
 Status: VALIDATED
 Authors:
- - Ian Bruce <ibruce at cern.ch>
  - Andy Buckley <andy.buckley at cern.ch>
 NumEvents: 50000
 RunInfo: Any!
 Description:
-  Generic analysis of typical event distributions such as $\eta$, $y$,
-  $pT$, $\phi$\dots
+  Plotting of distributions of PID codes (all/stable/unstable) and ID-specific
+  distributions such as the $|\eta|$ of $K$, $\pi$ and $\Lambda$ mesons.

Copied and modified: trunk/data/anainfo/MC_LEADJETUE.info (from r3558, trunk/data/anainfo/MC_LEADINGJETS.info)
==============================================================================
--- trunk/data/anainfo/MC_LEADINGJETS.info	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/anainfo/MC_LEADJETUE.info	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,11 +1,11 @@
-Name: MC_LEADINGJETS
+Name: MC_LEADJETUE
 Summary: Underlying event in leading jet events, extended to LHC
 Status: VALIDATED
 Authors:
  - Andy Buckley <andy.buckley at cern.ch>
 RunInfo:
-  LHC pp QCD interactions at 0.9, 10 or 14 TeV. Particles with 
-  $c \tau > 10$ mm should be set stable. Several $p_\perp^\text{min}$ 
+  LHC pp QCD interactions at 0.9, 10 or 14 TeV. Particles with
+  $c \tau > 10$ mm should be set stable. Several $p_\perp^\text{min}$
   cutoffs are probably required to fill the profile histograms.
 NumEvents: 1000000
 PtCuts: [0]

Copied and modified: trunk/data/anainfo/MC_PDFS.info (from r3558, trunk/data/anainfo/MC_GENERIC.info)
==============================================================================
--- trunk/data/anainfo/MC_GENERIC.info	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/anainfo/MC_PDFS.info	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,11 +1,11 @@
-Name: MC_GENERIC
-Summary: Generic MC testing analysis
+Name: MC_PDFS
+Summary: Analysis to study PDF sampling in any MC run
 Status: VALIDATED
 Authors:
- - Ian Bruce <ibruce at cern.ch>
  - Andy Buckley <andy.buckley at cern.ch>
-NumEvents: 50000
+NumEvents: 10000
 RunInfo: Any!
 Description:
-  Generic analysis of typical event distributions such as $\eta$, $y$,
-  $pT$, $\phi$\dots
+  Plotting of PDF sampling info, such as the $Q^2$ and both $x$ values of the
+  sampling (aggregated and distinguished as max/min, and some correlations with
+  event properties.

Modified: trunk/data/anainfo/Makefile.am
==============================================================================
--- trunk/data/anainfo/Makefile.am	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/data/anainfo/Makefile.am	Tue Feb 14 23:01:58 2012	(r3561)
@@ -109,7 +109,6 @@
   DELPHI_2002_069_CONF_603.info \
   DELPHI_2003_WUD_03_11.info \
   EXAMPLE.info \
-  EXAMPLETREE.info \
   H1_1994_S2919893.info \
   H1_1995_S3167097.info \
   H1_2000_S4129130.info \
@@ -117,17 +116,19 @@
   JADE_1998_S3612880.info \
   LHCB_2010_S8758301.info \
   LHCB_2011_I919315.info \
-  MC_GENERIC.info \
-  MC_LEADINGJETS.info \
   MC_DIJET.info \
   MC_DIPHOTON.info \
+  MC_GENERIC.info \
+  MC_HJETS.info \
+  MC_IDENTIFIED.info \
+  MC_JETS.info \
+  MC_LEADJETUE.info \
+  MC_PDFS.info \
+  MC_PHOTONJETS.info \
   MC_PHOTONJETUE.info \
   MC_SUSY.info \
   MC_TTBAR.info \
-  MC_JETS.info \
-  MC_PHOTONJETS.info \
   MC_VH2BB.info \
-  MC_HJETS.info \
   MC_WJETS.info \
   MC_WPOL.info \
   MC_WWJETS.info \

Modified: trunk/data/plotinfo/MC_GENERIC.plot
==============================================================================
--- trunk/data/plotinfo/MC_GENERIC.plot	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/data/plotinfo/MC_GENERIC.plot	Tue Feb 14 23:01:58 2012	(r3561)
@@ -40,24 +40,6 @@
 Title=Pseudorapidity $+/-$ ratio of charged particles
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/EtaK
-Title=Pseudorapidity distribution of kaon multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_K \; \mathrm{d}\sigma_K/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaLambda
-Title=Pseudorapidity distribution of $\Lambda$ multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_\Lambda \; \mathrm{d}\sigma_\Lambda/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/EtaSumEt
 Title=Pseudorapidity distribution of $\langle \sum E_\perp \rangle$
 XLabel=$\eta$
@@ -66,15 +48,6 @@
 LegendYPos=0.5
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/EtaPi
-Title=Pseudorapidity distribution of pion multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_\pi \; \mathrm{d}\sigma_\pi/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/MultCh
 Title=Charged multiplicity of events
 XLabel=$N_\text{ch}$
@@ -89,24 +62,6 @@
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/Mults.*PIDs
-XLabel=$|\text{PID}|$
-YLabel=$\langle N_\text{PID} \rangle$
-LogY=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsDecayedPIDs
-Title=Average per-event multiplicity of decayed particle IDs
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsStablePIDs
-Title=Average per-event multiplicity of stable particle IDs
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsAllPIDs
-Title=Average per-event multiplicity of \emph{all} (unphysical) particle IDs
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/Phi$
 Title=Azimuthal distribution of all particles
 XLabel=$\phi$
@@ -168,44 +123,3 @@
 LogY=0
 LegendYPos=0.5
 # END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfX
-Title=PDF sampling $x$ value distribution
-XLabel=$x$
-YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}x$
-LogX=1
-LogY=1
-FullRange=1
-LegendXPos=0.1
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfXmin
-Title=PDF sampling $x_\text{min}$ value distribution
-XLabel=$x_\text{min}$
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfXmax
-Title=PDF sampling $x_\text{max}$ value distribution
-XLabel=$x_\text{max}$
-LegendXPos=0.3
-XMin=0.00005
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfQ
-Title=PDF sampling $Q$ value distribution
-XLabel=$Q$
-YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}Q$
-LogX=0
-LogY=1
-FullRange=1
-LegendYPos=0.9
-# END PLOT
-
-# # BEGIN PLOT /MC_GENERIC/PdfXQ
-# Title=PDF sampling $x, Q$ value distribution
-# XLabel=$x$
-# YLabel=$Q$
-# LogX=0
-# LogY=0
-# # END PLOT

Copied and modified: trunk/data/plotinfo/MC_IDENTIFIED.plot (from r3558, trunk/data/plotinfo/MC_GENERIC.plot)
==============================================================================
--- trunk/data/plotinfo/MC_GENERIC.plot	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/plotinfo/MC_IDENTIFIED.plot	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,45 +1,3 @@
-# BEGIN PLOT /MC_GENERIC/E$
-Title=Energy of all particles
-XLabel=$E$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}E$ [GeV$^{-1}$]
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/ECh
-Title=Energy of charged particles
-XLabel=$E$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}E$ [GeV$^{-1}$]
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta
-XLabel=$\eta$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\eta$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta$
-Title=Pseudorapidity of all particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaCh
-Title=Pseudorapidity of charged particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta.*PMRatio
-XLabel=$|\eta|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}\eta_+ \; / \; \mathrm{d}\sigma/\mathrm{d}\eta_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaPMRatio
-Title=Pseudorapidity $+/-$ ratio of all particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaChPMRatio
-Title=Pseudorapidity $+/-$ ratio of charged particles
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/EtaK
 Title=Pseudorapidity distribution of kaon multiplicity
 XLabel=$\eta$
@@ -58,14 +16,6 @@
 LegendYPos=0.5
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/EtaSumEt
-Title=Pseudorapidity distribution of $\langle \sum E_\perp \rangle$
-XLabel=$\eta$
-YLabel=$\langle \sum E_\perp \rangle$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/EtaPi
 Title=Pseudorapidity distribution of pion multiplicity
 XLabel=$\eta$
@@ -75,20 +25,6 @@
 LegendYPos=0.5
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/MultCh
-Title=Charged multiplicity of events
-XLabel=$N_\text{ch}$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}N_\text{ch}$
-LogY=0
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Mult$
-Title=Total multiplicity of events
-XLabel=$N$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}N$
-LogY=0
-# END PLOT
-
 # BEGIN PLOT /MC_GENERIC/Mults.*PIDs
 XLabel=$|\text{PID}|$
 YLabel=$\langle N_\text{PID} \rangle$
@@ -106,106 +42,3 @@
 # BEGIN PLOT /MC_GENERIC/MultsAllPIDs
 Title=Average per-event multiplicity of \emph{all} (unphysical) particle IDs
 # END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Phi$
-Title=Azimuthal distribution of all particles
-XLabel=$\phi$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\phi$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PhiCh
-Title=Azimuthal distribution of charged particles
-XLabel=$\phi$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\phi$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Pt$
-Title=Transverse momentum of all particles
-XLabel=$p_\perp$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}p_\perp$ [GeV$^{-1}$]
-FullRange=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PtCh
-Title=Transverse momentum of charged particles
-XLabel=$p_\perp$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}p_\perp$ [GeV$^{-1}$]
-FullRange=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Rapidity$
-Title=Rapidity of all particles
-XLabel=$y$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}y$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityPMRatio
-Title=Rapidity $+/-$ ratio of all particles
-XLabel=$|y|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}y_+ \; / \; \mathrm{d}\sigma/\mathrm{d}y_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityCh$
-Title=Rapidity of charged particles
-XLabel=$y$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}y$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityChPMRatio
-Title=Rapidity $+/-$ ratio of charged particles
-XLabel=$|y|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}y_+ \; / \; \mathrm{d}\sigma/\mathrm{d}y_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfX
-Title=PDF sampling $x$ value distribution
-XLabel=$x$
-YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}x$
-LogX=1
-LogY=1
-FullRange=1
-LegendXPos=0.1
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfXmin
-Title=PDF sampling $x_\text{min}$ value distribution
-XLabel=$x_\text{min}$
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfXmax
-Title=PDF sampling $x_\text{max}$ value distribution
-XLabel=$x_\text{max}$
-LegendXPos=0.3
-XMin=0.00005
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfQ
-Title=PDF sampling $Q$ value distribution
-XLabel=$Q$
-YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}Q$
-LogX=0
-LogY=1
-FullRange=1
-LegendYPos=0.9
-# END PLOT
-
-# # BEGIN PLOT /MC_GENERIC/PdfXQ
-# Title=PDF sampling $x, Q$ value distribution
-# XLabel=$x$
-# YLabel=$Q$
-# LogX=0
-# LogY=0
-# # END PLOT

Copied and modified: trunk/data/plotinfo/MC_LEADJETUE.plot (from r3558, trunk/data/plotinfo/MC_LEADINGJETS.plot)
==============================================================================
--- trunk/data/plotinfo/MC_LEADINGJETS.plot	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/plotinfo/MC_LEADJETUE.plot	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,46 +1,46 @@
-# BEGIN PLOT /MC_LEADINGJETS/trans-nchg
+# BEGIN PLOT /MC_LEADJETUE/trans-nchg
 Title=Transverse region charged particle density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{N_\text{ch}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-maxnchg
+# BEGIN PLOT /MC_LEADJETUE/trans-maxnchg
 Title=TransMAX region charged particle density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{N_\text{ch}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-minnchg
+# BEGIN PLOT /MC_LEADJETUE/trans-minnchg
 Title=TransMIN region charged particle density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{N_\text{ch}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-ptsum
+# BEGIN PLOT /MC_LEADJETUE/trans-ptsum
 Title=Transverse region charged pT sum density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{\sum p_\perp^\text{sum}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-maxptsum
+# BEGIN PLOT /MC_LEADJETUE/trans-maxptsum
 Title=TransMAX region charged pT sum density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{\sum p_\perp^\text{sum}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-minptsum
+# BEGIN PLOT /MC_LEADJETUE/trans-minptsum
 Title=TransMIN region charged pT sum density
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\mathrm{d}{\sum p_\perp^\text{sum}}/\mathrm{d}{\phi}$
 LogY=0
 # END PLOT
 
-# BEGIN PLOT /MC_LEADINGJETS/trans-ptavg
+# BEGIN PLOT /MC_LEADJETUE/trans-ptavg
 Title=Transverse region charged pT average
 XLabel=Leading jet $p_\perp$ / GeV
 YLabel=$\langle p_\perp \rangle$

Copied and modified: trunk/data/plotinfo/MC_PDFS.plot (from r3558, trunk/data/plotinfo/MC_GENERIC.plot)
==============================================================================
--- trunk/data/plotinfo/MC_GENERIC.plot	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/data/plotinfo/MC_PDFS.plot	Tue Feb 14 23:01:58 2012	(r3561)
@@ -1,175 +1,4 @@
-# BEGIN PLOT /MC_GENERIC/E$
-Title=Energy of all particles
-XLabel=$E$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}E$ [GeV$^{-1}$]
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/ECh
-Title=Energy of charged particles
-XLabel=$E$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}E$ [GeV$^{-1}$]
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta
-XLabel=$\eta$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\eta$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta$
-Title=Pseudorapidity of all particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaCh
-Title=Pseudorapidity of charged particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Eta.*PMRatio
-XLabel=$|\eta|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}\eta_+ \; / \; \mathrm{d}\sigma/\mathrm{d}\eta_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaPMRatio
-Title=Pseudorapidity $+/-$ ratio of all particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaChPMRatio
-Title=Pseudorapidity $+/-$ ratio of charged particles
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaK
-Title=Pseudorapidity distribution of kaon multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_K \; \mathrm{d}\sigma_K/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaLambda
-Title=Pseudorapidity distribution of $\Lambda$ multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_\Lambda \; \mathrm{d}\sigma_\Lambda/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaSumEt
-Title=Pseudorapidity distribution of $\langle \sum E_\perp \rangle$
-XLabel=$\eta$
-YLabel=$\langle \sum E_\perp \rangle$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/EtaPi
-Title=Pseudorapidity distribution of pion multiplicity
-XLabel=$\eta$
-YLabel=$1/\sigma_\pi \; \mathrm{d}\sigma_\pi/\mathrm{d}\eta$
-LogY=0
-LegendXPos=0.3
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultCh
-Title=Charged multiplicity of events
-XLabel=$N_\text{ch}$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}N_\text{ch}$
-LogY=0
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Mult$
-Title=Total multiplicity of events
-XLabel=$N$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}N$
-LogY=0
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Mults.*PIDs
-XLabel=$|\text{PID}|$
-YLabel=$\langle N_\text{PID} \rangle$
-LogY=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsDecayedPIDs
-Title=Average per-event multiplicity of decayed particle IDs
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsStablePIDs
-Title=Average per-event multiplicity of stable particle IDs
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/MultsAllPIDs
-Title=Average per-event multiplicity of \emph{all} (unphysical) particle IDs
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Phi$
-Title=Azimuthal distribution of all particles
-XLabel=$\phi$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\phi$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PhiCh
-Title=Azimuthal distribution of charged particles
-XLabel=$\phi$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}\phi$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Pt$
-Title=Transverse momentum of all particles
-XLabel=$p_\perp$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}p_\perp$ [GeV$^{-1}$]
-FullRange=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PtCh
-Title=Transverse momentum of charged particles
-XLabel=$p_\perp$ [GeV]
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}p_\perp$ [GeV$^{-1}$]
-FullRange=1
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/Rapidity$
-Title=Rapidity of all particles
-XLabel=$y$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}y$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityPMRatio
-Title=Rapidity $+/-$ ratio of all particles
-XLabel=$|y|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}y_+ \; / \; \mathrm{d}\sigma/\mathrm{d}y_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityCh$
-Title=Rapidity of charged particles
-XLabel=$y$
-YLabel=$1/\sigma \; \mathrm{d}\sigma/\mathrm{d}y$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/RapidityChPMRatio
-Title=Rapidity $+/-$ ratio of charged particles
-XLabel=$|y|$
-YLabel=$\mathrm{d}\sigma/\mathrm{d}y_+ \; / \; \mathrm{d}\sigma/\mathrm{d}y_-$
-LogY=0
-LegendYPos=0.5
-# END PLOT
-
-# BEGIN PLOT /MC_GENERIC/PdfX
+# BEGIN PLOT /MC_PDFS/PdfX
 Title=PDF sampling $x$ value distribution
 XLabel=$x$
 YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}x$
@@ -180,19 +9,19 @@
 LegendYPos=0.5
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/PdfXmin
+# BEGIN PLOT /MC_PDFS/PdfXmin
 Title=PDF sampling $x_\text{min}$ value distribution
 XLabel=$x_\text{min}$
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/PdfXmax
+# BEGIN PLOT /MC_PDFS/PdfXmax
 Title=PDF sampling $x_\text{max}$ value distribution
 XLabel=$x_\text{max}$
 LegendXPos=0.3
 XMin=0.00005
 # END PLOT
 
-# BEGIN PLOT /MC_GENERIC/PdfQ
+# BEGIN PLOT /MC_PDFS/PdfQ
 Title=PDF sampling $Q$ value distribution
 XLabel=$Q$
 YLabel=$1/N_\text{evt} \  \mathrm{d}N_\text{evt}/\mathrm{d}Q$
@@ -202,7 +31,7 @@
 LegendYPos=0.9
 # END PLOT
 
-# # BEGIN PLOT /MC_GENERIC/PdfXQ
+# # BEGIN PLOT /MC_PDFS/PdfXQ
 # Title=PDF sampling $x, Q$ value distribution
 # XLabel=$x$
 # YLabel=$Q$

Modified: trunk/data/plotinfo/Makefile.am
==============================================================================
--- trunk/data/plotinfo/Makefile.am	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/data/plotinfo/Makefile.am	Tue Feb 14 23:01:58 2012	(r3561)
@@ -109,7 +109,8 @@
   LHCB_2010_S8758301.plot \
   LHCB_2011_I919315.plot \
   MC_GENERIC.plot \
-  MC_LEADINGJETS.plot \
+  MC_IDENTIFIED.plot \
+  MC_LEADJETUE.plot \
   MC_DIJET.plot \
   MC_DIPHOTON.plot \
   MC_PHOTONJETUE.plot \
@@ -119,6 +120,7 @@
   MC_PHOTONJETS.plot \
   MC_VH2BB.plot \
   MC_HJETS.plot \
+  MC_PDFS.plot \
   MC_WJETS.plot \
   MC_WPOL.plot \
   MC_WWJETS.plot \

Modified: trunk/src/Analyses/MC_GENERIC.cc
==============================================================================
--- trunk/src/Analyses/MC_GENERIC.cc	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/src/Analyses/MC_GENERIC.cc	Tue Feb 14 23:01:58 2012	(r3561)
@@ -4,8 +4,7 @@
 #include "Rivet/Tools/Logging.hh"
 #include "Rivet/Projections/FinalState.hh"
 #include "Rivet/Projections/ChargedFinalState.hh"
-#include "Rivet/Projections/UnstableFinalState.hh"
-#include "Rivet/Projections/MissingMomentum.hh"
+//#include "Rivet/Projections/MissingMomentum.hh"
 #include "LWH/Histogram1D.h"
 
 namespace Rivet {
@@ -33,7 +32,6 @@
       const FinalState cnfs(-5.0, 5.0, 500*MeV);
       addProjection(cnfs, "FS");
       addProjection(ChargedFinalState(-5.0, 5.0, 500*MeV), "CFS");
-      addProjection(UnstableFinalState(-5.0, 5.0, 500*MeV), "UFS");
       //addProjection(MissingMomentum(cnfs), "ETmiss");
 
       // Histograms
@@ -41,10 +39,6 @@
       _histMult   = bookHistogram1D("Mult", 100, -0.5, 199.5);
       _histMultCh = bookHistogram1D("MultCh", 100, -0.5, 199.5);
 
-      _histStablePIDs  = bookHistogram1D("MultsStablePIDs", 3335, -0.5, 3334.5);
-      _histDecayedPIDs = bookHistogram1D("MultsDecayedPIDs", 3335, -0.5, 3334.5);
-      _histAllPIDs  = bookHistogram1D("MultsAllPIDs", 3335, -0.5, 3334.5);
-
       _histPt    = bookHistogram1D("Pt", 300, 0, 30);
       _histPtCh  = bookHistogram1D("PtCh", 300, 0, 30);
 
@@ -58,9 +52,6 @@
       _tmphistEtaChPlus.reset(new LWH::Histogram1D(25, 0, 5));
       _tmphistEtaChMinus.reset(new LWH::Histogram1D(25, 0, 5));
 
-      _histEtaPi       = bookHistogram1D("EtaPi", 25, 0, 5);
-      _histEtaK        = bookHistogram1D("EtaK", 25, 0, 5);
-      _histEtaLambda   = bookHistogram1D("EtaLambda", 25, 0, 5);
       _histEtaSumEt    = bookProfile1D("EtaSumEt", 25, 0, 5);
 
       _histRapidity    = bookHistogram1D("Rapidity", 50, -5, 5);
@@ -72,14 +63,6 @@
 
       _histPhi    = bookHistogram1D("Phi", 50, 0, TWOPI);
       _histPhiCh  = bookHistogram1D("PhiCh", 50, 0, TWOPI);
-
-      _histPdfX = bookHistogram1D("PdfX", logspace(0.000001, 1.0, 50));
-      _histPdfXmin = bookHistogram1D("PdfXmin", logspace(0.000001, 1.0, 50));
-      _histPdfXmax = bookHistogram1D("PdfXmax", logspace(0.000001, 1.0, 50));
-      _histPdfQ = bookHistogram1D("PdfQ", 50, 0.0, 30.0);
-      // _histPdfXQ = bookHistogram2D("PdfXQ", logspace(0.000001, 1.0, 50), linspace(0.0, 30.0, 50));
-      // _histPdfTrackptVsX = bookProfile1D("PdfTrackptVsX", logspace(0.000001, 1.0, 50));
-      // _histPdfTrackptVsQ = bookProfile1D("PdfTrackptVsQ", 50, 0.0, 30.0);
     }
 
 
@@ -88,30 +71,11 @@
     void analyze(const Event& event) {
       const double weight = event.weight();
 
-      // Unphysical (debug) plotting of all PIDs in the event, physical or otherwise
-      foreach (const GenParticle* gp, particles(event.genEvent())) {
-        _histAllPIDs->fill(abs(gp->pdg_id()), weight);
-      }
-
-      // Print and plot PDF info
-      if (event.genEvent().pdf_info() != 0) {
-        HepMC::PdfInfo pdfi = *event.genEvent().pdf_info();
-        MSG_DEBUG("PDF Q = " << pdfi.scalePDF() << " for (id, x) = "
-                  << "(" << pdfi.id1() << ", " << pdfi.x1() << ") "
-                  << "(" << pdfi.id2() << ", " << pdfi.x2() << ")");
-        _histPdfX->fill(pdfi.x1(), weight);
-        _histPdfX->fill(pdfi.x2(), weight);
-        _histPdfXmin->fill(std::min(pdfi.x1(), pdfi.x2()), weight);
-        _histPdfXmax->fill(std::max(pdfi.x1(), pdfi.x2()), weight);
-        _histPdfQ->fill(pdfi.scalePDF(), weight); // always in GeV?
-      }
-
       // Charged + neutral final state
       const FinalState& cnfs = applyProjection<FinalState>(event, "FS");
       MSG_DEBUG("Total multiplicity = " << cnfs.size());
       _histMult->fill(cnfs.size(), weight);
       foreach (const Particle& p, cnfs.particles()) {
-        _histStablePIDs->fill(abs(p.pdgId()), weight);
         const double eta = p.momentum().eta();
         _histEta->fill(eta, weight);
         _histEtaSumEt->fill(fabs(eta), p.momentum().Et(), weight);
@@ -153,30 +117,9 @@
         _histPtCh->fill(p.momentum().pT()/GeV, weight);
         _histECh->fill(p.momentum().E()/GeV, weight);
         _histPhiCh->fill(p.momentum().phi(), weight);
-
-        // if (event.genEvent().pdf_info() != 0) {
-        //   if (fabs(eta) < 2.5 && p.momentum().pT() > 10*GeV) {
-        //     HepMC::PdfInfo pdfi = *event.genEvent().pdf_info();
-        //     _histPdfTrackptVsX->fill(pdfi.x1(), p.momentum().pT()/GeV, weight);
-        //     _histPdfTrackptVsX->fill(pdfi.x2(), p.momentum().pT()/GeV, weight);
-        //     _histPdfTrackptVsQ->fill(pdfi.scalePDF(), p.momentum().pT()/GeV, weight);
-        //   }
-        // }
       }
 
-
-      // Histogram identified particle eta spectra
-      const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(event, "UFS");
-      foreach (const Particle& p, ufs.particles()) {
-        const double eta_abs = fabs(p.momentum().eta());
-        _histDecayedPIDs->fill(p.pdgId(), weight);
-        const PdgId pid = abs(p.pdgId());
-        //if (PID::isMeson(pid) && PID::hasStrange()) {
-        if (pid == 211 || pid == 111) _histEtaPi->fill(eta_abs, weight);
-        else if (pid == 321 || pid == 130 || pid == 310) _histEtaK->fill(eta_abs, weight);
-        else if (pid == 3122) _histEtaLambda->fill(eta_abs, weight);
-        // const MissingMomentum& met = applyProjection<MissingMomentum>(event, "ETmiss");
-      }
+      // const MissingMomentum& met = applyProjection<MissingMomentum>(event, "ETmiss");
 
     }
 
@@ -187,17 +130,9 @@
       scale(_histMult, 1/sumOfWeights());
       scale(_histMultCh, 1/sumOfWeights());
 
-      scale(_histStablePIDs, 1/sumOfWeights());
-      scale(_histDecayedPIDs, 1/sumOfWeights());
-      scale(_histAllPIDs, 1/sumOfWeights());
-
       scale(_histEta, 1/sumOfWeights());
       scale(_histEtaCh, 1/sumOfWeights());
 
-      scale(_histEtaPi, 1/sumOfWeights());
-      scale(_histEtaK, 1/sumOfWeights());
-      scale(_histEtaLambda, 1/sumOfWeights());
-
       scale(_histRapidity, 1/sumOfWeights());
       scale(_histRapidityCh, 1/sumOfWeights());
 
@@ -210,11 +145,6 @@
       scale(_histPhi, 1/sumOfWeights());
       scale(_histPhiCh, 1/sumOfWeights());
 
-      scale(_histPdfX, 1/sumOfWeights());
-      scale(_histPdfXmin, 1/sumOfWeights());
-      scale(_histPdfXmax, 1/sumOfWeights());
-      scale(_histPdfQ, 1/sumOfWeights());
-
       histogramFactory().divide(histoPath("EtaPMRatio"), *_tmphistEtaPlus, *_tmphistEtaMinus);
       histogramFactory().divide(histoPath("EtaChPMRatio"), *_tmphistEtaChPlus, *_tmphistEtaChMinus);
       histogramFactory().divide(histoPath("RapidityPMRatio"), *_tmphistRapPlus, *_tmphistRapMinus);
@@ -235,16 +165,12 @@
     /// @name Histograms
     //@{
     AIDA::IHistogram1D *_histMult, *_histMultCh;
-    AIDA::IHistogram1D *_histStablePIDs, *_histDecayedPIDs, *_histAllPIDs;
-    AIDA::IHistogram1D *_histEtaPi, *_histEtaK, *_histEtaLambda;
     AIDA::IProfile1D   *_histEtaSumEt;
     AIDA::IHistogram1D *_histEta, *_histEtaCh;
     AIDA::IHistogram1D *_histRapidity, *_histRapidityCh;
     AIDA::IHistogram1D *_histPt, *_histPtCh;
     AIDA::IHistogram1D *_histE, *_histECh;
     AIDA::IHistogram1D *_histPhi, *_histPhiCh;
-    AIDA::IHistogram1D *_histPdfX, *_histPdfXmin, *_histPdfXmax, *_histPdfQ;
-    // AIDA::IProfile1D   *_histPdfTrackptVsX, *_histPdfTrackptVsQ;
     //@}
 
   };

Added: trunk/src/Analyses/MC_IDENTIFIED.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/MC_IDENTIFIED.cc	Tue Feb 14 23:01:58 2012	(r3561)
@@ -0,0 +1,105 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Tools/Logging.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/UnstableFinalState.hh"
+
+namespace Rivet {
+
+
+  /// Generic analysis looking at various distributions of final state particles
+  class MC_IDENTIFIED : public Analysis {
+  public:
+
+    /// Constructor
+    MC_IDENTIFIED()
+      : Analysis("MC_IDENTIFIED")
+    {    }
+
+
+  public:
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+
+      // Projections
+      const FinalState cnfs(-5.0, 5.0, 500*MeV);
+      addProjection(cnfs, "FS");
+      addProjection(UnstableFinalState(-5.0, 5.0, 500*MeV), "UFS");
+
+      // Histograms
+      // @todo Choose E/pT ranged based on input energies... can't do anything about kin. cuts, though
+
+      _histStablePIDs  = bookHistogram1D("MultsStablePIDs", 3335, -0.5, 3334.5);
+      _histDecayedPIDs = bookHistogram1D("MultsDecayedPIDs", 3335, -0.5, 3334.5);
+      _histAllPIDs     = bookHistogram1D("MultsAllPIDs", 3335, -0.5, 3334.5);
+
+      _histEtaPi       = bookHistogram1D("EtaPi", 25, 0, 5);
+      _histEtaK        = bookHistogram1D("EtaK", 25, 0, 5);
+      _histEtaLambda   = bookHistogram1D("EtaLambda", 25, 0, 5);
+    }
+
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const double weight = event.weight();
+
+      // Unphysical (debug) plotting of all PIDs in the event, physical or otherwise
+      foreach (const GenParticle* gp, particles(event.genEvent())) {
+        _histAllPIDs->fill(abs(gp->pdg_id()), weight);
+      }
+
+      // Charged + neutral final state PIDs
+      const FinalState& cnfs = applyProjection<FinalState>(event, "FS");
+      foreach (const Particle& p, cnfs.particles()) {
+        _histStablePIDs->fill(abs(p.pdgId()), weight);
+      }
+
+      // Unstable PIDs and identified particle eta spectra
+      const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(event, "UFS");
+      foreach (const Particle& p, ufs.particles()) {
+        _histDecayedPIDs->fill(p.pdgId(), weight);
+        const double eta_abs = fabs(p.momentum().eta());
+        const PdgId pid = abs(p.pdgId()); //if (PID::isMeson(pid) && PID::hasStrange()) {
+        if (pid == 211 || pid == 111) _histEtaPi->fill(eta_abs, weight);
+        else if (pid == 321 || pid == 130 || pid == 310) _histEtaK->fill(eta_abs, weight);
+        else if (pid == 3122) _histEtaLambda->fill(eta_abs, weight);
+      }
+
+    }
+
+
+
+    /// Finalize
+    void finalize() {
+      scale(_histStablePIDs, 1/sumOfWeights());
+      scale(_histDecayedPIDs, 1/sumOfWeights());
+      scale(_histAllPIDs, 1/sumOfWeights());
+      scale(_histEtaPi, 1/sumOfWeights());
+      scale(_histEtaK, 1/sumOfWeights());
+      scale(_histEtaLambda, 1/sumOfWeights());
+    }
+
+    //@}
+
+
+  private:
+
+    /// @name Histograms
+    //@{
+    AIDA::IHistogram1D *_histStablePIDs, *_histDecayedPIDs, *_histAllPIDs;
+    AIDA::IHistogram1D *_histEtaPi, *_histEtaK, *_histEtaLambda;
+    //@}
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(MC_IDENTIFIED);
+
+}

Copied and modified: trunk/src/Analyses/MC_LEADJETUE.cc (from r3558, trunk/src/Analyses/MC_LEADINGJETS.cc)
==============================================================================
--- trunk/src/Analyses/MC_LEADINGJETS.cc	Tue Feb 14 16:39:15 2012	(r3558, copy source)
+++ trunk/src/Analyses/MC_LEADJETUE.cc	Tue Feb 14 23:01:58 2012	(r3561)
@@ -11,12 +11,12 @@
 
   /// @brief MC validation analysis for underlying event in jet events
   /// @author Andy Buckley
-  class MC_LEADINGJETS : public Analysis {
+  class MC_LEADJETUE : public Analysis {
   public:
 
     /// Constructor
-    MC_LEADINGJETS()
-      : Analysis("MC_LEADINGJETS")
+    MC_LEADJETUE()
+      : Analysis("MC_LEADJETUE")
     {    }
 
 
@@ -165,6 +165,6 @@
 
 
   // The hook for the plugin system
-  DECLARE_RIVET_PLUGIN(MC_LEADINGJETS);
+  DECLARE_RIVET_PLUGIN(MC_LEADJETUE);
 
 }

Added: trunk/src/Analyses/MC_PDFS.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/MC_PDFS.cc	Tue Feb 14 23:01:58 2012	(r3561)
@@ -0,0 +1,97 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Tools/Logging.hh"
+// #include "Rivet/Projections/ChargedFinalState.hh"
+
+namespace Rivet {
+
+
+  /// Generic analysis looking at various distributions of final state particles
+  class MC_PDFS : public Analysis {
+  public:
+
+    /// Constructor
+    MC_PDFS()
+      : Analysis("MC_PDFS")
+    {    }
+
+
+  public:
+
+    /// @name Analysis methods
+    //@{
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+      // Projections
+      // addProjection(ChargedFinalState(-5.0, 5.0, 500*MeV), "CFS");
+
+      // Histograms
+      _histPdfX = bookHistogram1D("PdfX", logspace(0.000001, 1.0, 50));
+      _histPdfXmin = bookHistogram1D("PdfXmin", logspace(0.000001, 1.0, 50));
+      _histPdfXmax = bookHistogram1D("PdfXmax", logspace(0.000001, 1.0, 50));
+      _histPdfQ = bookHistogram1D("PdfQ", 50, 0.0, 30.0);
+      // _histPdfXQ = bookHistogram2D("PdfXQ", logspace(0.000001, 1.0, 50), linspace(0.0, 30.0, 50));
+      // _histPdfTrackptVsX = bookProfile1D("PdfTrackptVsX", logspace(0.000001, 1.0, 50));
+      // _histPdfTrackptVsQ = bookProfile1D("PdfTrackptVsQ", 50, 0.0, 30.0);
+    }
+
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const double weight = event.weight();
+
+      // This analysis needs a valid HepMC PDF info object to do anything
+      if (event.genEvent().pdf_info() == 0) vetoEvent;
+      HepMC::PdfInfo pdfi = *event.genEvent().pdf_info();
+
+      MSG_DEBUG("PDF Q = " << pdfi.scalePDF() << " for (id, x) = "
+                << "(" << pdfi.id1() << ", " << pdfi.x1() << ") "
+                << "(" << pdfi.id2() << ", " << pdfi.x2() << ")");
+      _histPdfX->fill(pdfi.x1(), weight);
+      _histPdfX->fill(pdfi.x2(), weight);
+      _histPdfXmin->fill(std::min(pdfi.x1(), pdfi.x2()), weight);
+      _histPdfXmax->fill(std::max(pdfi.x1(), pdfi.x2()), weight);
+      _histPdfQ->fill(pdfi.scalePDF(), weight); // always in GeV?
+
+      // const FinalState& cfs = applyProjection<FinalState>(event, "CFS");
+      // foreach (const Particle& p, cfs.particles()) {
+      //   if (fabs(eta) < 2.5 && p.momentum().pT() > 10*GeV) {
+      //     _histPdfTrackptVsX->fill(pdfi.x1(), p.momentum().pT()/GeV, weight);
+      //     _histPdfTrackptVsX->fill(pdfi.x2(), p.momentum().pT()/GeV, weight);
+      //     _histPdfTrackptVsQ->fill(pdfi.scalePDF(), p.momentum().pT()/GeV, weight);
+      //   }
+      // }
+
+    }
+
+
+
+    /// Finalize
+    void finalize() {
+      scale(_histPdfX, 1/sumOfWeights());
+      scale(_histPdfXmin, 1/sumOfWeights());
+      scale(_histPdfXmax, 1/sumOfWeights());
+      scale(_histPdfQ, 1/sumOfWeights());
+    }
+
+    //@}
+
+
+  private:
+
+    /// @name Histograms
+    //@{
+    AIDA::IHistogram1D *_histPdfX, *_histPdfXmin, *_histPdfXmax, *_histPdfQ;
+    // AIDA::IProfile1D   *_histPdfTrackptVsX, *_histPdfTrackptVsQ;
+    //@}
+
+  };
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(MC_PDFS);
+
+}

Modified: trunk/src/Analyses/Makefile.am
==============================================================================
--- trunk/src/Analyses/Makefile.am	Tue Feb 14 17:12:45 2012	(r3560)
+++ trunk/src/Analyses/Makefile.am	Tue Feb 14 23:01:58 2012	(r3561)
@@ -256,21 +256,25 @@
 lib_LTLIBRARIES += RivetMCAnalyses.la
 RivetMCAnalyses_la_SOURCES = \
     EXAMPLE.cc \
+    MC_DIPHOTON.cc \
     MC_GENERIC.cc \
+    MC_HJETS.cc \
+    MC_IDENTIFIED.cc \
     MC_JETS.cc \
+    MC_LEADJETUE.cc \
+    MC_PDFS.cc \
     MC_PHOTONJETS.cc \
+    MC_SUSY.cc \
+    MC_TTBAR.cc \
     MC_VH2BB.cc \
-    MC_HJETS.cc \
     MC_WJETS.cc \
     MC_WPOL.cc \
     MC_WWJETS.cc \
+    MC_XS.cc \
     MC_ZJETS.cc \
-    MC_ZZJETS.cc \
-    MC_LEADINGJETS.cc \
-    MC_DIPHOTON.cc \
-    MC_SUSY.cc \
-    MC_TTBAR.cc \
-    MC_XS.cc
+    MC_ZZJETS.cc
+
+
 if ENABLE_UNVALIDATED
 RivetMCAnalyses_la_SOURCES += \
     MC_DIJET.cc \


More information about the Rivet-svn mailing list