|
[Rivet-svn] rivet: 2 new changesetsRivet Mercurial rivet at projects.hepforge.orgWed 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 |