50 #include <fastjet/PseudoJet.hh>
51 #include <fastjet/ClusterSequence.hh>
52 #include <fastjet/Selector.hh>
54 #include "fastjet/tools/Filter.hh"
56 #include "fastjet/tools/GridMedianBackgroundEstimator.hh"
57 #include "fastjet/ClusterSequenceArea.hh"
58 #include "fastjet/tools/Subtractor.hh"
62 using namespace fastjet;
72 DynamicRfilt(
double Rmax,
double deltaR_factor) : _Rmax(Rmax), _deltaR_factor(deltaR_factor){}
78 vector<PseudoJet> pieces = j.
pieces();
79 if (pieces.size() != 2)
return _Rmax;
81 double deltaR = pieces[0].delta_R(pieces[1]);
82 return min(_Rmax, _deltaR_factor * deltaR);
86 double _Rmax, _deltaR_factor;
93 vector<PseudoJet> input_particles;
95 double px, py , pz, E;
96 while (cin >> px >> py >> pz >> E) {
99 input_particles.push_back(
PseudoJet(px,py,pz,E));
113 printf(
"%5s %15s %15s %15s\n",
"jet #",
"rapidity",
"phi",
"pt");
116 for (
unsigned int i = 0; i < inclusive_jets.size(); i++) {
117 printf(
"%5u %15.8f %15.8f %15.8f\n",
118 i, inclusive_jets[i].rap(), inclusive_jets[i].phi(),
119 inclusive_jets[i].perp());
124 if (inclusive_jets.size()<3){
125 cout <<
"Please provide an event with at least 3 jets above 5 GeV" << endl;
134 vector<PseudoJet> candidates;
135 candidates.push_back(inclusive_jets[0]);
136 candidates.push_back(join(inclusive_jets[1],inclusive_jets[2]));
141 vector<Filter> filters;
161 double rho = bkgd.
rho();
173 filters.push_back(filt);
181 cout <<
"\nOriginal jets that will be filtered: " << endl;
182 for (vector<PseudoJet>::iterator jit=candidates.begin(); jit!=candidates.end(); jit++){
184 cout <<
" rap = " << c.
rap() <<
", phi = " << c.
phi() <<
", pt = " << c.
perp()
189 for (vector<Filter>::iterator it=filters.begin(); it!=filters.end(); it++){
191 cout <<
"\nUsing filter: " << f.
description() << endl;
194 for (vector<PseudoJet>::iterator jit=candidates.begin(); jit!=candidates.end(); jit++){
210 cout <<
" rap = " << j.
rap() <<
", phi = " << j.
phi() <<
", pt = " << j.
perp()
211 <<
" [kept: " << j.
pieces().size() <<
", rejected: "
212 << fj_struct.
rejected().size() <<
"]" << endl;