34#include "siscone/momentum.h"
35#include "siscone/siscone.h"
42using namespace siscone;
44timeval time_start, time_end;
51 time_diff.tv_sec = time_end.tv_sec-time_start.tv_sec;
52 if (time_end.tv_usec > time_start.tv_usec){
53 time_diff.tv_usec = time_end.tv_usec-time_start.tv_usec;
56 time_diff.tv_usec = (1000000+time_end.tv_usec)-time_start.tv_usec;
59 return 1000000*time_diff.tv_sec+time_diff.tv_usec;
65 vector<Cmomentum> particles;
80 cout <<
"initialise random number generator" << endl;
83 gettimeofday(×tamp, NULL);
84 srand(timestamp.tv_usec);
86 flux = fopen(
"times.dat",
"w+");
91 fprintf(stdout,
"\r%5d particles\n", N);
94 for (n_ev=0;n_ev<Nruns;n_ev++){
98 eta = -3.0+6.0*rand()/(RAND_MAX+1.0);
99 phi = 2.0*M_PI*rand()/(RAND_MAX+1.0);
100 particles.push_back(
Cmomentum(cos(phi), sin(phi), tanh(eta), 1.0));
104 gettimeofday(&time_start, NULL);
106 gettimeofday(&time_end, NULL);
107 time_siscone+=time_spent();
110 fprintf(flux,
"%d\t%e\n", N, time_siscone/(1.0*Nruns));
113 if (N==(part_inc<<3))
119 fprintf(stdout,
"\n");
121 cout <<
"bye..." << endl;
base class for dynamic coordinates management
final class: gather everything to compute the jet contents.
int compute_jets(std::vector< Cmomentum > &_particles, double _radius, double _f, int _n_pass_max=0, double _ptmin=0.0, Esplit_merge_scale _split_merge_scale=SM_pttilde)
compute the jets from a given particle set.