#include "run_jet_finder.hh"
#include "CDFMidPointPlugin.hh"
#include "SISConePlugin.hh"
#include "PxConePlugin.hh"
#include <vector>
#include <iostream>
#include "fastjet/PseudoJet.hh"
Include dependency graph for many_algs_example.cc:
Go to the source code of this file.
Functions | |
int | main (int argc, char **argv) |
|
Definition at line 53 of file many_algs_example.cc. References fastjet::cambridge_algorithm, fastjet::kt_algorithm, read_input_particles(), and run_jet_finder(). 00053 { 00054 00055 // read input particles 00056 vector<fastjet::PseudoJet> input_particles; 00057 read_input_particles(cin, input_particles); 00058 00059 // we will have four jet definitions, and the first two will be 00060 // plugins 00061 vector<fastjet::JetDefinition> jet_defs(5); 00062 vector<fastjet::JetDefinition::Plugin *> plugins(3); 00063 00064 // common parameters 00065 double jet_radius = 0.7; 00066 //double jet_radius = 1.0; 00067 double overlap_threshold = 0.5; 00068 00069 vector<fastjet::JetDefinition>::const_iterator 00070 jet_def_begin = jet_defs.begin(); 00071 00072 // set up a pxcone jet definition (if wanted -- requires f77, and you 00073 // should compile the pxcone plugin (not there by default)) 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++; // skip first jet def 00083 #endif // USEPXCONE 00084 00085 00086 00087 // set up a CDF midpoint jet definition 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 // set up a siscone jet definition 00099 int npass = 0; // do infinite number of passes 00100 double protojet_ptmin = 0.0; // use all protojets 00101 plugins[2] = new fastjet::SISConePlugin (jet_radius, overlap_threshold, 00102 npass, protojet_ptmin); 00103 jet_defs[2] = fastjet::JetDefinition(plugins[2]); 00104 00105 // set up kt and cam/aachen definitions 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 // call the example jet-finding routine with each of jet definitions 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 // clean up plugin memory. 00118 if (plugins[0] != NULL) delete plugins[0]; // pxcone may not be defined 00119 delete plugins[1]; 00120 delete plugins[2]; 00121 }
|