diff --git a/analyses/pluginATLAS/ATLAS_2014_I1315949.cc b/analyses/pluginATLAS/ATLAS_2014_I1315949.cc --- a/analyses/pluginATLAS/ATLAS_2014_I1315949.cc +++ b/analyses/pluginATLAS/ATLAS_2014_I1315949.cc @@ -1,228 +1,228 @@ // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/ChargedFinalState.hh" #include "Rivet/Projections/ZFinder.hh" namespace Rivet { class ATLAS_2014_I1315949 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(ATLAS_2014_I1315949); void init() { FinalState fs; ZFinder zfinder(fs, Cuts::abseta<2.4 && Cuts::pT>20.0*GeV, PID::MUON, 66*GeV, 116*GeV, 0.1, ZFinder::CLUSTERNODECAY); declare(zfinder, "ZFinder"); ChargedFinalState cfs( zfinder.remainingFinalState() ); declare(cfs, "cfs"); _h_pTsum_tow = bookProfile1D( 67, 1, 1); _h_pTsum_trv = bookProfile1D( 68, 1, 1); _h_pTsum_away = bookProfile1D( 69, 1, 1); _h_pTsum_tmin = bookProfile1D( 70, 1, 1); _h_pTsum_tmax = bookProfile1D( 71, 1, 1); _h_pTsum_tdif = bookProfile1D(125, 1, 1); - _h_Nchg_tow = bookProfile1D( 70, 1, 1); - _h_Nchg_trv = bookProfile1D( 71, 1, 1); - _h_Nchg_away = bookProfile1D( 72, 1, 1); - _h_Nchg_tmin = bookProfile1D( 73, 1, 1); + _h_Nchg_tow = bookProfile1D( 72, 1, 1); + _h_Nchg_trv = bookProfile1D( 73, 1, 1); + _h_Nchg_away = bookProfile1D( 74, 1, 1); + _h_Nchg_tmin = bookProfile1D( 75, 1, 1); _h_Nchg_tmax = bookProfile1D( 82, 1, 1); _h_Nchg_tdif = bookProfile1D(126, 1, 1); _h_pTavg_tow = bookProfile1D(113, 1, 1); _h_pTavg_trv = bookProfile1D(114, 1, 1); _h_pTavg_away = bookProfile1D(115, 1, 1); _h_pTavgvsmult_tow = bookProfile1D(116, 1, 1); _h_pTavgvsmult_trv = bookProfile1D(117, 1, 1); _h_pTavgvsmult_away = bookProfile1D(118, 1, 1); // Book sumpt and nch histos for (size_t id = 0; id < 6.; ++id) { _h_ptSum_1D[0][id] = bookHisto1D( 89 + id, 1, 1); _h_ptSum_1D[1][id] = bookHisto1D(107 + id, 1, 1); _h_ptSum_1D[2][id] = bookHisto1D(119 + id, 1, 1); _h_ptSum_1D[3][id] = bookHisto1D(127 + id, 1, 1); _h_Nchg_1D[0][id] = bookHisto1D( 83 + id, 1, 1); _h_Nchg_1D[1][id] = bookHisto1D( 89 + id, 1, 1); _h_Nchg_1D[2][id] = bookHisto1D( 95 + id, 1, 1); _h_Nchg_1D[3][id] = bookHisto1D(101 + id, 1, 1); } } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); const ZFinder& zfinder = apply(event, "ZFinder"); if (zfinder.bosons().size() != 1) vetoEvent; double Zpt = zfinder.bosons()[0].momentum().pT()/GeV; double Zphi = zfinder.bosons()[0].momentum().phi(); double Zmass = zfinder.bosons()[0].momentum().mass()/GeV; if(Zmass < 66. || Zmass > 116.) vetoEvent; // Initialise counters for Nch and sumPt for all regions int nTowards(0), nTransverse(0), nLeft(0), nRight(0), nTrmin(0), nTrmax(0), nAway(0); double ptSumTowards(0.0), ptSumTransverse(0.0), ptSumLeft(0.0), ptSumRight(0.0), ptSumTrmin(0.0), ptSumTrmax(0.0), ptSumAway(0.0); // The charged particles ParticleVector particles = apply(event, "cfs").particlesByPt( Cuts::pT > 0.5*GeV && Cuts::abseta <2.5); // Loop over charged particles with pT>500 MeV and |eta|<2.5 foreach(const Particle& p, particles) { double dphi = p.momentum().phi() - Zphi, pT = p.momentum().pT(); // Get multiples of 2pi right for(; std::fabs(dphi) > M_PI; dphi += (dphi > 0. ? -2.*M_PI : 2.*M_PI) ); // Towards region if( std::fabs(dphi) < M_PI/3. ) { nTowards++; ptSumTowards += pT; } // Transverse region else if( std::fabs(dphi) < 2.*M_PI/3. ) { nTransverse++; ptSumTransverse += pT; if(dphi > 0.) { nRight++; ptSumRight += pT; } else { nLeft++; ptSumLeft += pT; } } // Away region else { nAway++; ptSumAway += pT; } } // TransMAX, TransMIN regions if (ptSumLeft > ptSumRight) { ptSumTrmax = ptSumLeft; ptSumTrmin = ptSumRight; nTrmax = nLeft; nTrmin = nRight; } else { ptSumTrmax = ptSumRight; ptSumTrmin = ptSumLeft; nTrmax = nRight; nTrmin = nLeft; } // min max regions have difference are than all other regions const double area = 5.*2./3.*M_PI; // Fill sumPt vs. Zpt region profiles _h_pTsum_tow->fill( Zpt, ptSumTowards/area, weight); _h_pTsum_trv->fill( Zpt, ptSumTransverse/area, weight); _h_pTsum_away->fill(Zpt, ptSumAway/area, weight); _h_pTsum_tmin->fill(Zpt, ptSumTrmin/(0.5*area), weight); _h_pTsum_tmax->fill(Zpt, ptSumTrmax/(0.5*area), weight); _h_pTsum_tdif->fill(Zpt, (ptSumTrmax - ptSumTrmin)/(0.5*area), weight); // Fill Nch vs. Zpt region profiles _h_Nchg_tow->fill( Zpt, nTowards/area, weight); _h_Nchg_trv->fill( Zpt, nTransverse/area, weight); _h_Nchg_away->fill(Zpt, nAway/area, weight); _h_Nchg_tmin->fill(Zpt, nTrmin/(0.5*area), weight); _h_Nchg_tmax->fill(Zpt, nTrmax/(0.5*area), weight); _h_Nchg_tdif->fill(Zpt, (nTrmax - nTrmin)/(0.5*area), weight); // Fill vs. ZpT profiles _h_pTavg_tow->fill( Zpt, nTowards > 0.? ptSumTowards/nTowards : 0., weight); _h_pTavg_trv->fill( Zpt, nTransverse > 0.? ptSumTransverse/nTransverse : 0., weight); _h_pTavg_away->fill(Zpt, nAway > 0.? ptSumAway/nAway : 0., weight); // Fill vs. ZpT profiles _h_pTavgvsmult_tow->fill( nTowards, nTowards > 0.? ptSumTowards/nTowards : 0., weight); _h_pTavgvsmult_trv->fill( nTransverse, nTransverse > 0.? ptSumTransverse/nTransverse : 0., weight); _h_pTavgvsmult_away->fill(nAway, nAway > 0.? ptSumAway/nAway : 0., weight); // Determine Zpt region histo to fill int i_bin(0); if (inRange(Zpt,0,5) ) i_bin=0; if (inRange(Zpt,5,10) ) i_bin=1; if (inRange(Zpt,10,20) ) i_bin=2; if (inRange(Zpt,20,50) ) i_bin=3; if (inRange(Zpt,50,110) ) i_bin=4; if (Zpt>110) i_bin=5; // SumPt histos for Zpt region _h_ptSum_1D[0][i_bin]->fill(ptSumTowards/area, weight); _h_ptSum_1D[1][i_bin]->fill(ptSumTransverse/area, weight); _h_ptSum_1D[2][i_bin]->fill(ptSumTrmin/(0.5*area), weight); _h_ptSum_1D[3][i_bin]->fill(ptSumTrmax/(0.5*area), weight); // Nch histos for Zpt region _h_Nchg_1D[0][i_bin]->fill(nTowards/area, weight); _h_Nchg_1D[1][i_bin]->fill(nTransverse/area, weight); _h_Nchg_1D[2][i_bin]->fill(nTrmin/(0.5*area), weight); _h_Nchg_1D[3][i_bin]->fill(nTrmax/(0.5*area), weight); } /// Normalise histograms etc., after the run void finalize() { for(int i_reg = 0; i_reg < 4; i_reg++) { for(int i_bin = 0; i_bin < 6; i_bin++) { normalize( _h_ptSum_1D[i_reg][i_bin] ); normalize( _h_Nchg_1D[ i_reg][i_bin] ); } } } private: Profile1DPtr _h_pTsum_tow, _h_pTsum_trv, _h_pTsum_away, _h_pTsum_tmin, _h_pTsum_tmax, _h_pTsum_tdif, _h_Nchg_tow, _h_Nchg_trv, _h_Nchg_away, _h_Nchg_tmin, _h_Nchg_tmax, _h_Nchg_tdif, _h_pTavg_tow, _h_pTavg_trv, _h_pTavg_away, _h_pTavgvsmult_tow, _h_pTavgvsmult_trv, _h_pTavgvsmult_away; Histo1DPtr _h_ptSum_1D[4][6], _h_Nchg_1D[4][6]; }; // This global object acts as a hook for the plugin system DECLARE_RIVET_PLUGIN(ATLAS_2014_I1315949); } diff --git a/analyses/pluginATLAS/ATLAS_2014_I1315949.info b/analyses/pluginATLAS/ATLAS_2014_I1315949.info --- a/analyses/pluginATLAS/ATLAS_2014_I1315949.info +++ b/analyses/pluginATLAS/ATLAS_2014_I1315949.info @@ -1,47 +1,47 @@ Name: ATLAS_2014_I1315949 Year: 2014 Summary: Distributions sensitive to the underlying event in inclusive Z-boson production at 7 TeV Experiment: ATLAS Collider: LHC InspireID: 1315949 Status: VALIDATED Authors: - Deepak Kar References: - Eur.Phys.J. C74 (2014) 3195 - doi:10.1140/epjc/s10052-014-3195-6 - arXiv:1409.3433 [hep-ex] RunInfo: - p + p -> Z + X ( Z -> mu^+ mu^- or e^+ e^- ). \sqrt{s} = 7 TeV + p + p -> Z + X ( Z -> mu^+ mu^- or e^+ e^- ) at 7 TeV NumEvents: 1000000 NeedCrossSection: yes Beams: [p+, p+] Energies: [7000] PtCuts: [20, 20] Description: Charged-particle distributions sensitive to the properties of the underlying event are measured for an - inclusive sample of events containing a $Z$-boson, decaying to an electron or muon pair. The measurement - is based on data collected using the ATLAS detector at the LHC in proton–proton collisions at a - centre-of-mass energy of 7 TeV with an integrated luminosity of 4.6~$\text{fb}^{−1}$. Distributions of + inclusive sample of events ontaining a $Z$-boson, decaying to an electron or muon pair. The measurement + is based on data collected using the ATLAS detector at the LHC in proton--proton collisions at a + centre-of-mass energy of 7 TeV with an integrated luminosity of 4.6 fb$^{-1}$. Distributions of the charged particle multiplicity and of the charged particle transverse momentum are measured in regions of azimuthal angle defined with respect to the $Z$-boson direction. BibKey: Aad:2014jgf BibTeX: '@article{Aad:2014jgf, author = "Aad, Georges and others", title = "{Measurement of distributions sensitive to the underlying event in inclusive Z-boson production in $pp$ collisions at $\sqrt{s}=7$ TeV with the ATLAS detector}", collaboration = "ATLAS Collaboration", journal = "Eur.Phys.J.", number = "12", volume = "C74", pages = "3195", doi = "10.1140/epjc/s10052-014-3195-6", year = "2014", eprint = "1409.3433", archivePrefix = "arXiv", primaryClass = "hep-ex", reportNumber = "CERN-PH-EP-2014-162", SLACcitation = "%%CITATION = ARXIV:1409.3433;%%", }'