ParticleUtils.cc
Go to the documentation of this file.
00001 #include "Rivet/Tools/ParticleUtils.hh" 00002 #include "Rivet/Tools/Cuts.hh" 00003 00004 namespace Rivet { 00005 00006 00007 FirstParticleWith::FirstParticleWith(const Cut& c) 00008 : fn([&](const Particle& p){ return c->accept(p); }) { } 00009 00010 FirstParticleWithout::FirstParticleWithout(const Cut& c) 00011 : fn([&](const Particle& p){ return c->accept(p); }) { } 00012 00013 LastParticleWith::LastParticleWith(const Cut& c) 00014 : fn([&](const Particle& p){ return c->accept(p); }) { } 00015 00016 LastParticleWithout::LastParticleWithout(const Cut& c) 00017 : fn([&](const Particle& p){ return c->accept(p); }) { } 00018 00019 00020 HasParticleAncestorWith::HasParticleAncestorWith(const Cut& c) 00021 : fn([&](const Particle& p){ return c->accept(p); }) { } 00022 00023 HasParticleAncestorWithout::HasParticleAncestorWithout(const Cut& c) 00024 : fn([&](const Particle& p){ return c->accept(p); }) { } 00025 00026 HasParticleParentWith::HasParticleParentWith(const Cut& c) 00027 : fn([&](const Particle& p){ return c->accept(p); }) { } 00028 00029 HasParticleParentWithout::HasParticleParentWithout(const Cut& c) 00030 : fn([&](const Particle& p){ return c->accept(p); }) { } 00031 00032 HasParticleChildWith::HasParticleChildWith(const Cut& c) 00033 : fn([&](const Particle& p){ return c->accept(p); }) { } 00034 00035 HasParticleChildWithout::HasParticleChildWithout(const Cut& c) 00036 : fn([&](const Particle& p){ return c->accept(p); }) { } 00037 00038 HasParticleDescendantWith::HasParticleDescendantWith(const Cut& c) 00039 : fn([&](const Particle& p){ return c->accept(p); }) { } 00040 00041 HasParticleDescendantWithout::HasParticleDescendantWithout(const Cut& c) 00042 : fn([&](const Particle& p){ return c->accept(p); }) { } 00043 00044 00045 Particles& ifilter_select(Particles& particles, const Cut& c) { 00046 if (c == Cuts::OPEN) return particles; 00047 // return ifilter_select(particles, *c); 00048 return ifilter_select(particles, [&](const Particle& p){return c->accept(p);}); 00049 } 00050 00051 Particles& ifilter_discard(Particles& particles, const Cut& c) { 00052 if (c == Cuts::OPEN) { particles.clear(); return particles; } 00053 // return ifilter_discard(particles, *c); 00054 return ifilter_discard(particles, [&](const Particle& p){return c->accept(p);}); 00055 } 00056 00057 00058 } Generated on Tue Dec 13 2016 16:32:39 for The Rivet MC analysis system by ![]() |