00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039 #include "run_jet_finder.hh"
00040 #include "CDFMidPointPlugin.hh"
00041 #include "SISConePlugin.hh"
00042 #include "PxConePlugin.hh"
00043 #include<vector>
00044 #include<iostream>
00045 #include "fastjet/PseudoJet.hh"
00046
00047
00048
00049
00050
00051 using namespace std;
00052
00053 int main(int argc, char** argv) {
00054
00055
00056 vector<fastjet::PseudoJet> input_particles;
00057 read_input_particles(cin, input_particles);
00058
00059
00060
00061 vector<fastjet::JetDefinition> jet_defs(5);
00062 vector<fastjet::JetDefinition::Plugin *> plugins(3);
00063
00064
00065 double jet_radius = 0.7;
00066
00067 double overlap_threshold = 0.5;
00068
00069 vector<fastjet::JetDefinition>::const_iterator
00070 jet_def_begin = jet_defs.begin();
00071
00072
00073
00074 #ifdef USEPXCONE
00075 double min_jet_energy = 5.0;
00076 bool E_scheme_jets = false;
00077 plugins[0] = new fastjet::PxConePlugin (jet_radius, min_jet_energy,
00078 overlap_threshold, E_scheme_jets);
00079 jet_defs[0] = fastjet::JetDefinition(plugins[0]);
00080 #else
00081 plugins[0] = NULL;
00082 jet_def_begin++;
00083 #endif // USEPXCONE
00084
00085
00086
00087
00088 double seed_threshold = 1.0;
00089 double cone_area_fraction = 1.0;
00090 int max_pair_size = 2;
00091 int max_iterations = 100;
00092 plugins[1] = new fastjet::CDFMidPointPlugin (seed_threshold, jet_radius,
00093 cone_area_fraction, max_pair_size,
00094 max_iterations, overlap_threshold);
00095 jet_defs[1] = fastjet::JetDefinition(plugins[1]);
00096
00097
00098
00099 int npass = 0;
00100 double protojet_ptmin = 0.0;
00101 plugins[2] = new fastjet::SISConePlugin (jet_radius, overlap_threshold,
00102 npass, protojet_ptmin);
00103 jet_defs[2] = fastjet::JetDefinition(plugins[2]);
00104
00105
00106 jet_defs[3] = fastjet::JetDefinition(fastjet::kt_algorithm, jet_radius);
00107 jet_defs[4] = fastjet::JetDefinition(fastjet::cambridge_algorithm,
00108 jet_radius);
00109
00110
00111
00112 for (vector<fastjet::JetDefinition>::const_iterator jd_it = jet_def_begin;
00113 jd_it != jet_defs.end(); jd_it++) {
00114 run_jet_finder(input_particles, *jd_it);
00115 }
00116
00117
00118 if (plugins[0] != NULL) delete plugins[0];
00119 delete plugins[1];
00120 delete plugins[2];
00121 }