|
[Rivet-svn] rivet: add ATLAS ZZRivet Mercurial rivet at projects.hepforge.orgMon Apr 23 19:45:02 BST 2018
details: https://rivet.hepforge.org/hg/rivet/rev/c2fea1bae7b5 branches: release-2-6-x changeset: 6273:c2fea1bae7b5 user: Jon Butterworth <j.butterworth at cern.ch> date: Mon Apr 23 19:35:26 2018 +0100 description: add ATLAS ZZ diffs (truncated from 844 to 50 lines): --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/analyses/pluginATLAS/ATLAS_2017_I1625109.cc Mon Apr 23 19:35:26 2018 +0100 @@ -0,0 +1,309 @@ +// -*- C++ -*- +#include "Rivet/Analysis.hh" +#include "Rivet/Projections/FinalState.hh" +#include "Rivet/Projections/PromptFinalState.hh" +#include "Rivet/Projections/VetoedFinalState.hh" +#include "Rivet/Projections/DressedLeptons.hh" +#include "Rivet/Projections/FastJets.hh" + +namespace Rivet { + + class ATLAS_2017_I1625109 : public Analysis { + public: + + /// Constructor + /// @brief measurement of on-shell ZZ at 13 TeV + DEFAULT_RIVET_ANALYSIS_CTOR(ATLAS_2017_I1625109); + + /// @name Analysis methods + //@{ + + struct Dilepton { + Dilepton() {}; + Dilepton(const ParticlePair & _leptons) : leptons(_leptons) {} + + FourMomentum momentum() const { + return leptons.first.mom() + leptons.second.mom(); + } + + ParticlePair leptons; + }; + + + struct Quadruplet { + + vector<DressedLepton> getLeptonsSortedByPt() const { + vector<DressedLepton> out = { leadingDilepton.leptons.first, leadingDilepton.leptons.second, + subleadingDilepton.leptons.first, subleadingDilepton.leptons.second }; + std::sort(out.begin(), out.end(), cmpMomByPt); + return out; + } + + Quadruplet(const Dilepton& dilepton1, const Dilepton& dilepton2) { + if (dilepton1.momentum().pt() > dilepton2.momentum().pt()) { + leadingDilepton = dilepton1; + subleadingDilepton = dilepton2; + } + else {
More information about the Rivet-svn mailing list |