Page MenuHomeHEPForge

Unweighter.cc
No OneTemporary

Size
774 B
Referenced Files
None
Subscribers
None

Unweighter.cc

/**
* \authors The HEJ collaboration (see AUTHORS for details)
* \date 2019
* \copyright GPLv2 or later
*/
#include "HEJ/Unweighter.hh"
namespace HEJ {
bool Unweighter::discard(RNG & ran, Event & ev) const {
const double awt = std::abs(ev.central().weight);
if(awt >= get_cut() ) return false;
if(ran.flat() > awt/get_cut()) return true;
ev.parameters() *= get_cut()/awt;
return false;
}
optional<Event> Unweighter::unweight(Event ev, RNG & ran) const {
if(discard(ran, ev))
return {};
return ev;
}
std::vector<Event> Unweighter::unweight(
std::vector<Event> events, RNG & ran
) const {
events.erase(
unweight(events.begin(), events.end(), ran),
events.end() );
return events;
}
}

File Metadata

Mime Type
text/x-c
Expires
Tue, Sep 30, 4:42 AM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
6404224
Default Alt Text
Unweighter.cc (774 B)

Event Timeline