rivet is hosted by Hepforge, IPPP Durham
ATLAS_2011_I919017.cc
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 #include "Rivet/Analysis.hh"
00003 #include "Rivet/RivetYODA.hh"
00004 #include "Rivet/Tools/Logging.hh"
00005 #include "Rivet/Projections/ChargedFinalState.hh"
00006 #include "Rivet/Projections/FastJets.hh"
00007 #include "Rivet/Math/MathUtils.hh"
00008 
00009 namespace Rivet {
00010 
00011 
00012   namespace {
00013 
00014     inline double calcz(const Jet& j, const Particle& p) {
00015       const double num = j.momentum().vector3().dot(p.momentum().vector3());
00016       const double den = j.momentum().vector3().mod2();
00017       return num/den;
00018     }
00019 
00020     inline double calcptrel(const Jet& j, const Particle& p) {
00021       const double num = j.momentum().vector3().cross(p.momentum().vector3()).mod();
00022       const double den = j.momentum().vector3().mod();
00023       return num/den;
00024     }
00025 
00026     inline double calcr(const Jet& j, const Particle& p) {
00027       return deltaR(j.momentum().rapidity(), j.momentum().phi(), p.momentum().rapidity(), p.momentum().phi());
00028     }
00029 
00030     // For annulus area kludge
00031     /// @todo Improve somehow... need normalisation *without* bin width factors!
00032     inline double calcrweight(const Jet& j, const Particle& p) {
00033       size_t nBins_r = 26;
00034       double bins_r[] = { 0.00, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10,
00035                           0.12, 0.14, 0.16, 0.18, 0.20, 0.22, 0.24, 0.26, 0.28, 0.30,
00036                           0.35, 0.40, 0.45, 0.50, 0.55, 0.60 };
00037       double r = calcr(j,p);
00038       for (size_t bin = 0 ; bin < nBins_r ; bin++) {
00039         if (r < bins_r[bin+1]) {
00040           double up = bins_r[bin+1];
00041           double down = bins_r[bin];
00042           return ((up-down)/(M_PI*(up*up-down*down)));
00043         }
00044       }
00045       return 1.0;
00046     }
00047   }
00048 
00049 
00050   class ATLAS_2011_I919017 : public Analysis {
00051   public:
00052 
00053     /// @name Constructors etc.
00054     //@{
00055 
00056     /// Constructor
00057     ATLAS_2011_I919017()
00058       : Analysis("ATLAS_2011_I919017"),
00059         _sumofweights04(0), _sumofweights06(0),
00060         _numjets04_00_05_04_06(0), _numjets04_00_05_06_10(0), _numjets04_00_05_10_15(0), _numjets04_00_05_15_24(0), _numjets04_00_05_24_40(0),
00061         _numjets06_00_05_04_06(0), _numjets06_00_05_06_10(0), _numjets06_00_05_10_15(0), _numjets06_00_05_15_24(0), _numjets06_00_05_24_40(0),
00062         _numjets04_05_10_04_06(0), _numjets04_05_10_06_10(0), _numjets04_05_10_10_15(0), _numjets04_05_10_15_24(0), _numjets04_05_10_24_40(0),
00063         _numjets06_05_10_04_06(0), _numjets06_05_10_06_10(0), _numjets06_05_10_10_15(0), _numjets06_05_10_15_24(0), _numjets06_05_10_24_40(0),
00064         _numjets04_10_15_04_06(0), _numjets04_10_15_06_10(0), _numjets04_10_15_10_15(0), _numjets04_10_15_15_24(0), _numjets04_10_15_24_40(0),
00065         _numjets06_10_15_04_06(0), _numjets06_10_15_06_10(0), _numjets06_10_15_10_15(0), _numjets06_10_15_15_24(0), _numjets06_10_15_24_40(0),
00066         _numjets04_15_19_04_06(0), _numjets04_15_19_06_10(0), _numjets04_15_19_10_15(0), _numjets04_15_19_15_24(0), _numjets04_15_19_24_40(0),
00067         _numjets06_15_19_04_06(0), _numjets06_15_19_06_10(0), _numjets06_15_19_10_15(0), _numjets06_15_19_15_24(0), _numjets06_15_19_24_40(0),
00068         _numjets04_00_19_04_06(0), _numjets04_00_19_06_10(0), _numjets04_00_19_10_15(0), _numjets04_00_19_15_24(0), _numjets04_00_19_24_40(0),
00069         _numjets06_00_19_04_06(0), _numjets06_00_19_06_10(0), _numjets06_00_19_10_15(0), _numjets06_00_19_15_24(0), _numjets06_00_19_24_40(0)
00070     {    }
00071 
00072     //@}
00073 
00074 
00075   public:
00076 
00077     /// @name Analysis methods
00078     //@{
00079 
00080     /// Book histograms and initialise projections before the run
00081     void init() {
00082       ChargedFinalState cfs(-2.5, 2.5, 0.3*GeV);
00083       FastJets trkjets04(cfs, FastJets::ANTIKT, 0.4);
00084       FastJets trkjets06(cfs, FastJets::ANTIKT, 0.6);
00085       addProjection(trkjets04, "Jets04");
00086       addProjection(trkjets06, "Jets06");
00087 
00088       // Book histograms
00089       _h_pt04_00_05 = bookHisto1D(1, 1, 1);
00090       _h_pt06_00_05 = bookHisto1D(2, 1, 1);
00091       _h_N04_00_05_04_06 = bookHisto1D(1, 2, 1+5);
00092       _h_N06_00_05_04_06 = bookHisto1D(2, 2, 1+5);
00093       _h_N04_00_05_06_10 = bookHisto1D(1, 2, 2+5);
00094       _h_N06_00_05_06_10 = bookHisto1D(2, 2, 2+5);
00095       _h_N04_00_05_10_15 = bookHisto1D(1, 2, 3+5);
00096       _h_N06_00_05_10_15 = bookHisto1D(2, 2, 3+5);
00097       _h_N04_00_05_15_24 = bookHisto1D(1, 2, 4+5);
00098       _h_N06_00_05_15_24 = bookHisto1D(2, 2, 4+5);
00099       _h_N04_00_05_24_40 = bookHisto1D(1, 2, 5+5);
00100       _h_N06_00_05_24_40 = bookHisto1D(2, 2, 5+5);
00101       _h_z04_00_05_04_06 = bookHisto1D(1, 3, 1+5);
00102       _h_z06_00_05_04_06 = bookHisto1D(2, 3, 1+5);
00103       _h_z04_00_05_06_10 = bookHisto1D(1, 3, 2+5);
00104       _h_z06_00_05_06_10 = bookHisto1D(2, 3, 2+5);
00105       _h_z04_00_05_10_15 = bookHisto1D(1, 3, 3+5);
00106       _h_z06_00_05_10_15 = bookHisto1D(2, 3, 3+5);
00107       _h_z04_00_05_15_24 = bookHisto1D(1, 3, 4+5);
00108       _h_z06_00_05_15_24 = bookHisto1D(2, 3, 4+5);
00109       _h_z04_00_05_24_40 = bookHisto1D(1, 3, 5+5);
00110       _h_z06_00_05_24_40 = bookHisto1D(2, 3, 5+5);
00111       _h_ptrel04_00_05_04_06 = bookHisto1D(1, 4, 1+5);
00112       _h_ptrel06_00_05_04_06 = bookHisto1D(2, 4, 1+5);
00113       _h_ptrel04_00_05_06_10 = bookHisto1D(1, 4, 2+5);
00114       _h_ptrel06_00_05_06_10 = bookHisto1D(2, 4, 2+5);
00115       _h_ptrel04_00_05_10_15 = bookHisto1D(1, 4, 3+5);
00116       _h_ptrel06_00_05_10_15 = bookHisto1D(2, 4, 3+5);
00117       _h_ptrel04_00_05_15_24 = bookHisto1D(1, 4, 4+5);
00118       _h_ptrel06_00_05_15_24 = bookHisto1D(2, 4, 4+5);
00119       _h_ptrel04_00_05_24_40 = bookHisto1D(1, 4, 5+5);
00120       _h_ptrel06_00_05_24_40 = bookHisto1D(2, 4, 5+5);
00121       _h_rdA04_00_05_04_06 = bookHisto1D(1, 5, 1+5);
00122       _h_rdA06_00_05_04_06 = bookHisto1D(2, 5, 1+5);
00123       _h_rdA04_00_05_06_10 = bookHisto1D(1, 5, 2+5);
00124       _h_rdA06_00_05_06_10 = bookHisto1D(2, 5, 2+5);
00125       _h_rdA04_00_05_10_15 = bookHisto1D(1, 5, 3+5);
00126       _h_rdA06_00_05_10_15 = bookHisto1D(2, 5, 3+5);
00127       _h_rdA04_00_05_15_24 = bookHisto1D(1, 5, 4+5);
00128       _h_rdA06_00_05_15_24 = bookHisto1D(2, 5, 4+5);
00129       _h_rdA04_00_05_24_40 = bookHisto1D(1, 5, 5+5);
00130       _h_rdA06_00_05_24_40 = bookHisto1D(2, 5, 5+5);
00131 
00132       _h_pt04_05_10 = bookHisto1D(1, 1, 2);
00133       _h_pt06_05_10 = bookHisto1D(2, 1, 2);
00134       _h_N04_05_10_04_06 = bookHisto1D(1, 2, 1+10);
00135       _h_N06_05_10_04_06 = bookHisto1D(2, 2, 1+10);
00136       _h_N04_05_10_06_10 = bookHisto1D(1, 2, 2+10);
00137       _h_N06_05_10_06_10 = bookHisto1D(2, 2, 2+10);
00138       _h_N04_05_10_10_15 = bookHisto1D(1, 2, 3+10);
00139       _h_N06_05_10_10_15 = bookHisto1D(2, 2, 3+10);
00140       _h_N04_05_10_15_24 = bookHisto1D(1, 2, 4+10);
00141       _h_N06_05_10_15_24 = bookHisto1D(2, 2, 4+10);
00142       _h_N04_05_10_24_40 = bookHisto1D(1, 2, 5+10);
00143       _h_N06_05_10_24_40 = bookHisto1D(2, 2, 5+10);
00144       _h_z04_05_10_04_06 = bookHisto1D(1, 3, 1+10);
00145       _h_z06_05_10_04_06 = bookHisto1D(2, 3, 1+10);
00146       _h_z04_05_10_06_10 = bookHisto1D(1, 3, 2+10);
00147       _h_z06_05_10_06_10 = bookHisto1D(2, 3, 2+10);
00148       _h_z04_05_10_10_15 = bookHisto1D(1, 3, 3+10);
00149       _h_z06_05_10_10_15 = bookHisto1D(2, 3, 3+10);
00150       _h_z04_05_10_15_24 = bookHisto1D(1, 3, 4+10);
00151       _h_z06_05_10_15_24 = bookHisto1D(2, 3, 4+10);
00152       _h_z04_05_10_24_40 = bookHisto1D(1, 3, 5+10);
00153       _h_z06_05_10_24_40 = bookHisto1D(2, 3, 5+10);
00154       _h_ptrel04_05_10_04_06 = bookHisto1D(1, 4, 1+10);
00155       _h_ptrel06_05_10_04_06 = bookHisto1D(2, 4, 1+10);
00156       _h_ptrel04_05_10_06_10 = bookHisto1D(1, 4, 2+10);
00157       _h_ptrel06_05_10_06_10 = bookHisto1D(2, 4, 2+10);
00158       _h_ptrel04_05_10_10_15 = bookHisto1D(1, 4, 3+10);
00159       _h_ptrel06_05_10_10_15 = bookHisto1D(2, 4, 3+10);
00160       _h_ptrel04_05_10_15_24 = bookHisto1D(1, 4, 4+10);
00161       _h_ptrel06_05_10_15_24 = bookHisto1D(2, 4, 4+10);
00162       _h_ptrel04_05_10_24_40 = bookHisto1D(1, 4, 5+10);
00163       _h_ptrel06_05_10_24_40 = bookHisto1D(2, 4, 5+10);
00164       _h_rdA04_05_10_04_06 = bookHisto1D(1, 5, 1+10);
00165       _h_rdA06_05_10_04_06 = bookHisto1D(2, 5, 1+10);
00166       _h_rdA04_05_10_06_10 = bookHisto1D(1, 5, 2+10);
00167       _h_rdA06_05_10_06_10 = bookHisto1D(2, 5, 2+10);
00168       _h_rdA04_05_10_10_15 = bookHisto1D(1, 5, 3+10);
00169       _h_rdA06_05_10_10_15 = bookHisto1D(2, 5, 3+10);
00170       _h_rdA04_05_10_15_24 = bookHisto1D(1, 5, 4+10);
00171       _h_rdA06_05_10_15_24 = bookHisto1D(2, 5, 4+10);
00172       _h_rdA04_05_10_24_40 = bookHisto1D(1, 5, 5+10);
00173       _h_rdA06_05_10_24_40 = bookHisto1D(2, 5, 5+10);
00174 
00175       _h_pt04_10_15 = bookHisto1D(1, 1, 3);
00176       _h_pt06_10_15 = bookHisto1D(2, 1, 3);
00177       _h_N04_10_15_04_06 = bookHisto1D(1, 2, 1+15);
00178       _h_N06_10_15_04_06 = bookHisto1D(2, 2, 1+15);
00179       _h_N04_10_15_06_10 = bookHisto1D(1, 2, 2+15);
00180       _h_N06_10_15_06_10 = bookHisto1D(2, 2, 2+15);
00181       _h_N04_10_15_10_15 = bookHisto1D(1, 2, 3+15);
00182       _h_N06_10_15_10_15 = bookHisto1D(2, 2, 3+15);
00183       _h_N04_10_15_15_24 = bookHisto1D(1, 2, 4+15);
00184       _h_N06_10_15_15_24 = bookHisto1D(2, 2, 4+15);
00185       _h_N04_10_15_24_40 = bookHisto1D(1, 2, 5+15);
00186       _h_N06_10_15_24_40 = bookHisto1D(2, 2, 5+15);
00187       _h_z04_10_15_04_06 = bookHisto1D(1, 3, 1+15);
00188       _h_z06_10_15_04_06 = bookHisto1D(2, 3, 1+15);
00189       _h_z04_10_15_06_10 = bookHisto1D(1, 3, 2+15);
00190       _h_z06_10_15_06_10 = bookHisto1D(2, 3, 2+15);
00191       _h_z04_10_15_10_15 = bookHisto1D(1, 3, 3+15);
00192       _h_z06_10_15_10_15 = bookHisto1D(2, 3, 3+15);
00193       _h_z04_10_15_15_24 = bookHisto1D(1, 3, 4+15);
00194       _h_z06_10_15_15_24 = bookHisto1D(2, 3, 4+15);
00195       _h_z04_10_15_24_40 = bookHisto1D(1, 3, 5+15);
00196       _h_z06_10_15_24_40 = bookHisto1D(2, 3, 5+15);
00197       _h_ptrel04_10_15_04_06 = bookHisto1D(1, 4, 1+15);
00198       _h_ptrel06_10_15_04_06 = bookHisto1D(2, 4, 1+15);
00199       _h_ptrel04_10_15_06_10 = bookHisto1D(1, 4, 2+15);
00200       _h_ptrel06_10_15_06_10 = bookHisto1D(2, 4, 2+15);
00201       _h_ptrel04_10_15_10_15 = bookHisto1D(1, 4, 3+15);
00202       _h_ptrel06_10_15_10_15 = bookHisto1D(2, 4, 3+15);
00203       _h_ptrel04_10_15_15_24 = bookHisto1D(1, 4, 4+15);
00204       _h_ptrel06_10_15_15_24 = bookHisto1D(2, 4, 4+15);
00205       _h_ptrel04_10_15_24_40 = bookHisto1D(1, 4, 5+15);
00206       _h_ptrel06_10_15_24_40 = bookHisto1D(2, 4, 5+15);
00207       _h_rdA04_10_15_04_06 = bookHisto1D(1, 5, 1+15);
00208       _h_rdA06_10_15_04_06 = bookHisto1D(2, 5, 1+15);
00209       _h_rdA04_10_15_06_10 = bookHisto1D(1, 5, 2+15);
00210       _h_rdA06_10_15_06_10 = bookHisto1D(2, 5, 2+15);
00211       _h_rdA04_10_15_10_15 = bookHisto1D(1, 5, 3+15);
00212       _h_rdA06_10_15_10_15 = bookHisto1D(2, 5, 3+15);
00213       _h_rdA04_10_15_15_24 = bookHisto1D(1, 5, 4+15);
00214       _h_rdA06_10_15_15_24 = bookHisto1D(2, 5, 4+15);
00215       _h_rdA04_10_15_24_40 = bookHisto1D(1, 5, 5+15);
00216       _h_rdA06_10_15_24_40 = bookHisto1D(2, 5, 5+15);
00217 
00218       _h_pt04_15_19 = bookHisto1D(1, 1, 4);
00219       _h_pt06_15_19 = bookHisto1D(2, 1, 4);
00220       _h_N04_15_19_04_06 = bookHisto1D(1, 2, 1+20);
00221       _h_N06_15_19_04_06 = bookHisto1D(2, 2, 1+20);
00222       _h_N04_15_19_06_10 = bookHisto1D(1, 2, 2+20);
00223       _h_N06_15_19_06_10 = bookHisto1D(2, 2, 2+20);
00224       _h_N04_15_19_10_15 = bookHisto1D(1, 2, 3+20);
00225       _h_N06_15_19_10_15 = bookHisto1D(2, 2, 3+20);
00226       _h_N04_15_19_15_24 = bookHisto1D(1, 2, 4+20);
00227       _h_N06_15_19_15_24 = bookHisto1D(2, 2, 4+20);
00228       _h_N04_15_19_24_40 = bookHisto1D(1, 2, 5+20);
00229       _h_N06_15_19_24_40 = bookHisto1D(2, 2, 5+20);
00230       _h_z04_15_19_04_06 = bookHisto1D(1, 3, 1+20);
00231       _h_z06_15_19_04_06 = bookHisto1D(2, 3, 1+20);
00232       _h_z04_15_19_06_10 = bookHisto1D(1, 3, 2+20);
00233       _h_z06_15_19_06_10 = bookHisto1D(2, 3, 2+20);
00234       _h_z04_15_19_10_15 = bookHisto1D(1, 3, 3+20);
00235       _h_z06_15_19_10_15 = bookHisto1D(2, 3, 3+20);
00236       _h_z04_15_19_15_24 = bookHisto1D(1, 3, 4+20);
00237       _h_z06_15_19_15_24 = bookHisto1D(2, 3, 4+20);
00238       _h_z04_15_19_24_40 = bookHisto1D(1, 3, 5+20);
00239       _h_z06_15_19_24_40 = bookHisto1D(2, 3, 5+20);
00240       _h_ptrel04_15_19_04_06 = bookHisto1D(1, 4, 1+20);
00241       _h_ptrel06_15_19_04_06 = bookHisto1D(2, 4, 1+20);
00242       _h_ptrel04_15_19_06_10 = bookHisto1D(1, 4, 2+20);
00243       _h_ptrel06_15_19_06_10 = bookHisto1D(2, 4, 2+20);
00244       _h_ptrel04_15_19_10_15 = bookHisto1D(1, 4, 3+20);
00245       _h_ptrel06_15_19_10_15 = bookHisto1D(2, 4, 3+20);
00246       _h_ptrel04_15_19_15_24 = bookHisto1D(1, 4, 4+20);
00247       _h_ptrel06_15_19_15_24 = bookHisto1D(2, 4, 4+20);
00248       _h_ptrel04_15_19_24_40 = bookHisto1D(1, 4, 5+20);
00249       _h_ptrel06_15_19_24_40 = bookHisto1D(2, 4, 5+20);
00250       _h_rdA04_15_19_04_06 = bookHisto1D(1, 5, 1+20);
00251       _h_rdA06_15_19_04_06 = bookHisto1D(2, 5, 1+20);
00252       _h_rdA04_15_19_06_10 = bookHisto1D(1, 5, 2+20);
00253       _h_rdA06_15_19_06_10 = bookHisto1D(2, 5, 2+20);
00254       _h_rdA04_15_19_10_15 = bookHisto1D(1, 5, 3+20);
00255       _h_rdA06_15_19_10_15 = bookHisto1D(2, 5, 3+20);
00256       _h_rdA04_15_19_15_24 = bookHisto1D(1, 5, 4+20);
00257       _h_rdA06_15_19_15_24 = bookHisto1D(2, 5, 4+20);
00258       _h_rdA04_15_19_24_40 = bookHisto1D(1, 5, 5+20);
00259       _h_rdA06_15_19_24_40 = bookHisto1D(2, 5, 5+20);
00260 
00261       _h_N04_00_19_04_06 = bookHisto1D(1, 2, 1+0);
00262       _h_N06_00_19_04_06 = bookHisto1D(2, 2, 1+0);
00263       _h_N04_00_19_06_10 = bookHisto1D(1, 2, 2+0);
00264       _h_N06_00_19_06_10 = bookHisto1D(2, 2, 2+0);
00265       _h_N04_00_19_10_15 = bookHisto1D(1, 2, 3+0);
00266       _h_N06_00_19_10_15 = bookHisto1D(2, 2, 3+0);
00267       _h_N04_00_19_15_24 = bookHisto1D(1, 2, 4+0);
00268       _h_N06_00_19_15_24 = bookHisto1D(2, 2, 4+0);
00269       _h_N04_00_19_24_40 = bookHisto1D(1, 2, 5+0);
00270       _h_N06_00_19_24_40 = bookHisto1D(2, 2, 5+0);
00271       _h_z04_00_19_04_06 = bookHisto1D(1, 3, 1+0);
00272       _h_z06_00_19_04_06 = bookHisto1D(2, 3, 1+0);
00273       _h_z04_00_19_06_10 = bookHisto1D(1, 3, 2+0);
00274       _h_z06_00_19_06_10 = bookHisto1D(2, 3, 2+0);
00275       _h_z04_00_19_10_15 = bookHisto1D(1, 3, 3+0);
00276       _h_z06_00_19_10_15 = bookHisto1D(2, 3, 3+0);
00277       _h_z04_00_19_15_24 = bookHisto1D(1, 3, 4+0);
00278       _h_z06_00_19_15_24 = bookHisto1D(2, 3, 4+0);
00279       _h_z04_00_19_24_40 = bookHisto1D(1, 3, 5+0);
00280       _h_z06_00_19_24_40 = bookHisto1D(2, 3, 5+0);
00281       _h_ptrel04_00_19_04_06 = bookHisto1D(1, 4, 1+0);
00282       _h_ptrel06_00_19_04_06 = bookHisto1D(2, 4, 1+0);
00283       _h_ptrel04_00_19_06_10 = bookHisto1D(1, 4, 2+0);
00284       _h_ptrel06_00_19_06_10 = bookHisto1D(2, 4, 2+0);
00285       _h_ptrel04_00_19_10_15 = bookHisto1D(1, 4, 3+0);
00286       _h_ptrel06_00_19_10_15 = bookHisto1D(2, 4, 3+0);
00287       _h_ptrel04_00_19_15_24 = bookHisto1D(1, 4, 4+0);
00288       _h_ptrel06_00_19_15_24 = bookHisto1D(2, 4, 4+0);
00289       _h_ptrel04_00_19_24_40 = bookHisto1D(1, 4, 5+0);
00290       _h_ptrel06_00_19_24_40 = bookHisto1D(2, 4, 5+0);
00291       _h_rdA04_00_19_04_06 = bookHisto1D(1, 5, 1+0);
00292       _h_rdA06_00_19_04_06 = bookHisto1D(2, 5, 1+0);
00293       _h_rdA04_00_19_06_10 = bookHisto1D(1, 5, 2+0);
00294       _h_rdA06_00_19_06_10 = bookHisto1D(2, 5, 2+0);
00295       _h_rdA04_00_19_10_15 = bookHisto1D(1, 5, 3+0);
00296       _h_rdA06_00_19_10_15 = bookHisto1D(2, 5, 3+0);
00297       _h_rdA04_00_19_15_24 = bookHisto1D(1, 5, 4+0);
00298       _h_rdA06_00_19_15_24 = bookHisto1D(2, 5, 4+0);
00299       _h_rdA04_00_19_24_40 = bookHisto1D(1, 5, 5+0);
00300       _h_rdA06_00_19_24_40 = bookHisto1D(2, 5, 5+0);
00301     }
00302 
00303 
00304     /// Perform the per-event analysis
00305     void analyze(const Event& event) {
00306       const double weight = event.weight();
00307 
00308       const Jets& jets04 = applyProjection<JetAlg>(event, "Jets04").jets();
00309       if (!jets04.empty()) {
00310         _sumofweights04 += weight;
00311         foreach (const Jet& j, jets04) {
00312           const double jetpt = j.momentum().pT();
00313           if (fabs(j.momentum().rapidity()) < 0.5) {
00314             _h_pt04_00_05->fill(jetpt/GeV, weight);
00315             if (inRange(jetpt/GeV, 4., 6.)) {
00316               _numjets04_00_05_04_06 += weight;
00317               _h_N04_00_05_04_06->fill(j.particles().size(),weight);
00318               foreach (const Particle& p, j.particles()) {
00319                 _h_z04_00_05_04_06->fill(calcz(j,p),weight);
00320                 _h_ptrel04_00_05_04_06->fill(calcptrel(j,p),weight);
00321                 _h_rdA04_00_05_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00322               }
00323             }
00324             if (inRange(jetpt/GeV, 6., 10.)) {
00325               _numjets04_00_05_06_10 += weight;
00326               _h_N04_00_05_06_10->fill(j.particles().size(),weight);
00327               foreach (const Particle& p, j.particles()) {
00328                 _h_z04_00_05_06_10->fill(calcz(j,p),weight);
00329                 _h_ptrel04_00_05_06_10->fill(calcptrel(j,p),weight);
00330                 _h_rdA04_00_05_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00331               }
00332             }
00333             if (inRange(jetpt/GeV, 10., 15.)) {
00334               _numjets04_00_05_10_15 += weight;
00335               _h_N04_00_05_10_15->fill(j.particles().size(),weight);
00336               foreach (const Particle& p, j.particles()) {
00337                 _h_z04_00_05_10_15->fill(calcz(j,p),weight);
00338                 _h_ptrel04_00_05_10_15->fill(calcptrel(j,p),weight);
00339                 _h_rdA04_00_05_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00340               }
00341             }
00342             if (inRange(jetpt/GeV, 15., 24.)) {
00343               _numjets04_00_05_15_24 += weight;
00344               _h_N04_00_05_15_24->fill(j.particles().size(),weight);
00345               foreach (const Particle& p, j.particles()) {
00346                 _h_z04_00_05_15_24->fill(calcz(j,p),weight);
00347                 _h_ptrel04_00_05_15_24->fill(calcptrel(j,p),weight);
00348                 _h_rdA04_00_05_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00349               }
00350             }
00351             if (inRange(jetpt/GeV, 24., 40.)) {
00352               _numjets04_00_05_24_40 += weight;
00353               _h_N04_00_05_24_40->fill(j.particles().size(),weight);
00354               foreach (const Particle& p, j.particles()) {
00355                 _h_z04_00_05_24_40->fill(calcz(j,p),weight);
00356                 _h_ptrel04_00_05_24_40->fill(calcptrel(j,p),weight);
00357                 _h_rdA04_00_05_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00358               }
00359             }
00360           }
00361           if (fabs(j.momentum().rapidity()) > 0.5 && fabs(j.momentum().rapidity()) < 1.0) {
00362             _h_pt04_05_10->fill(jetpt/GeV, weight);
00363             if (inRange(jetpt/GeV, 4., 6.)) {
00364               _numjets04_05_10_04_06 += weight;
00365               _h_N04_05_10_04_06->fill(j.particles().size(),weight);
00366               foreach (const Particle& p, j.particles()) {
00367                 _h_z04_05_10_04_06->fill(calcz(j,p),weight);
00368                 _h_ptrel04_05_10_04_06->fill(calcptrel(j,p),weight);
00369                 _h_rdA04_05_10_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00370               }
00371             }
00372             if (inRange(jetpt/GeV, 6., 10.)) {
00373               _numjets04_05_10_06_10 += weight;
00374               _h_N04_05_10_06_10->fill(j.particles().size(),weight);
00375               foreach (const Particle& p, j.particles()) {
00376                 _h_z04_05_10_06_10->fill(calcz(j,p),weight);
00377                 _h_ptrel04_05_10_06_10->fill(calcptrel(j,p),weight);
00378                 _h_rdA04_05_10_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00379               }
00380             }
00381             if (inRange(jetpt/GeV, 10., 15.)) {
00382               _numjets04_05_10_10_15 += weight;
00383               _h_N04_05_10_10_15->fill(j.particles().size(),weight);
00384               foreach (const Particle& p, j.particles()) {
00385                 _h_z04_05_10_10_15->fill(calcz(j,p),weight);
00386                 _h_ptrel04_05_10_10_15->fill(calcptrel(j,p),weight);
00387                 _h_rdA04_05_10_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00388               }
00389             }
00390             if (inRange(jetpt/GeV, 15., 24.)) {
00391               _numjets04_05_10_15_24 += weight;
00392               _h_N04_05_10_15_24->fill(j.particles().size(),weight);
00393               foreach (const Particle& p, j.particles()) {
00394                 _h_z04_05_10_15_24->fill(calcz(j,p),weight);
00395                 _h_ptrel04_05_10_15_24->fill(calcptrel(j,p),weight);
00396                 _h_rdA04_05_10_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00397               }
00398             }
00399             if (inRange(jetpt/GeV, 24., 40.)) {
00400               _numjets04_05_10_24_40 += weight;
00401               _h_N04_05_10_24_40->fill(j.particles().size(),weight);
00402               foreach (const Particle& p, j.particles()) {
00403                 _h_z04_05_10_24_40->fill(calcz(j,p),weight);
00404                 _h_ptrel04_05_10_24_40->fill(calcptrel(j,p),weight);
00405                 _h_rdA04_05_10_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00406               }
00407             }
00408           }
00409           if (fabs(j.momentum().rapidity()) > 1.0 && fabs(j.momentum().rapidity()) < 1.5) {
00410             _h_pt04_10_15->fill(jetpt/GeV, weight);
00411             if (inRange(jetpt/GeV, 4., 6.)) {
00412               _numjets04_10_15_04_06 += weight;
00413               _h_N04_10_15_04_06->fill(j.particles().size(),weight);
00414               foreach (const Particle& p, j.particles()) {
00415                 _h_z04_10_15_04_06->fill(calcz(j,p),weight);
00416                 _h_ptrel04_10_15_04_06->fill(calcptrel(j,p),weight);
00417                 _h_rdA04_10_15_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00418               }
00419             }
00420             if (inRange(jetpt/GeV, 6., 10.)) {
00421               _numjets04_10_15_06_10 += weight;
00422               _h_N04_10_15_06_10->fill(j.particles().size(),weight);
00423               foreach (const Particle& p, j.particles()) {
00424                 _h_z04_10_15_06_10->fill(calcz(j,p),weight);
00425                 _h_ptrel04_10_15_06_10->fill(calcptrel(j,p),weight);
00426                 _h_rdA04_10_15_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00427               }
00428             }
00429             if (inRange(jetpt/GeV, 10., 15.)) {
00430               _numjets04_10_15_10_15 += weight;
00431               _h_N04_10_15_10_15->fill(j.particles().size(),weight);
00432               foreach (const Particle& p, j.particles()) {
00433                 _h_z04_10_15_10_15->fill(calcz(j,p),weight);
00434                 _h_ptrel04_10_15_10_15->fill(calcptrel(j,p),weight);
00435                 _h_rdA04_10_15_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00436               }
00437             }
00438             if (inRange(jetpt/GeV, 15., 24.)) {
00439               _numjets04_10_15_15_24 += weight;
00440               _h_N04_10_15_15_24->fill(j.particles().size(),weight);
00441               foreach (const Particle& p, j.particles()) {
00442                 _h_z04_10_15_15_24->fill(calcz(j,p),weight);
00443                 _h_ptrel04_10_15_15_24->fill(calcptrel(j,p),weight);
00444                 _h_rdA04_10_15_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00445               }
00446             }
00447             if (inRange(jetpt/GeV, 24., 40.)) {
00448               _numjets04_10_15_24_40 += weight;
00449               _h_N04_10_15_24_40->fill(j.particles().size(),weight);
00450               foreach (const Particle& p, j.particles()) {
00451                 _h_z04_10_15_24_40->fill(calcz(j,p),weight);
00452                 _h_ptrel04_10_15_24_40->fill(calcptrel(j,p),weight);
00453                 _h_rdA04_10_15_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00454               }
00455             }
00456           }
00457           if (fabs(j.momentum().rapidity()) > 1.5 && fabs(j.momentum().rapidity()) < 1.9) {
00458             _h_pt04_15_19->fill(jetpt/GeV, weight);
00459             if (inRange(jetpt/GeV, 4., 6.)) {
00460               _numjets04_15_19_04_06 += weight;
00461               _h_N04_15_19_04_06->fill(j.particles().size(),weight);
00462               foreach (const Particle& p, j.particles()) {
00463                 _h_z04_15_19_04_06->fill(calcz(j,p),weight);
00464                 _h_ptrel04_15_19_04_06->fill(calcptrel(j,p),weight);
00465                 _h_rdA04_15_19_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00466               }
00467             }
00468             if (inRange(jetpt/GeV, 6., 10.)) {
00469               _numjets04_15_19_06_10 += weight;
00470               _h_N04_15_19_06_10->fill(j.particles().size(),weight);
00471               foreach (const Particle& p, j.particles()) {
00472                 _h_z04_15_19_06_10->fill(calcz(j,p),weight);
00473                 _h_ptrel04_15_19_06_10->fill(calcptrel(j,p),weight);
00474                 _h_rdA04_15_19_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00475               }
00476             }
00477             if (inRange(jetpt/GeV, 10., 15.)) {
00478               _numjets04_15_19_10_15 += weight;
00479               _h_N04_15_19_10_15->fill(j.particles().size(),weight);
00480               foreach (const Particle& p, j.particles()) {
00481                 _h_z04_15_19_10_15->fill(calcz(j,p),weight);
00482                 _h_ptrel04_15_19_10_15->fill(calcptrel(j,p),weight);
00483                 _h_rdA04_15_19_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00484               }
00485             }
00486             if (inRange(jetpt/GeV, 15., 24.)) {
00487               _numjets04_15_19_15_24 += weight;
00488               _h_N04_15_19_15_24->fill(j.particles().size(),weight);
00489               foreach (const Particle& p, j.particles()) {
00490                 _h_z04_15_19_15_24->fill(calcz(j,p),weight);
00491                 _h_ptrel04_15_19_15_24->fill(calcptrel(j,p),weight);
00492                 _h_rdA04_15_19_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00493               }
00494             }
00495             if (inRange(jetpt/GeV, 24., 40.)) {
00496               _numjets04_15_19_24_40 += weight;
00497               _h_N04_15_19_24_40->fill(j.particles().size(),weight);
00498               foreach (const Particle& p, j.particles()) {
00499                 _h_z04_15_19_24_40->fill(calcz(j,p),weight);
00500                 _h_ptrel04_15_19_24_40->fill(calcptrel(j,p),weight);
00501                 _h_rdA04_15_19_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00502               }
00503             }
00504           } // 1.5 < rapidity < 1.9
00505           if (fabs(j.momentum().rapidity()) < 1.9) {
00506             if (inRange(jetpt/GeV, 4., 6.)) {
00507               _numjets04_00_19_04_06 += weight;
00508               _h_N04_00_19_04_06->fill(j.particles().size(),weight);
00509               foreach (const Particle& p, j.particles()) {
00510                 _h_z04_00_19_04_06->fill(calcz(j,p),weight);
00511                 _h_ptrel04_00_19_04_06->fill(calcptrel(j,p),weight);
00512                 _h_rdA04_00_19_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00513               }
00514             }
00515             if (inRange(jetpt/GeV, 6., 10.)) {
00516               _numjets04_00_19_06_10 += weight;
00517               _h_N04_00_19_06_10->fill(j.particles().size(),weight);
00518               foreach (const Particle& p, j.particles()) {
00519                 _h_z04_00_19_06_10->fill(calcz(j,p),weight);
00520                 _h_ptrel04_00_19_06_10->fill(calcptrel(j,p),weight);
00521                 _h_rdA04_00_19_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00522               }
00523             }
00524             if (inRange(jetpt/GeV, 10., 15.)) {
00525               _numjets04_00_19_10_15 += weight;
00526               _h_N04_00_19_10_15->fill(j.particles().size(),weight);
00527               foreach (const Particle& p, j.particles()) {
00528                 _h_z04_00_19_10_15->fill(calcz(j,p),weight);
00529                 _h_ptrel04_00_19_10_15->fill(calcptrel(j,p),weight);
00530                 _h_rdA04_00_19_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00531               }
00532             }
00533             if (inRange(jetpt/GeV, 15., 24.)) {
00534               _numjets04_00_19_15_24 += weight;
00535               _h_N04_00_19_15_24->fill(j.particles().size(),weight);
00536               foreach (const Particle& p, j.particles()) {
00537                 _h_z04_00_19_15_24->fill(calcz(j,p),weight);
00538                 _h_ptrel04_00_19_15_24->fill(calcptrel(j,p),weight);
00539                 _h_rdA04_00_19_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00540               }
00541             }
00542             if (inRange(jetpt/GeV, 24., 40.)) {
00543               _numjets04_00_19_24_40 += weight;
00544               _h_N04_00_19_24_40->fill(j.particles().size(),weight);
00545               foreach (const Particle& p, j.particles()) {
00546                 _h_z04_00_19_24_40->fill(calcz(j,p),weight);
00547                 _h_ptrel04_00_19_24_40->fill(calcptrel(j,p),weight);
00548                 _h_rdA04_00_19_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00549               }
00550             }
00551           } // 0.0 < rapidity < 1.9
00552         } // each jet
00553       } // jets04 not empty
00554 
00555       const Jets& jets06 = applyProjection<JetAlg>(event, "Jets06").jets();
00556       if (!jets06.empty()) {
00557         _sumofweights06 += weight;
00558         foreach (const Jet& j, jets06) {
00559           const double jetpt = j.momentum().pT();
00560           if (fabs(j.momentum().rapidity()) < 0.5) {
00561             _h_pt06_00_05->fill(jetpt/GeV, weight);
00562             if (inRange(jetpt/GeV, 4., 6.)) {
00563               _numjets06_00_05_04_06 += weight;
00564               _h_N06_00_05_04_06->fill(j.particles().size(),weight);
00565               foreach (const Particle& p, j.particles()) {
00566                 _h_z06_00_05_04_06->fill(calcz(j,p),weight);
00567                 _h_ptrel06_00_05_04_06->fill(calcptrel(j,p),weight);
00568                 _h_rdA06_00_05_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00569               }
00570             }
00571             if (inRange(jetpt/GeV, 6., 10.)) {
00572               _numjets06_00_05_06_10 += weight;
00573               _h_N06_00_05_06_10->fill(j.particles().size(),weight);
00574               foreach (const Particle& p, j.particles()) {
00575                 _h_z06_00_05_06_10->fill(calcz(j,p),weight);
00576                 _h_ptrel06_00_05_06_10->fill(calcptrel(j,p),weight);
00577                 _h_rdA06_00_05_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00578               }
00579             }
00580             if (inRange(jetpt/GeV, 10., 15.)) {
00581               _numjets06_00_05_10_15 += weight;
00582               _h_N06_00_05_10_15->fill(j.particles().size(),weight);
00583               foreach (const Particle& p, j.particles()) {
00584                 _h_z06_00_05_10_15->fill(calcz(j,p),weight);
00585                 _h_ptrel06_00_05_10_15->fill(calcptrel(j,p),weight);
00586                 _h_rdA06_00_05_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00587               }
00588             }
00589             if (inRange(jetpt/GeV, 15., 24.)) {
00590               _numjets06_00_05_15_24 += weight;
00591               _h_N06_00_05_15_24->fill(j.particles().size(),weight);
00592               foreach (const Particle& p, j.particles()) {
00593                 _h_z06_00_05_15_24->fill(calcz(j,p),weight);
00594                 _h_ptrel06_00_05_15_24->fill(calcptrel(j,p),weight);
00595                 _h_rdA06_00_05_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00596               }
00597             }
00598             if (inRange(jetpt/GeV, 24., 40.)) {
00599               _numjets06_00_05_24_40 += weight;
00600               _h_N06_00_05_24_40->fill(j.particles().size(),weight);
00601               foreach (const Particle& p, j.particles()) {
00602                 _h_z06_00_05_24_40->fill(calcz(j,p),weight);
00603                 _h_ptrel06_00_05_24_40->fill(calcptrel(j,p),weight);
00604                 _h_rdA06_00_05_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00605               }
00606             }
00607           }
00608           if (fabs(j.momentum().rapidity()) > 0.5 && fabs(j.momentum().rapidity()) < 1.0) {
00609             _h_pt06_05_10->fill(jetpt/GeV, weight);
00610             if (inRange(jetpt/GeV, 4., 6.)) {
00611               _numjets06_05_10_04_06 += weight;
00612               _h_N06_05_10_04_06->fill(j.particles().size(),weight);
00613               foreach (const Particle& p, j.particles()) {
00614                 _h_z06_05_10_04_06->fill(calcz(j,p),weight);
00615                 _h_ptrel06_05_10_04_06->fill(calcptrel(j,p),weight);
00616                 _h_rdA06_05_10_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00617               }
00618             }
00619             if (inRange(jetpt/GeV, 6., 10.)) {
00620               _numjets06_05_10_06_10 += weight;
00621               _h_N06_05_10_06_10->fill(j.particles().size(),weight);
00622               foreach (const Particle& p, j.particles()) {
00623                 _h_z06_05_10_06_10->fill(calcz(j,p),weight);
00624                 _h_ptrel06_05_10_06_10->fill(calcptrel(j,p),weight);
00625                 _h_rdA06_05_10_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00626               }
00627             }
00628             if (inRange(jetpt/GeV, 10., 15.)) {
00629               _numjets06_05_10_10_15 += weight;
00630               _h_N06_05_10_10_15->fill(j.particles().size(),weight);
00631               foreach (const Particle& p, j.particles()) {
00632                 _h_z06_05_10_10_15->fill(calcz(j,p),weight);
00633                 _h_ptrel06_05_10_10_15->fill(calcptrel(j,p),weight);
00634                 _h_rdA06_05_10_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00635               }
00636             }
00637             if (inRange(jetpt/GeV, 15., 24.)) {
00638               _numjets06_05_10_15_24 += weight;
00639               _h_N06_05_10_15_24->fill(j.particles().size(),weight);
00640               foreach (const Particle& p, j.particles()) {
00641                 _h_z06_05_10_15_24->fill(calcz(j,p),weight);
00642                 _h_ptrel06_05_10_15_24->fill(calcptrel(j,p),weight);
00643                 _h_rdA06_05_10_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00644               }
00645             }
00646             if (inRange(jetpt/GeV, 24., 40.)) {
00647               _numjets06_05_10_24_40 += weight;
00648               _h_N06_05_10_24_40->fill(j.particles().size(),weight);
00649               foreach (const Particle& p, j.particles()) {
00650                 _h_z06_05_10_24_40->fill(calcz(j,p),weight);
00651                 _h_ptrel06_05_10_24_40->fill(calcptrel(j,p),weight);
00652                 _h_rdA06_05_10_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00653               }
00654             }
00655           }
00656           if (fabs(j.momentum().rapidity()) > 1.0 && fabs(j.momentum().rapidity()) < 1.5) {
00657             _h_pt06_10_15->fill(jetpt/GeV, weight);
00658             if (inRange(jetpt/GeV, 4., 6.)) {
00659               _numjets06_10_15_04_06 += weight;
00660               _h_N06_10_15_04_06->fill(j.particles().size(),weight);
00661               foreach (const Particle& p, j.particles()) {
00662                 _h_z06_10_15_04_06->fill(calcz(j,p),weight);
00663                 _h_ptrel06_10_15_04_06->fill(calcptrel(j,p),weight);
00664                 _h_rdA06_10_15_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00665               }
00666             }
00667             if (inRange(jetpt/GeV, 6., 10.)) {
00668               _numjets06_10_15_06_10 += weight;
00669               _h_N06_10_15_06_10->fill(j.particles().size(),weight);
00670               foreach (const Particle& p, j.particles()) {
00671                 _h_z06_10_15_06_10->fill(calcz(j,p),weight);
00672                 _h_ptrel06_10_15_06_10->fill(calcptrel(j,p),weight);
00673                 _h_rdA06_10_15_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00674               }
00675             }
00676             if (inRange(jetpt/GeV, 10., 15.)) {
00677               _numjets06_10_15_10_15 += weight;
00678               _h_N06_10_15_10_15->fill(j.particles().size(),weight);
00679               foreach (const Particle& p, j.particles()) {
00680                 _h_z06_10_15_10_15->fill(calcz(j,p),weight);
00681                 _h_ptrel06_10_15_10_15->fill(calcptrel(j,p),weight);
00682                 _h_rdA06_10_15_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00683               }
00684             }
00685             if (inRange(jetpt/GeV, 15., 24.)) {
00686               _numjets06_10_15_15_24 += weight;
00687               _h_N06_10_15_15_24->fill(j.particles().size(),weight);
00688               foreach (const Particle& p, j.particles()) {
00689                 _h_z06_10_15_15_24->fill(calcz(j,p),weight);
00690                 _h_ptrel06_10_15_15_24->fill(calcptrel(j,p),weight);
00691                 _h_rdA06_10_15_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00692               }
00693             }
00694             if (inRange(jetpt/GeV, 24., 40.)) {
00695               _numjets06_10_15_24_40 += weight;
00696               _h_N06_10_15_24_40->fill(j.particles().size(),weight);
00697               foreach (const Particle& p, j.particles()) {
00698                 _h_z06_10_15_24_40->fill(calcz(j,p),weight);
00699                 _h_ptrel06_10_15_24_40->fill(calcptrel(j,p),weight);
00700                 _h_rdA06_10_15_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00701               }
00702             }
00703           }
00704           if (fabs(j.momentum().rapidity()) > 1.5 && fabs(j.momentum().rapidity()) < 1.9) {
00705             _h_pt06_15_19->fill(jetpt/GeV, weight);
00706             if (inRange(jetpt/GeV, 4., 6.)) {
00707               _numjets06_15_19_04_06 += weight;
00708               _h_N06_15_19_04_06->fill(j.particles().size(),weight);
00709               foreach (const Particle& p, j.particles()) {
00710                 _h_z06_15_19_04_06->fill(calcz(j,p),weight);
00711                 _h_ptrel06_15_19_04_06->fill(calcptrel(j,p),weight);
00712                 _h_rdA06_15_19_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00713               }
00714             }
00715             if (inRange(jetpt/GeV, 6., 10.)) {
00716               _numjets06_15_19_06_10 += weight;
00717               _h_N06_15_19_06_10->fill(j.particles().size(),weight);
00718               foreach (const Particle& p, j.particles()) {
00719                 _h_z06_15_19_06_10->fill(calcz(j,p),weight);
00720                 _h_ptrel06_15_19_06_10->fill(calcptrel(j,p),weight);
00721                 _h_rdA06_15_19_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00722               }
00723             }
00724             if (inRange(jetpt/GeV, 10., 15.)) {
00725               _numjets06_15_19_10_15 += weight;
00726               _h_N06_15_19_10_15->fill(j.particles().size(),weight);
00727               foreach (const Particle& p, j.particles()) {
00728                 _h_z06_15_19_10_15->fill(calcz(j,p),weight);
00729                 _h_ptrel06_15_19_10_15->fill(calcptrel(j,p),weight);
00730                 _h_rdA06_15_19_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00731               }
00732             }
00733             if (inRange(jetpt/GeV, 15., 24.)) {
00734               _numjets06_15_19_15_24 += weight;
00735               _h_N06_15_19_15_24->fill(j.particles().size(),weight);
00736               foreach (const Particle& p, j.particles()) {
00737                 _h_z06_15_19_15_24->fill(calcz(j,p),weight);
00738                 _h_ptrel06_15_19_15_24->fill(calcptrel(j,p),weight);
00739                 _h_rdA06_15_19_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00740               }
00741             }
00742             if (inRange(jetpt/GeV, 24., 40.)) {
00743               _numjets06_15_19_24_40 += weight;
00744               _h_N06_15_19_24_40->fill(j.particles().size(),weight);
00745               foreach (const Particle& p, j.particles()) {
00746                 _h_z06_15_19_24_40->fill(calcz(j,p),weight);
00747                 _h_ptrel06_15_19_24_40->fill(calcptrel(j,p),weight);
00748                 _h_rdA06_15_19_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00749               }
00750             }
00751           } // 1.5 < rapidity < 1.9
00752           if (fabs(j.momentum().rapidity()) < 1.9) {
00753             if (inRange(jetpt/GeV, 4., 6.)) {
00754               _numjets06_00_19_04_06 += weight;
00755               _h_N06_00_19_04_06->fill(j.particles().size(),weight);
00756               foreach (const Particle& p, j.particles()) {
00757                 _h_z06_00_19_04_06->fill(calcz(j,p),weight);
00758                 _h_ptrel06_00_19_04_06->fill(calcptrel(j,p),weight);
00759                 _h_rdA06_00_19_04_06->fill(calcr(j,p),weight*calcrweight(j,p));
00760               }
00761             }
00762             if (inRange(jetpt/GeV, 6., 10.)) {
00763               _numjets06_00_19_06_10 += weight;
00764               _h_N06_00_19_06_10->fill(j.particles().size(),weight);
00765               foreach (const Particle& p, j.particles()) {
00766                 _h_z06_00_19_06_10->fill(calcz(j,p),weight);
00767                 _h_ptrel06_00_19_06_10->fill(calcptrel(j,p),weight);
00768                 _h_rdA06_00_19_06_10->fill(calcr(j,p),weight*calcrweight(j,p));
00769               }
00770             }
00771             if (inRange(jetpt/GeV, 10., 15.)) {
00772               _numjets06_00_19_10_15 += weight;
00773               _h_N06_00_19_10_15->fill(j.particles().size(),weight);
00774               foreach (const Particle& p, j.particles()) {
00775                 _h_z06_00_19_10_15->fill(calcz(j,p),weight);
00776                 _h_ptrel06_00_19_10_15->fill(calcptrel(j,p),weight);
00777                 _h_rdA06_00_19_10_15->fill(calcr(j,p),weight*calcrweight(j,p));
00778               }
00779             }
00780             if (inRange(jetpt/GeV, 15., 24.)) {
00781               _numjets06_00_19_15_24 += weight;
00782               _h_N06_00_19_15_24->fill(j.particles().size(),weight);
00783               foreach (const Particle& p, j.particles()) {
00784                 _h_z06_00_19_15_24->fill(calcz(j,p),weight);
00785                 _h_ptrel06_00_19_15_24->fill(calcptrel(j,p),weight);
00786                 _h_rdA06_00_19_15_24->fill(calcr(j,p),weight*calcrweight(j,p));
00787               }
00788             }
00789             if (inRange(jetpt/GeV, 24., 40.)) {
00790               _numjets06_00_19_24_40 += weight;
00791               _h_N06_00_19_24_40->fill(j.particles().size(),weight);
00792               foreach (const Particle& p, j.particles()) {
00793                 _h_z06_00_19_24_40->fill(calcz(j,p),weight);
00794                 _h_ptrel06_00_19_24_40->fill(calcptrel(j,p),weight);
00795                 _h_rdA06_00_19_24_40->fill(calcr(j,p),weight*calcrweight(j,p));
00796               }
00797             }
00798           }
00799         } // each jet
00800       } // jets06 not empty
00801 
00802     } // end of event
00803 
00804 
00805     /// Normalise histograms etc., after the run
00806     void finalize() {
00807 
00808       // pT histos: d2sigma_jet / deta dpT
00809       const double xsec = crossSection()/microbarn;
00810       safeinvscale(_h_pt04_00_05, _sumofweights04*(2*0.5)/xsec);
00811       safeinvscale(_h_pt06_00_05, _sumofweights06*(2*0.5)/xsec);
00812       safeinvscale(_h_pt04_05_10, _sumofweights04*(2*0.5)/xsec);
00813       safeinvscale(_h_pt06_05_10, _sumofweights06*(2*0.5)/xsec);
00814       safeinvscale(_h_pt04_10_15, _sumofweights04*(2*0.5)/xsec);
00815       safeinvscale(_h_pt06_10_15, _sumofweights06*(2*0.5)/xsec);
00816       safeinvscale(_h_pt04_15_19, _sumofweights04*(2*0.4)/xsec);
00817       safeinvscale(_h_pt06_15_19, _sumofweights06*(2*0.4)/xsec);
00818 
00819       // N histos: 1/N_jet dN_jet / dN^{ch}_jet
00820       safeinvscale(_h_N04_00_05_04_06, _numjets04_00_05_04_06);
00821       safeinvscale(_h_N06_00_05_04_06, _numjets06_00_05_04_06);
00822       safeinvscale(_h_N04_00_05_06_10, _numjets04_00_05_06_10);
00823       safeinvscale(_h_N06_00_05_06_10, _numjets06_00_05_06_10);
00824       safeinvscale(_h_N04_00_05_10_15, _numjets04_00_05_10_15);
00825       safeinvscale(_h_N06_00_05_10_15, _numjets06_00_05_10_15);
00826       safeinvscale(_h_N04_00_05_15_24, _numjets04_00_05_15_24);
00827       safeinvscale(_h_N06_00_05_15_24, _numjets06_00_05_15_24);
00828       safeinvscale(_h_N04_00_05_24_40, _numjets04_00_05_24_40);
00829       safeinvscale(_h_N06_00_05_24_40, _numjets06_00_05_24_40);
00830       safeinvscale(_h_N04_05_10_04_06, _numjets04_05_10_04_06);
00831       safeinvscale(_h_N06_05_10_04_06, _numjets06_05_10_04_06);
00832       safeinvscale(_h_N04_05_10_06_10, _numjets04_05_10_06_10);
00833       safeinvscale(_h_N06_05_10_06_10, _numjets06_05_10_06_10);
00834       safeinvscale(_h_N04_05_10_10_15, _numjets04_05_10_10_15);
00835       safeinvscale(_h_N06_05_10_10_15, _numjets06_05_10_10_15);
00836       safeinvscale(_h_N04_05_10_15_24, _numjets04_05_10_15_24);
00837       safeinvscale(_h_N06_05_10_15_24, _numjets06_05_10_15_24);
00838       safeinvscale(_h_N04_05_10_24_40, _numjets04_05_10_24_40);
00839       safeinvscale(_h_N06_05_10_24_40, _numjets06_05_10_24_40);
00840       safeinvscale(_h_N04_10_15_04_06, _numjets04_10_15_04_06);
00841       safeinvscale(_h_N06_10_15_04_06, _numjets06_10_15_04_06);
00842       safeinvscale(_h_N04_10_15_06_10, _numjets04_10_15_06_10);
00843       safeinvscale(_h_N06_10_15_06_10, _numjets06_10_15_06_10);
00844       safeinvscale(_h_N04_10_15_10_15, _numjets04_10_15_10_15);
00845       safeinvscale(_h_N06_10_15_10_15, _numjets06_10_15_10_15);
00846       safeinvscale(_h_N04_10_15_15_24, _numjets04_10_15_15_24);
00847       safeinvscale(_h_N06_10_15_15_24, _numjets06_10_15_15_24);
00848       safeinvscale(_h_N04_10_15_24_40, _numjets04_10_15_24_40);
00849       safeinvscale(_h_N06_10_15_24_40, _numjets06_10_15_24_40);
00850       safeinvscale(_h_N04_15_19_04_06, _numjets04_15_19_04_06);
00851       safeinvscale(_h_N06_15_19_04_06, _numjets06_15_19_04_06);
00852       safeinvscale(_h_N04_15_19_06_10, _numjets04_15_19_06_10);
00853       safeinvscale(_h_N06_15_19_06_10, _numjets06_15_19_06_10);
00854       safeinvscale(_h_N04_15_19_10_15, _numjets04_15_19_10_15);
00855       safeinvscale(_h_N06_15_19_10_15, _numjets06_15_19_10_15);
00856       safeinvscale(_h_N04_15_19_15_24, _numjets04_15_19_15_24);
00857       safeinvscale(_h_N06_15_19_15_24, _numjets06_15_19_15_24);
00858       safeinvscale(_h_N04_15_19_24_40, _numjets04_15_19_24_40);
00859       safeinvscale(_h_N06_15_19_24_40, _numjets06_15_19_24_40);
00860       safeinvscale(_h_N04_00_19_04_06, _numjets04_00_19_04_06);
00861       safeinvscale(_h_N06_00_19_04_06, _numjets06_00_19_04_06);
00862       safeinvscale(_h_N04_00_19_06_10, _numjets04_00_19_06_10);
00863       safeinvscale(_h_N06_00_19_06_10, _numjets06_00_19_06_10);
00864       safeinvscale(_h_N04_00_19_10_15, _numjets04_00_19_10_15);
00865       safeinvscale(_h_N06_00_19_10_15, _numjets06_00_19_10_15);
00866       safeinvscale(_h_N04_00_19_15_24, _numjets04_00_19_15_24);
00867       safeinvscale(_h_N06_00_19_15_24, _numjets06_00_19_15_24);
00868       safeinvscale(_h_N04_00_19_24_40, _numjets04_00_19_24_40);
00869       safeinvscale(_h_N06_00_19_24_40, _numjets06_00_19_24_40);
00870 
00871       // z histos: 1/N_jet dN_track / dz_track
00872       safeinvscale(_h_z04_00_05_04_06, _numjets04_00_05_04_06);
00873       safeinvscale(_h_z06_00_05_04_06, _numjets06_00_05_04_06);
00874       safeinvscale(_h_z04_00_05_06_10, _numjets04_00_05_06_10);
00875       safeinvscale(_h_z06_00_05_06_10, _numjets06_00_05_06_10);
00876       safeinvscale(_h_z04_00_05_10_15, _numjets04_00_05_10_15);
00877       safeinvscale(_h_z06_00_05_10_15, _numjets06_00_05_10_15);
00878       safeinvscale(_h_z04_00_05_15_24, _numjets04_00_05_15_24);
00879       safeinvscale(_h_z06_00_05_15_24, _numjets06_00_05_15_24);
00880       safeinvscale(_h_z04_00_05_24_40, _numjets04_00_05_24_40);
00881       safeinvscale(_h_z06_00_05_24_40, _numjets06_00_05_24_40);
00882       safeinvscale(_h_z04_05_10_04_06, _numjets04_05_10_04_06);
00883       safeinvscale(_h_z06_05_10_04_06, _numjets06_05_10_04_06);
00884       safeinvscale(_h_z04_05_10_06_10, _numjets04_05_10_06_10);
00885       safeinvscale(_h_z06_05_10_06_10, _numjets06_05_10_06_10);
00886       safeinvscale(_h_z04_05_10_10_15, _numjets04_05_10_10_15);
00887       safeinvscale(_h_z06_05_10_10_15, _numjets06_05_10_10_15);
00888       safeinvscale(_h_z04_05_10_15_24, _numjets04_05_10_15_24);
00889       safeinvscale(_h_z06_05_10_15_24, _numjets06_05_10_15_24);
00890       safeinvscale(_h_z04_05_10_24_40, _numjets04_05_10_24_40);
00891       safeinvscale(_h_z06_05_10_24_40, _numjets06_05_10_24_40);
00892       safeinvscale(_h_z04_10_15_04_06, _numjets04_10_15_04_06);
00893       safeinvscale(_h_z06_10_15_04_06, _numjets06_10_15_04_06);
00894       safeinvscale(_h_z04_10_15_06_10, _numjets04_10_15_06_10);
00895       safeinvscale(_h_z06_10_15_06_10, _numjets06_10_15_06_10);
00896       safeinvscale(_h_z04_10_15_10_15, _numjets04_10_15_10_15);
00897       safeinvscale(_h_z06_10_15_10_15, _numjets06_10_15_10_15);
00898       safeinvscale(_h_z04_10_15_15_24, _numjets04_10_15_15_24);
00899       safeinvscale(_h_z06_10_15_15_24, _numjets06_10_15_15_24);
00900       safeinvscale(_h_z04_10_15_24_40, _numjets04_10_15_24_40);
00901       safeinvscale(_h_z06_10_15_24_40, _numjets06_10_15_24_40);
00902       safeinvscale(_h_z04_15_19_04_06, _numjets04_15_19_04_06);
00903       safeinvscale(_h_z06_15_19_04_06, _numjets06_15_19_04_06);
00904       safeinvscale(_h_z04_15_19_06_10, _numjets04_15_19_06_10);
00905       safeinvscale(_h_z06_15_19_06_10, _numjets06_15_19_06_10);
00906       safeinvscale(_h_z04_15_19_10_15, _numjets04_15_19_10_15);
00907       safeinvscale(_h_z06_15_19_10_15, _numjets06_15_19_10_15);
00908       safeinvscale(_h_z04_15_19_15_24, _numjets04_15_19_15_24);
00909       safeinvscale(_h_z06_15_19_15_24, _numjets06_15_19_15_24);
00910       safeinvscale(_h_z04_15_19_24_40, _numjets04_15_19_24_40);
00911       safeinvscale(_h_z06_15_19_24_40, _numjets06_15_19_24_40);
00912       safeinvscale(_h_z04_00_19_04_06, _numjets04_00_19_04_06);
00913       safeinvscale(_h_z06_00_19_04_06, _numjets06_00_19_04_06);
00914       safeinvscale(_h_z04_00_19_06_10, _numjets04_00_19_06_10);
00915       safeinvscale(_h_z06_00_19_06_10, _numjets06_00_19_06_10);
00916       safeinvscale(_h_z04_00_19_10_15, _numjets04_00_19_10_15);
00917       safeinvscale(_h_z06_00_19_10_15, _numjets06_00_19_10_15);
00918       safeinvscale(_h_z04_00_19_15_24, _numjets04_00_19_15_24);
00919       safeinvscale(_h_z06_00_19_15_24, _numjets06_00_19_15_24);
00920       safeinvscale(_h_z04_00_19_24_40, _numjets04_00_19_24_40);
00921       safeinvscale(_h_z06_00_19_24_40, _numjets06_00_19_24_40);
00922 
00923       // ptrel histos: 1/N_jet dN_track / dptrel_track
00924       safeinvscale(_h_ptrel04_00_05_04_06, _numjets04_00_05_04_06);
00925       safeinvscale(_h_ptrel06_00_05_04_06, _numjets06_00_05_04_06);
00926       safeinvscale(_h_ptrel04_00_05_06_10, _numjets04_00_05_06_10);
00927       safeinvscale(_h_ptrel06_00_05_06_10, _numjets06_00_05_06_10);
00928       safeinvscale(_h_ptrel04_00_05_10_15, _numjets04_00_05_10_15);
00929       safeinvscale(_h_ptrel06_00_05_10_15, _numjets06_00_05_10_15);
00930       safeinvscale(_h_ptrel04_00_05_15_24, _numjets04_00_05_15_24);
00931       safeinvscale(_h_ptrel06_00_05_15_24, _numjets06_00_05_15_24);
00932       safeinvscale(_h_ptrel04_00_05_24_40, _numjets04_00_05_24_40);
00933       safeinvscale(_h_ptrel06_00_05_24_40, _numjets06_00_05_24_40);
00934       safeinvscale(_h_ptrel04_05_10_04_06, _numjets04_05_10_04_06);
00935       safeinvscale(_h_ptrel06_05_10_04_06, _numjets06_05_10_04_06);
00936       safeinvscale(_h_ptrel04_05_10_06_10, _numjets04_05_10_06_10);
00937       safeinvscale(_h_ptrel06_05_10_06_10, _numjets06_05_10_06_10);
00938       safeinvscale(_h_ptrel04_05_10_10_15, _numjets04_05_10_10_15);
00939       safeinvscale(_h_ptrel06_05_10_10_15, _numjets06_05_10_10_15);
00940       safeinvscale(_h_ptrel04_05_10_15_24, _numjets04_05_10_15_24);
00941       safeinvscale(_h_ptrel06_05_10_15_24, _numjets06_05_10_15_24);
00942       safeinvscale(_h_ptrel04_05_10_24_40, _numjets04_05_10_24_40);
00943       safeinvscale(_h_ptrel06_05_10_24_40, _numjets06_05_10_24_40);
00944       safeinvscale(_h_ptrel04_10_15_04_06, _numjets04_10_15_04_06);
00945       safeinvscale(_h_ptrel06_10_15_04_06, _numjets06_10_15_04_06);
00946       safeinvscale(_h_ptrel04_10_15_06_10, _numjets04_10_15_06_10);
00947       safeinvscale(_h_ptrel06_10_15_06_10, _numjets06_10_15_06_10);
00948       safeinvscale(_h_ptrel04_10_15_10_15, _numjets04_10_15_10_15);
00949       safeinvscale(_h_ptrel06_10_15_10_15, _numjets06_10_15_10_15);
00950       safeinvscale(_h_ptrel04_10_15_15_24, _numjets04_10_15_15_24);
00951       safeinvscale(_h_ptrel06_10_15_15_24, _numjets06_10_15_15_24);
00952       safeinvscale(_h_ptrel04_10_15_24_40, _numjets04_10_15_24_40);
00953       safeinvscale(_h_ptrel06_10_15_24_40, _numjets06_10_15_24_40);
00954       safeinvscale(_h_ptrel04_15_19_04_06, _numjets04_15_19_04_06);
00955       safeinvscale(_h_ptrel06_15_19_04_06, _numjets06_15_19_04_06);
00956       safeinvscale(_h_ptrel04_15_19_06_10, _numjets04_15_19_06_10);
00957       safeinvscale(_h_ptrel06_15_19_06_10, _numjets06_15_19_06_10);
00958       safeinvscale(_h_ptrel04_15_19_10_15, _numjets04_15_19_10_15);
00959       safeinvscale(_h_ptrel06_15_19_10_15, _numjets06_15_19_10_15);
00960       safeinvscale(_h_ptrel04_15_19_15_24, _numjets04_15_19_15_24);
00961       safeinvscale(_h_ptrel06_15_19_15_24, _numjets06_15_19_15_24);
00962       safeinvscale(_h_ptrel04_15_19_24_40, _numjets04_15_19_24_40);
00963       safeinvscale(_h_ptrel06_15_19_24_40, _numjets06_15_19_24_40);
00964 
00965       safeinvscale(_h_ptrel04_00_19_04_06, _numjets04_00_19_04_06);
00966       safeinvscale(_h_ptrel06_00_19_04_06, _numjets06_00_19_04_06);
00967       safeinvscale(_h_ptrel04_00_19_06_10, _numjets04_00_19_06_10);
00968       safeinvscale(_h_ptrel06_00_19_06_10, _numjets06_00_19_06_10);
00969       safeinvscale(_h_ptrel04_00_19_10_15, _numjets04_00_19_10_15);
00970       safeinvscale(_h_ptrel06_00_19_10_15, _numjets06_00_19_10_15);
00971       safeinvscale(_h_ptrel04_00_19_15_24, _numjets04_00_19_15_24);
00972       safeinvscale(_h_ptrel06_00_19_15_24, _numjets06_00_19_15_24);
00973       safeinvscale(_h_ptrel04_00_19_24_40, _numjets04_00_19_24_40);
00974       safeinvscale(_h_ptrel06_00_19_24_40, _numjets06_00_19_24_40);
00975 
00976       // r histos: 1/N_jet dN_track / dA
00977       safeinvscale(_h_rdA04_00_05_04_06, _numjets04_00_05_04_06);
00978       safeinvscale(_h_rdA06_00_05_04_06, _numjets06_00_05_04_06);
00979       safeinvscale(_h_rdA04_00_05_06_10, _numjets04_00_05_06_10);
00980       safeinvscale(_h_rdA06_00_05_06_10, _numjets06_00_05_06_10);
00981       safeinvscale(_h_rdA04_00_05_10_15, _numjets04_00_05_10_15);
00982       safeinvscale(_h_rdA06_00_05_10_15, _numjets06_00_05_10_15);
00983       safeinvscale(_h_rdA04_00_05_15_24, _numjets04_00_05_15_24);
00984       safeinvscale(_h_rdA06_00_05_15_24, _numjets06_00_05_15_24);
00985       safeinvscale(_h_rdA04_00_05_24_40, _numjets04_00_05_24_40);
00986       safeinvscale(_h_rdA06_00_05_24_40, _numjets06_00_05_24_40);
00987       safeinvscale(_h_rdA04_05_10_04_06, _numjets04_05_10_04_06);
00988       safeinvscale(_h_rdA06_05_10_04_06, _numjets06_05_10_04_06);
00989       safeinvscale(_h_rdA04_05_10_06_10, _numjets04_05_10_06_10);
00990       safeinvscale(_h_rdA06_05_10_06_10, _numjets06_05_10_06_10);
00991       safeinvscale(_h_rdA04_05_10_10_15, _numjets04_05_10_10_15);
00992       safeinvscale(_h_rdA06_05_10_10_15, _numjets06_05_10_10_15);
00993       safeinvscale(_h_rdA04_05_10_15_24, _numjets04_05_10_15_24);
00994       safeinvscale(_h_rdA06_05_10_15_24, _numjets06_05_10_15_24);
00995       safeinvscale(_h_rdA04_05_10_24_40, _numjets04_05_10_24_40);
00996       safeinvscale(_h_rdA06_05_10_24_40, _numjets06_05_10_24_40);
00997       safeinvscale(_h_rdA04_10_15_04_06, _numjets04_10_15_04_06);
00998       safeinvscale(_h_rdA06_10_15_04_06, _numjets06_10_15_04_06);
00999       safeinvscale(_h_rdA04_10_15_06_10, _numjets04_10_15_06_10);
01000       safeinvscale(_h_rdA06_10_15_06_10, _numjets06_10_15_06_10);
01001       safeinvscale(_h_rdA04_10_15_10_15, _numjets04_10_15_10_15);
01002       safeinvscale(_h_rdA06_10_15_10_15, _numjets06_10_15_10_15);
01003       safeinvscale(_h_rdA04_10_15_15_24, _numjets04_10_15_15_24);
01004       safeinvscale(_h_rdA06_10_15_15_24, _numjets06_10_15_15_24);
01005       safeinvscale(_h_rdA04_10_15_24_40, _numjets04_10_15_24_40);
01006       safeinvscale(_h_rdA06_10_15_24_40, _numjets06_10_15_24_40);
01007       safeinvscale(_h_rdA04_15_19_04_06, _numjets04_15_19_04_06);
01008       safeinvscale(_h_rdA06_15_19_04_06, _numjets06_15_19_04_06);
01009       safeinvscale(_h_rdA04_15_19_06_10, _numjets04_15_19_06_10);
01010       safeinvscale(_h_rdA06_15_19_06_10, _numjets06_15_19_06_10);
01011       safeinvscale(_h_rdA04_15_19_10_15, _numjets04_15_19_10_15);
01012       safeinvscale(_h_rdA06_15_19_10_15, _numjets06_15_19_10_15);
01013       safeinvscale(_h_rdA04_15_19_15_24, _numjets04_15_19_15_24);
01014       safeinvscale(_h_rdA06_15_19_15_24, _numjets06_15_19_15_24);
01015       safeinvscale(_h_rdA04_15_19_24_40, _numjets04_15_19_24_40);
01016       safeinvscale(_h_rdA06_15_19_24_40, _numjets06_15_19_24_40);
01017 
01018       safeinvscale(_h_rdA04_00_19_04_06, _numjets04_00_19_04_06);
01019       safeinvscale(_h_rdA06_00_19_04_06, _numjets06_00_19_04_06);
01020       safeinvscale(_h_rdA04_00_19_06_10, _numjets04_00_19_06_10);
01021       safeinvscale(_h_rdA06_00_19_06_10, _numjets06_00_19_06_10);
01022       safeinvscale(_h_rdA04_00_19_10_15, _numjets04_00_19_10_15);
01023       safeinvscale(_h_rdA06_00_19_10_15, _numjets06_00_19_10_15);
01024       safeinvscale(_h_rdA04_00_19_15_24, _numjets04_00_19_15_24);
01025       safeinvscale(_h_rdA06_00_19_15_24, _numjets06_00_19_15_24);
01026       safeinvscale(_h_rdA04_00_19_24_40, _numjets04_00_19_24_40);
01027       safeinvscale(_h_rdA06_00_19_24_40, _numjets06_00_19_24_40);
01028     }
01029 
01030     //@}
01031 
01032 
01033   private:
01034 
01035     void safeinvscale(Histo1DPtr h, double denom) {
01036       if (denom != 0) {
01037         scale(h, 1.0/denom);
01038       } else {
01039         normalize(h, 0);
01040       }
01041     }
01042 
01043 
01044     /// Event weights
01045     double _sumofweights04, _sumofweights06;
01046 
01047 
01048     /// Jet counters
01049     double _numjets04_00_05_04_06, _numjets04_00_05_06_10, _numjets04_00_05_10_15, _numjets04_00_05_15_24, _numjets04_00_05_24_40;
01050     double _numjets06_00_05_04_06, _numjets06_00_05_06_10, _numjets06_00_05_10_15, _numjets06_00_05_15_24, _numjets06_00_05_24_40;
01051     double _numjets04_05_10_04_06, _numjets04_05_10_06_10, _numjets04_05_10_10_15, _numjets04_05_10_15_24, _numjets04_05_10_24_40;
01052     double _numjets06_05_10_04_06, _numjets06_05_10_06_10, _numjets06_05_10_10_15, _numjets06_05_10_15_24, _numjets06_05_10_24_40;
01053     double _numjets04_10_15_04_06, _numjets04_10_15_06_10, _numjets04_10_15_10_15, _numjets04_10_15_15_24, _numjets04_10_15_24_40;
01054     double _numjets06_10_15_04_06, _numjets06_10_15_06_10, _numjets06_10_15_10_15, _numjets06_10_15_15_24, _numjets06_10_15_24_40;
01055     double _numjets04_15_19_04_06, _numjets04_15_19_06_10, _numjets04_15_19_10_15, _numjets04_15_19_15_24, _numjets04_15_19_24_40;
01056     double _numjets06_15_19_04_06, _numjets06_15_19_06_10, _numjets06_15_19_10_15, _numjets06_15_19_15_24, _numjets06_15_19_24_40;
01057     double _numjets04_00_19_04_06, _numjets04_00_19_06_10, _numjets04_00_19_10_15, _numjets04_00_19_15_24, _numjets04_00_19_24_40;
01058     double _numjets06_00_19_04_06, _numjets06_00_19_06_10, _numjets06_00_19_10_15, _numjets06_00_19_15_24, _numjets06_00_19_24_40;
01059 
01060 
01061   private:
01062 
01063     /// @name Histograms
01064     //@{
01065 
01066     Histo1DPtr _h_pt04_00_05, _h_pt06_00_05;
01067     Histo1DPtr _h_N04_00_05_04_06, _h_N06_00_05_04_06;
01068     Histo1DPtr _h_N04_00_05_06_10, _h_N06_00_05_06_10;
01069     Histo1DPtr _h_N04_00_05_10_15, _h_N06_00_05_10_15;
01070     Histo1DPtr _h_N04_00_05_15_24, _h_N06_00_05_15_24;
01071     Histo1DPtr _h_N04_00_05_24_40, _h_N06_00_05_24_40;
01072     Histo1DPtr _h_z04_00_05_04_06, _h_z06_00_05_04_06;
01073     Histo1DPtr _h_z04_00_05_06_10, _h_z06_00_05_06_10;
01074     Histo1DPtr _h_z04_00_05_10_15, _h_z06_00_05_10_15;
01075     Histo1DPtr _h_z04_00_05_15_24, _h_z06_00_05_15_24;
01076     Histo1DPtr _h_z04_00_05_24_40, _h_z06_00_05_24_40;
01077     Histo1DPtr _h_ptrel04_00_05_04_06, _h_ptrel06_00_05_04_06;
01078     Histo1DPtr _h_ptrel04_00_05_06_10, _h_ptrel06_00_05_06_10;
01079     Histo1DPtr _h_ptrel04_00_05_10_15, _h_ptrel06_00_05_10_15;
01080     Histo1DPtr _h_ptrel04_00_05_15_24, _h_ptrel06_00_05_15_24;
01081     Histo1DPtr _h_ptrel04_00_05_24_40, _h_ptrel06_00_05_24_40;
01082     Histo1DPtr _h_rdA04_00_05_04_06, _h_rdA06_00_05_04_06;
01083     Histo1DPtr _h_rdA04_00_05_06_10, _h_rdA06_00_05_06_10;
01084     Histo1DPtr _h_rdA04_00_05_10_15, _h_rdA06_00_05_10_15;
01085     Histo1DPtr _h_rdA04_00_05_15_24, _h_rdA06_00_05_15_24;
01086     Histo1DPtr _h_rdA04_00_05_24_40, _h_rdA06_00_05_24_40;
01087 
01088     Histo1DPtr _h_pt04_05_10, _h_pt06_05_10;
01089     Histo1DPtr _h_N04_05_10_04_06, _h_N06_05_10_04_06;
01090     Histo1DPtr _h_N04_05_10_06_10, _h_N06_05_10_06_10;
01091     Histo1DPtr _h_N04_05_10_10_15, _h_N06_05_10_10_15;
01092     Histo1DPtr _h_N04_05_10_15_24, _h_N06_05_10_15_24;
01093     Histo1DPtr _h_N04_05_10_24_40, _h_N06_05_10_24_40;
01094     Histo1DPtr _h_z04_05_10_04_06, _h_z06_05_10_04_06;
01095     Histo1DPtr _h_z04_05_10_06_10, _h_z06_05_10_06_10;
01096     Histo1DPtr _h_z04_05_10_10_15, _h_z06_05_10_10_15;
01097     Histo1DPtr _h_z04_05_10_15_24, _h_z06_05_10_15_24;
01098     Histo1DPtr _h_z04_05_10_24_40, _h_z06_05_10_24_40;
01099     Histo1DPtr _h_ptrel04_05_10_04_06, _h_ptrel06_05_10_04_06;
01100     Histo1DPtr _h_ptrel04_05_10_06_10, _h_ptrel06_05_10_06_10;
01101     Histo1DPtr _h_ptrel04_05_10_10_15, _h_ptrel06_05_10_10_15;
01102     Histo1DPtr _h_ptrel04_05_10_15_24, _h_ptrel06_05_10_15_24;
01103     Histo1DPtr _h_ptrel04_05_10_24_40, _h_ptrel06_05_10_24_40;
01104     Histo1DPtr _h_rdA04_05_10_04_06, _h_rdA06_05_10_04_06;
01105     Histo1DPtr _h_rdA04_05_10_06_10, _h_rdA06_05_10_06_10;
01106     Histo1DPtr _h_rdA04_05_10_10_15, _h_rdA06_05_10_10_15;
01107     Histo1DPtr _h_rdA04_05_10_15_24, _h_rdA06_05_10_15_24;
01108     Histo1DPtr _h_rdA04_05_10_24_40, _h_rdA06_05_10_24_40;
01109 
01110     Histo1DPtr _h_pt04_10_15, _h_pt06_10_15;
01111     Histo1DPtr _h_N04_10_15_04_06, _h_N06_10_15_04_06;
01112     Histo1DPtr _h_N04_10_15_06_10, _h_N06_10_15_06_10;
01113     Histo1DPtr _h_N04_10_15_10_15, _h_N06_10_15_10_15;
01114     Histo1DPtr _h_N04_10_15_15_24, _h_N06_10_15_15_24;
01115     Histo1DPtr _h_N04_10_15_24_40, _h_N06_10_15_24_40;
01116     Histo1DPtr _h_z04_10_15_04_06, _h_z06_10_15_04_06;
01117     Histo1DPtr _h_z04_10_15_06_10, _h_z06_10_15_06_10;
01118     Histo1DPtr _h_z04_10_15_10_15, _h_z06_10_15_10_15;
01119     Histo1DPtr _h_z04_10_15_15_24, _h_z06_10_15_15_24;
01120     Histo1DPtr _h_z04_10_15_24_40, _h_z06_10_15_24_40;
01121     Histo1DPtr _h_ptrel04_10_15_04_06, _h_ptrel06_10_15_04_06;
01122     Histo1DPtr _h_ptrel04_10_15_06_10, _h_ptrel06_10_15_06_10;
01123     Histo1DPtr _h_ptrel04_10_15_10_15, _h_ptrel06_10_15_10_15;
01124     Histo1DPtr _h_ptrel04_10_15_15_24, _h_ptrel06_10_15_15_24;
01125     Histo1DPtr _h_ptrel04_10_15_24_40, _h_ptrel06_10_15_24_40;
01126     Histo1DPtr _h_rdA04_10_15_04_06, _h_rdA06_10_15_04_06;
01127     Histo1DPtr _h_rdA04_10_15_06_10, _h_rdA06_10_15_06_10;
01128     Histo1DPtr _h_rdA04_10_15_10_15, _h_rdA06_10_15_10_15;
01129     Histo1DPtr _h_rdA04_10_15_15_24, _h_rdA06_10_15_15_24;
01130     Histo1DPtr _h_rdA04_10_15_24_40, _h_rdA06_10_15_24_40;
01131 
01132     Histo1DPtr _h_pt04_15_19, _h_pt06_15_19;
01133     Histo1DPtr _h_N04_15_19_04_06, _h_N06_15_19_04_06;
01134     Histo1DPtr _h_N04_15_19_06_10, _h_N06_15_19_06_10;
01135     Histo1DPtr _h_N04_15_19_10_15, _h_N06_15_19_10_15;
01136     Histo1DPtr _h_N04_15_19_15_24, _h_N06_15_19_15_24;
01137     Histo1DPtr _h_N04_15_19_24_40, _h_N06_15_19_24_40;
01138     Histo1DPtr _h_z04_15_19_04_06, _h_z06_15_19_04_06;
01139     Histo1DPtr _h_z04_15_19_06_10, _h_z06_15_19_06_10;
01140     Histo1DPtr _h_z04_15_19_10_15, _h_z06_15_19_10_15;
01141     Histo1DPtr _h_z04_15_19_15_24, _h_z06_15_19_15_24;
01142     Histo1DPtr _h_z04_15_19_24_40, _h_z06_15_19_24_40;
01143     Histo1DPtr _h_ptrel04_15_19_04_06, _h_ptrel06_15_19_04_06;
01144     Histo1DPtr _h_ptrel04_15_19_06_10, _h_ptrel06_15_19_06_10;
01145     Histo1DPtr _h_ptrel04_15_19_10_15, _h_ptrel06_15_19_10_15;
01146     Histo1DPtr _h_ptrel04_15_19_15_24, _h_ptrel06_15_19_15_24;
01147     Histo1DPtr _h_ptrel04_15_19_24_40, _h_ptrel06_15_19_24_40;
01148     Histo1DPtr _h_rdA04_15_19_04_06, _h_rdA06_15_19_04_06;
01149     Histo1DPtr _h_rdA04_15_19_06_10, _h_rdA06_15_19_06_10;
01150     Histo1DPtr _h_rdA04_15_19_10_15, _h_rdA06_15_19_10_15;
01151     Histo1DPtr _h_rdA04_15_19_15_24, _h_rdA06_15_19_15_24;
01152     Histo1DPtr _h_rdA04_15_19_24_40, _h_rdA06_15_19_24_40;
01153 
01154     Histo1DPtr _h_N04_00_19_04_06, _h_N06_00_19_04_06;
01155     Histo1DPtr _h_N04_00_19_06_10, _h_N06_00_19_06_10;
01156     Histo1DPtr _h_N04_00_19_10_15, _h_N06_00_19_10_15;
01157     Histo1DPtr _h_N04_00_19_15_24, _h_N06_00_19_15_24;
01158     Histo1DPtr _h_N04_00_19_24_40, _h_N06_00_19_24_40;
01159     Histo1DPtr _h_z04_00_19_04_06, _h_z06_00_19_04_06;
01160     Histo1DPtr _h_z04_00_19_06_10, _h_z06_00_19_06_10;
01161     Histo1DPtr _h_z04_00_19_10_15, _h_z06_00_19_10_15;
01162     Histo1DPtr _h_z04_00_19_15_24, _h_z06_00_19_15_24;
01163     Histo1DPtr _h_z04_00_19_24_40, _h_z06_00_19_24_40;
01164     Histo1DPtr _h_ptrel04_00_19_04_06, _h_ptrel06_00_19_04_06;
01165     Histo1DPtr _h_ptrel04_00_19_06_10, _h_ptrel06_00_19_06_10;
01166     Histo1DPtr _h_ptrel04_00_19_10_15, _h_ptrel06_00_19_10_15;
01167     Histo1DPtr _h_ptrel04_00_19_15_24, _h_ptrel06_00_19_15_24;
01168     Histo1DPtr _h_ptrel04_00_19_24_40, _h_ptrel06_00_19_24_40;
01169     Histo1DPtr _h_rdA04_00_19_04_06, _h_rdA06_00_19_04_06;
01170     Histo1DPtr _h_rdA04_00_19_06_10, _h_rdA06_00_19_06_10;
01171     Histo1DPtr _h_rdA04_00_19_10_15, _h_rdA06_00_19_10_15;
01172     Histo1DPtr _h_rdA04_00_19_15_24, _h_rdA06_00_19_15_24;
01173     Histo1DPtr _h_rdA04_00_19_24_40, _h_rdA06_00_19_24_40;
01174 
01175     //@}
01176 
01177   };
01178 
01179 
01180   // This global object acts as a hook for the plugin system
01181   DECLARE_RIVET_PLUGIN(ATLAS_2011_I919017);
01182 
01183 }