[Rivet-svn] rivet: 2 new changesets

Rivet Mercurial rivet at projects.hepforge.org
Wed Apr 4 16:30:02 BST 2018


details:   https://rivet.hepforge.org/hg/rivet/rev/9e4774664495
branches:  release-2-6-x
changeset: 6266:9e4774664495
user:      Jon Butterworth <j.butterworth at cern.ch>
date:      Wed Apr 04 16:23:40 2018 +0100
description:
top quark pairs

details:   https://rivet.hepforge.org/hg/rivet/rev/b44219efdc76
branches:  release-2-6-x
changeset: 6267:b44219efdc76
user:      Jon Butterworth <j.butterworth at cern.ch>
date:      Wed Apr 04 16:26:29 2018 +0100
description:
fix to prevent leptons being dressed with other leptons in high multiplicity events

diffs (truncated from 31254 to 50 lines):

--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/analyses/pluginCMS/CMS_2016_I1491950.cc	Wed Apr 04 16:26:29 2018 +0100
@@ -0,0 +1,503 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/Tools/Logging.hh"
+#include "Rivet/Projections/FinalState.hh"
+#include "Rivet/Projections/FastJets.hh"
+#include "Rivet/Projections/DressedLeptons.hh"
+#include "Rivet/Projections/PromptFinalState.hh"
+#include "Rivet/Projections/IdentifiedFinalState.hh"
+#include "Rivet/Projections/VetoedFinalState.hh"
+#include "Rivet/Tools/ParticleName.hh"
+#include "Rivet/Tools/ParticleIdUtils.hh"
+
+namespace Rivet
+{
+  namespace { //< only visible in this compilation unit
+
+    /// @brief Special dressed lepton finder
+    ///
+    /// Find dressed leptons by clustering all leptons and photons
+    class SpecialDressedLeptons : public FinalState {
+      public:
+        /// The default constructor. May specify cuts
+        SpecialDressedLeptons(const FinalState& fs, const Cut& cut)
+          : FinalState(cut)
+        {
+          setName("SpecialDressedLeptons");
+          IdentifiedFinalState ifs(fs);
+          ifs.acceptIdPair(PID::PHOTON);
+          ifs.acceptIdPair(PID::ELECTRON);
+          ifs.acceptIdPair(PID::MUON);
+          addProjection(ifs, "IFS");
+          addProjection(FastJets(ifs, FastJets::ANTIKT, 0.1), "LeptonJets");
+        }
+        
+        /// Clone on the heap.
+        virtual unique_ptr<Projection> clone() const {
+          return unique_ptr<Projection>(new SpecialDressedLeptons(*this));
+        }
+        
+        /// Retrieve the dressed leptons
+        const vector<DressedLepton>& dressedLeptons() const { return _clusteredLeptons; }
+        
+      private:
+        /// Container which stores the clustered lepton objects
+        vector<DressedLepton> _clusteredLeptons;
+        
+      public:


More information about the Rivet-svn mailing list