diff --git a/analyses/pluginATLAS/ATLAS_2013_I1263495.cc b/analyses/pluginATLAS/ATLAS_2013_I1263495.cc --- a/analyses/pluginATLAS/ATLAS_2013_I1263495.cc +++ b/analyses/pluginATLAS/ATLAS_2013_I1263495.cc @@ -1,133 +1,131 @@ // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/LeadingParticlesFinalState.hh" #include "Rivet/Projections/FastJets.hh" namespace Rivet { /// Inclusive isolated prompt photon analysis with 2011 LHC data class ATLAS_2013_I1263495 : public Analysis { public: /// Constructor ATLAS_2013_I1263495() : Analysis("ATLAS_2013_I1263495"), _eta_bins{0.00, 1.37, 1.52, 2.37}, _eta_bins_areaoffset{0.0, 1.5, 3.0} { } /// Book histograms and initialise projections before the run void init() { FinalState fs; declare(fs, "FS"); // Consider the final state jets for the energy density calculation FastJets fj(fs, FastJets::KT, 0.5); fj.useJetArea(new fastjet::AreaDefinition(fastjet::VoronoiAreaSpec())); declare(fj, "KtJetsD05"); // Consider the leading pt photon with |eta| < 2.37 and pT > 100 GeV LeadingParticlesFinalState photonfs(FinalState(Cuts::abseta < 2.37 && Cuts::pT > 100*GeV)); photonfs.addParticleId(PID::PHOTON); declare(photonfs, "LeadingPhoton"); // Book the dsigma/dEt (in eta bins) histograms - for (size_t i = 0; i < _eta_bins.size() - 1; i++) { - if (fuzzyEquals(_eta_bins[i], 1.37)) continue; // skip this bin - _h_Et_photon[i] = bookHisto1D(1, 1, i+1); - } + _h_Et_photon[0] = bookHisto1D(1, 1, 1); + _h_Et_photon[2] = bookHisto1D(2, 1, 1); // Book the dsigma/d|eta| histogram - _h_eta_photon = bookHisto1D(1,2,1); + _h_eta_photon = bookHisto1D(3,1,1); } /// Return eta bin for either dsigma/dET histogram (area_eta=false) or energy density correction (area_eta=true) size_t _getEtaBin(double eta_w, bool area_eta) const { const double eta = fabs(eta_w); if (!area_eta) { return binIndex(eta, _eta_bins); } else { return binIndex(eta, _eta_bins_areaoffset); } } /// Perform the per-event analysis void analyze(const Event& event) { // Retrieve leading photon Particles photons = apply(event, "LeadingPhoton").particles(); if (photons.size() != 1) vetoEvent; const Particle& leadingPhoton = photons[0]; // Veto events with photon in ECAL crack if (inRange(leadingPhoton.abseta(), 1.37, 1.52)) vetoEvent; // Compute isolation energy in cone of radius .4 around photon (all particles) FourMomentum mom_in_EtCone; Particles fs = apply(event, "FS").particles(); for (const Particle& p : fs) { // Check if it's outside the cone of 0.4 if (deltaR(leadingPhoton, p) >= 0.4) continue; // Don't count particles in the 5x7 central core if (deltaEta(leadingPhoton, p) < .025*5.0*0.5 && deltaPhi(leadingPhoton, p) < (PI/128.)*7.0*0.5) continue; // Increment isolation energy mom_in_EtCone += p.momentum(); } // Get the area-filtered jet inputs for computing median energy density, etc. vector ptDensity; vector< vector > ptDensities(_eta_bins_areaoffset.size()-1); FastJets fast_jets =apply(event, "KtJetsD05"); const shared_ptr clust_seq_area = fast_jets.clusterSeqArea(); foreach (const Jet& jet, fast_jets.jets()) { const double area = clust_seq_area->area(jet); if (area > 1e-4 && jet.abseta() < _eta_bins_areaoffset.back()) ptDensities.at( _getEtaBin(jet.abseta(), true) ).push_back(jet.pT()/area); } // Compute the median energy density, etc. for (size_t b = 0; b < _eta_bins_areaoffset.size()-1; b++) { ptDensity += ptDensities[b].empty() ? 0 : median(ptDensities[b]); } // Compute the isolation energy correction (cone area*energy density) const double etCone_area = PI*sqr(0.4) - (7.0*.025)*(5.0*PI/128.); const double correction = ptDensity[_getEtaBin(leadingPhoton.abseta(), true)]*etCone_area; // Apply isolation cut on area-corrected value if (mom_in_EtCone.Et() - correction > 7*GeV) vetoEvent; // Fill histograms const size_t eta_bin = _getEtaBin(leadingPhoton.abseta(), false); _h_Et_photon[eta_bin]->fill(leadingPhoton.Et(), event.weight()); _h_eta_photon->fill(leadingPhoton.abseta(), event.weight()); } /// Normalise histograms etc., after the run void finalize() { for (size_t i = 0; i < _eta_bins.size()-1; i++) { if (fuzzyEquals(_eta_bins[i], 1.37)) continue; scale(_h_Et_photon[i], crossSection()/picobarn/sumOfWeights()); } scale(_h_eta_photon, crossSection()/picobarn/sumOfWeights()); } private: Histo1DPtr _h_Et_photon[3]; Histo1DPtr _h_eta_photon; vector _eta_bins, _eta_bins_areaoffset; }; DECLARE_RIVET_PLUGIN(ATLAS_2013_I1263495); } diff --git a/analyses/pluginATLAS/ATLAS_2013_I1263495.plot b/analyses/pluginATLAS/ATLAS_2013_I1263495.plot --- a/analyses/pluginATLAS/ATLAS_2013_I1263495.plot +++ b/analyses/pluginATLAS/ATLAS_2013_I1263495.plot @@ -1,18 +1,18 @@ # BEGIN PLOT /ATLAS_2013_I1263495/d01-x01-y01 Title=Transverse energy of isolated prompt photon, $|\eta^\gamma| < 1.37$ XLabel=$E_\perp^\gamma$ [GeV] YLabel=$\mathrm{d}\sigma/\mathrm{d}E_\perp^\gamma$ [pb/GeV] # END PLOT -# BEGIN PLOT /ATLAS_2013_I1263495/d01-x01-y03 +# BEGIN PLOT /ATLAS_2013_I1263495/d02-x01-y01 Title=Transverse energy of isolated prompt photon, $1.52 \leq |\eta^\gamma| < 2.37$ XLabel=$E_\perp^\gamma$ [GeV] YLabel=$\mathrm{d}\sigma/\mathrm{d}E_\perp^\gamma$ [pb/GeV] # END PLOT -# BEGIN PLOT /ATLAS_2013_I1263495/d01-x02-y01 +# BEGIN PLOT /ATLAS_2013_I1263495/d03-x01-y01 Title=Pseudorapidity of isolated prompt photon, $100 < E_\perp^\gamma < 1000$ GeV XLabel=$|\eta^\gamma|$ YLabel=$\mathrm{d}\sigma/\mathrm{d}\eta^\gamma$ [pb] LogY=0 # END PLOT diff --git a/analyses/pluginATLAS/ATLAS_2013_I1263495.yoda b/analyses/pluginATLAS/ATLAS_2013_I1263495.yoda --- a/analyses/pluginATLAS/ATLAS_2013_I1263495.yoda +++ b/analyses/pluginATLAS/ATLAS_2013_I1263495.yoda @@ -1,60 +1,58 @@ BEGIN YODA_SCATTER2D_V2 /REF/ATLAS_2013_I1263495/d01-x01-y01 IsRef: 1 Path: /REF/ATLAS_2013_I1263495/d01-x01-y01 -Title: ~ +Title: doi:10.17182/hepdata.66783.v1/t1 Type: Scatter2D --- # xval xerr- xerr+ yval yerr- yerr+ 1.125000e+02 1.250000e+01 1.250000e+01 5.550000e+00 2.109502e-01 3.006659e-01 1.375000e+02 1.250000e+01 1.250000e+01 2.060000e+00 8.062258e-02 1.204159e-01 1.625000e+02 1.250000e+01 1.250000e+01 8.820000e-01 3.275668e-02 4.554119e-02 1.875000e+02 1.250000e+01 1.250000e+01 4.280000e-01 1.581139e-02 2.745906e-02 2.250000e+02 2.500000e+01 2.500000e+01 1.710000e-01 6.082763e-03 1.104536e-02 2.750000e+02 2.500000e+01 2.500000e+01 5.650000e-02 2.500000e-03 3.373426e-03 3.250000e+02 2.500000e+01 2.500000e+01 2.250000e-02 9.848858e-04 1.456022e-03 3.750000e+02 2.500000e+01 2.500000e+01 9.430000e-03 4.517743e-04 7.021396e-04 4.500000e+02 5.000000e+01 5.000000e+01 3.120000e-03 1.612452e-04 2.720294e-04 5.500000e+02 5.000000e+01 5.000000e+01 8.440000e-04 7.280110e-05 9.305912e-05 6.500000e+02 5.000000e+01 5.000000e+01 2.500000e-04 3.538361e-05 4.000000e-05 7.500000e+02 5.000000e+01 5.000000e+01 7.770000e-05 1.881382e-05 1.977397e-05 9.000000e+02 1.000000e+02 1.000000e+02 2.110000e-05 6.859300e-06 7.150524e-06 END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/ATLAS_2013_I1263495/d01-x01-y03 +BEGIN YODA_SCATTER2D_V2 /REF/ATLAS_2013_I1263495/d02-x01-y01 IsRef: 1 -Path: /REF/ATLAS_2013_I1263495/d01-x01-y03 -Title: ~ +Path: /REF/ATLAS_2013_I1263495/d02-x01-y01 +Title: doi:10.17182/hepdata.66783.v1/t2 Type: Scatter2D --- # xval xerr- xerr+ yval yerr- yerr+ 1.125000e+02 1.250000e+01 1.250000e+01 3.030000e+00 1.902630e-01 1.902630e-01 1.375000e+02 1.250000e+01 1.250000e+01 1.060000e+00 6.082763e-02 9.055385e-02 1.625000e+02 1.250000e+01 1.250000e+01 4.340000e-01 2.451530e-02 2.745906e-02 1.875000e+02 1.250000e+01 1.250000e+01 1.900000e-01 1.044031e-02 1.627882e-02 2.250000e+02 2.500000e+01 2.500000e+01 6.840000e-02 3.785499e-03 5.755867e-03 2.750000e+02 2.500000e+01 2.500000e+01 1.890000e-02 1.264911e-03 1.649242e-03 3.250000e+02 2.500000e+01 2.500000e+01 5.520000e-03 4.219005e-04 6.390618e-04 3.750000e+02 2.500000e+01 2.500000e+01 1.760000e-03 1.886796e-04 2.147091e-04 4.500000e+02 5.000000e+01 5.000000e+01 3.930000e-04 5.603570e-05 6.624198e-05 5.500000e+02 5.000000e+01 5.000000e+01 6.830000e-05 2.202294e-05 2.040441e-05 END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/ATLAS_2013_I1263495/d01-x02-y01 +BEGIN YODA_SCATTER2D_V2 /REF/ATLAS_2013_I1263495/d03-x01-y01 IsRef: 1 -Path: /REF/ATLAS_2013_I1263495/d01-x02-y01 -Title: ~ +Path: /REF/ATLAS_2013_I1263495/d03-x01-y01 +Title: doi:10.17182/hepdata.66783.v1/t3 Type: Scatter2D --- # xval xerr- xerr+ yval yerr- yerr+ 1.000000e-01 1.000000e-01 1.000000e-01 1.720000e+02 9.055385e+00 8.062258e+00 3.000000e-01 1.000000e-01 1.000000e-01 1.710000e+02 8.062258e+00 8.062258e+00 5.000000e-01 1.000000e-01 1.000000e-01 1.750000e+02 7.071068e+00 9.055385e+00 7.000000e-01 1.000000e-01 1.000000e-01 1.770000e+02 6.082763e+00 1.004988e+01 9.000000e-01 1.000000e-01 1.000000e-01 1.730000e+02 7.071068e+00 9.055385e+00 1.100000e+00 1.000000e-01 1.000000e-01 1.750000e+02 6.082763e+00 1.104536e+01 1.285000e+00 8.500000e-02 8.500000e-02 1.760000e+02 6.082763e+00 1.303840e+01 1.660000e+00 1.400000e-01 1.400000e-01 1.680000e+02 1.104536e+01 1.204159e+01 1.900000e+00 1.000000e-01 1.000000e-01 1.460000e+02 8.062258e+00 1.004988e+01 2.100000e+00 1.000000e-01 1.000000e-01 1.410000e+02 7.071068e+00 9.055385e+00 2.285000e+00 8.500000e-02 8.500000e-02 1.170000e+02 7.071068e+00 7.071068e+00 END YODA_SCATTER2D_V2