#include <VoronoiAlgorithm.h>
Classes | |
class | particle_t |
Public Member Functions | |
void | clear (void) |
size_t | nedge_pseudorapidity (void) const |
std::vector< double > | particle_area (void) |
std::vector< std::set< size_t > > | particle_incident (void) |
std::vector< double > | perp_fourier (void) |
void | push_back_particle (const double perp, const double pseudorapidity, const double azimuth, const unsigned int reduced_particle_flow_id) |
std::vector< double > | subtracted_equalized_perp (void) |
std::vector< double > | subtracted_unequalized_perp (void) |
VoronoiAlgorithm (const UECalibration *ue, const double dr_max, const std::pair< double, double > equalization_threshold=std::pair< double, double >(5.0, 35.0), const bool remove_nonpositive=true) | |
~VoronoiAlgorithm (void) | |
Static Public Attributes | |
static const size_t | nfourier = 5 |
static const size_t | nreduced_particle_flow_id = 3 |
Protected Attributes | |
std::vector< bool > | _active |
std::vector< double > | _cms_ecal_edge_pseudorapidity |
std::vector< double > | _cms_hcal_edge_pseudorapidity |
std::vector< double > | _edge_pseudorapidity |
std::pair< double, double > | _equalization_threshold |
event_t | _event |
std::vector< double > | _feature |
void * | _lp_environment |
void * | _lp_problem |
std::vector< size_t > | _nblock_subtract |
size_t | _ncost |
boost::multi_array< double, 4 > * | _perp_fourier |
double | _positive_bound_scale |
double | _radial_distance_square_max |
std::vector< std::pair< size_t, size_t > > | _recombine |
std::vector< std::vector < size_t > > | _recombine_index |
std::vector< double > | _recombine_tie |
std::vector< std::vector < size_t > > | _recombine_unsigned |
bool | _remove_nonpositive |
bool | _subtracted |
const UECalibration * | ue |
Private Types | |
typedef CGAL::Delaunay_triangulation_2 < CGAL::Exact_predicates_inexact_constructions_kernel > | delaunay_triangulation_t |
typedef std::vector< particle_t > | event_t |
typedef delaunay_triangulation_t::Point | point_2d_t |
typedef CGAL::Polygon_2 < CGAL::Exact_predicates_inexact_constructions_kernel > | polygon_t |
typedef CGAL::Voronoi_diagram_2 < delaunay_triangulation_t, CGAL::Delaunay_triangulation_adaptation_traits_2 < delaunay_triangulation_t > , CGAL::Delaunay_triangulation_caching_degeneracy_removal_policy_2 < delaunay_triangulation_t > > | voronoi_diagram_t |
Private Member Functions | |
void | allocate (void) |
void | deallocate (void) |
void | equalize (void) |
void | event_fourier (void) |
void | feature_extract (void) |
void | initialize_geometry (void) |
void | lp_populate (void *lp_problem) |
void | recombine_link (void) |
void | remove_nonpositive (void) |
void | subtract_if_necessary (void) |
void | subtract_momentum (void) |
void | voronoi_area_incident (void) |
Definition at line 18 of file VoronoiAlgorithm.h.
|
private |
Definition at line 23 of file VoronoiAlgorithm.h.
|
private |
Definition at line 48 of file VoronoiAlgorithm.h.
|
private |
Definition at line 24 of file VoronoiAlgorithm.h.
|
private |
Definition at line 59 of file VoronoiAlgorithm.h.
|
private |
Definition at line 56 of file VoronoiAlgorithm.h.
VoronoiAlgorithm::VoronoiAlgorithm | ( | const UECalibration * | ue, |
const double | dr_max, | ||
const std::pair< double, double > | equalization_threshold = std::pair<double, double>(5.0, 35.0) , |
||
const bool | remove_nonpositive = true |
||
) |
Definition at line 1842 of file VoronoiAlgorithm.cc.
References _edge_pseudorapidity, allocate(), initialize_geometry(), and nedge_pseudorapidity().
VoronoiAlgorithm::~VoronoiAlgorithm | ( | void | ) |
|
private |
Definition at line 942 of file VoronoiAlgorithm.cc.
References _edge_pseudorapidity, _perp_fourier, nfourier, and nreduced_particle_flow_id.
Referenced by VoronoiAlgorithm().
void VoronoiAlgorithm::clear | ( | void | ) |
Clears the list of unsubtracted particles
Definition at line 1894 of file VoronoiAlgorithm.cc.
References _event, and _subtracted.
Referenced by VoronoiBackgroundProducer::produce().
|
private |
Definition at line 948 of file VoronoiAlgorithm.cc.
References _perp_fourier.
Referenced by ~VoronoiAlgorithm().
|
private |
Definition at line 1783 of file VoronoiAlgorithm.cc.
References _event, _lp_environment, _nblock_subtract, _ncost, _recombine, plotBeamSpotDB::first, relval_2017::k, lp_populate(), pi, recombine_link(), edm::second(), and x.
Referenced by subtract_if_necessary().
|
private |
Definition at line 952 of file VoronoiAlgorithm.cc.
References _edge_pseudorapidity, _event, _perp_fourier, funct::cos(), lumiContext::fill, relval_2017::k, cmsLHEtoEOSManager::l, nfourier, and funct::sin().
Referenced by subtract_if_necessary().
|
private |
Definition at line 988 of file VoronoiAlgorithm.cc.
References _edge_pseudorapidity, _feature, j, relval_2017::k, nfourier, nreduced_particle_flow_id, pileupReCalc_HLTpaths::scale, and mathSSE::sqrt().
Referenced by subtract_if_necessary().
|
private |
Definition at line 908 of file VoronoiAlgorithm.cc.
References _cms_ecal_edge_pseudorapidity, _cms_hcal_edge_pseudorapidity, and i.
Referenced by VoronoiAlgorithm().
|
private |
Definition at line 1414 of file VoronoiAlgorithm.cc.
References _active, _equalization_threshold, _event, _nblock_subtract, _ncost, _positive_bound_scale, _recombine_index, _recombine_tie, _recombine_unsigned, alignCSCRings::e, cond::serialization::equal(), i, infinity, M_PI, bookConverter::max, min(), nedge_pseudorapidity(), AlCaHLTBitMon_ParallelJobs::p, jetcorrextractor::sign(), and puppiForMET_cff::weight.
Referenced by equalize().
size_t VoronoiAlgorithm::nedge_pseudorapidity | ( | void | ) | const |
Definition at line 1992 of file VoronoiAlgorithm.cc.
References _edge_pseudorapidity.
Referenced by lp_populate(), and VoronoiAlgorithm().
std::vector< double > VoronoiAlgorithm::particle_area | ( | void | ) |
Returns the area in the Voronoi diagram diagram occupied by a given particle
Definition at line 1938 of file VoronoiAlgorithm.cc.
References _event, runTheMatrix::ret, and subtract_if_necessary().
Referenced by VoronoiBackgroundProducer::produce().
std::vector< std::set< size_t > > VoronoiAlgorithm::particle_incident | ( | void | ) |
Returns the incident particles in the Delaunay diagram (particles that has a given particle as the nearest neighbor)
Definition at line 1960 of file VoronoiAlgorithm.cc.
References _event, alignCSCRings::e, runTheMatrix::ret, and subtract_if_necessary().
std::vector< double > VoronoiAlgorithm::perp_fourier | ( | void | ) |
Definition at line 1983 of file VoronoiAlgorithm.cc.
References _perp_fourier, and subtract_if_necessary().
Referenced by VoronoiBackgroundProducer::produce().
void VoronoiAlgorithm::push_back_particle | ( | const double | perp, |
const double | pseudorapidity, | ||
const double | azimuth, | ||
const unsigned int | reduced_particle_flow_id | ||
) |
Add a new unsubtracted particle to the current event
[in] | perp | transverse momentum |
[in] | pseudorapidity | pseudorapidity |
[in] | azimuth | azimuth |
[in] | reduced_particle_flow_id | reduced particle flow ID, between 0 and 2 (inclusive) |
Definition at line 1881 of file VoronoiAlgorithm.cc.
References _event, and AlCaHLTBitMon_ParallelJobs::p.
Referenced by VoronoiBackgroundProducer::produce().
|
private |
Definition at line 1286 of file VoronoiAlgorithm.cc.
References _active, _event, _radial_distance_square_max, _recombine, _recombine_index, _recombine_tie, _recombine_unsigned, begin, i, and j.
Referenced by equalize().
|
private |
Definition at line 1818 of file VoronoiAlgorithm.cc.
References _event, and bookConverter::max.
Referenced by subtract_if_necessary().
|
private |
Definition at line 1827 of file VoronoiAlgorithm.cc.
References _remove_nonpositive, _subtracted, equalize(), event_fourier(), feature_extract(), remove_nonpositive(), subtract_momentum(), and voronoi_area_incident().
Referenced by particle_area(), particle_incident(), perp_fourier(), subtracted_equalized_perp(), and subtracted_unequalized_perp().
|
private |
Definition at line 1136 of file VoronoiAlgorithm.cc.
References _cms_ecal_edge_pseudorapidity, _cms_hcal_edge_pseudorapidity, _edge_pseudorapidity, _event, _feature, funct::cos(), create_public_lumi_plots::exp, j, cmsLHEtoEOSManager::l, visualization-live-secondInstance_cfg::m, M_PI, gen::n, nfourier, nreduced_particle_flow_id, connectstrParser::o, AlCaHLTBitMon_ParallelJobs::p, funct::sin(), ue, UECalibration::ue_interpolation_pf0, UECalibration::ue_interpolation_pf1, UECalibration::ue_interpolation_pf2, and UECalibration::ue_predictor_pf.
Referenced by subtract_if_necessary().
std::vector< double > VoronoiAlgorithm::subtracted_equalized_perp | ( | void | ) |
Returns the transverse momenta of the subtracted particles
Definition at line 1904 of file VoronoiAlgorithm.cc.
References _event, runTheMatrix::ret, and subtract_if_necessary().
Referenced by VoronoiBackgroundProducer::produce().
std::vector< double > VoronoiAlgorithm::subtracted_unequalized_perp | ( | void | ) |
Definition at line 1918 of file VoronoiAlgorithm.cc.
References _event, runTheMatrix::ret, and subtract_if_necessary().
Referenced by VoronoiBackgroundProducer::produce().
|
private |
Definition at line 1045 of file VoronoiAlgorithm.cc.
References _event, patZpeak::handle, edm::eventsetup::heterocontainer::insert(), relval_2017::k, M_PI, NULL, AlCaHLTBitMon_ParallelJobs::p, and mps_fire::result.
Referenced by subtract_if_necessary().
|
protected |
Definition at line 75 of file VoronoiAlgorithm.h.
Referenced by lp_populate(), and recombine_link().
|
protected |
Definition at line 66 of file VoronoiAlgorithm.h.
Referenced by initialize_geometry(), and subtract_momentum().
|
protected |
Definition at line 65 of file VoronoiAlgorithm.h.
Referenced by initialize_geometry(), and subtract_momentum().
|
protected |
Definition at line 64 of file VoronoiAlgorithm.h.
Referenced by allocate(), event_fourier(), feature_extract(), nedge_pseudorapidity(), subtract_momentum(), and VoronoiAlgorithm().
|
protected |
Definition at line 68 of file VoronoiAlgorithm.h.
Referenced by lp_populate().
|
protected |
Definition at line 72 of file VoronoiAlgorithm.h.
Referenced by clear(), equalize(), event_fourier(), lp_populate(), particle_area(), particle_incident(), push_back_particle(), recombine_link(), remove_nonpositive(), subtract_momentum(), subtracted_equalized_perp(), subtracted_unequalized_perp(), and voronoi_area_incident().
|
protected |
Definition at line 74 of file VoronoiAlgorithm.h.
Referenced by feature_extract(), and subtract_momentum().
|
protected |
Definition at line 82 of file VoronoiAlgorithm.h.
Referenced by equalize().
|
protected |
Definition at line 83 of file VoronoiAlgorithm.h.
|
protected |
Definition at line 81 of file VoronoiAlgorithm.h.
Referenced by equalize(), and lp_populate().
|
protected |
Definition at line 80 of file VoronoiAlgorithm.h.
Referenced by equalize(), and lp_populate().
|
protected |
Definition at line 73 of file VoronoiAlgorithm.h.
Referenced by allocate(), deallocate(), event_fourier(), and perp_fourier().
|
protected |
Definition at line 70 of file VoronoiAlgorithm.h.
Referenced by lp_populate().
|
protected |
Definition at line 69 of file VoronoiAlgorithm.h.
Referenced by recombine_link().
|
protected |
Definition at line 76 of file VoronoiAlgorithm.h.
Referenced by equalize(), and recombine_link().
|
protected |
Definition at line 77 of file VoronoiAlgorithm.h.
Referenced by lp_populate(), and recombine_link().
|
protected |
Definition at line 79 of file VoronoiAlgorithm.h.
Referenced by lp_populate(), and recombine_link().
|
protected |
Definition at line 78 of file VoronoiAlgorithm.h.
Referenced by lp_populate(), and recombine_link().
|
protected |
Definition at line 67 of file VoronoiAlgorithm.h.
Referenced by subtract_if_necessary().
|
protected |
Definition at line 71 of file VoronoiAlgorithm.h.
Referenced by clear(), and subtract_if_necessary().
|
static |
Definition at line 62 of file VoronoiAlgorithm.h.
Referenced by allocate(), event_fourier(), feature_extract(), and subtract_momentum().
|
static |
Definition at line 61 of file VoronoiAlgorithm.h.
Referenced by allocate(), feature_extract(), and subtract_momentum().
|
protected |
Definition at line 85 of file VoronoiAlgorithm.h.
Referenced by subtract_momentum().