many_algs_example.cc
Go to the documentation of this file.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 "fastjet/config.h"
00040 #include "run_jet_finder.hh"
00041
00042
00043 #include "fastjet/config.h"
00044
00045 #ifdef ENABLE_PLUGIN_SISCONE
00046 # include "fastjet/SISConePlugin.hh"
00047 #endif
00048 #ifdef ENABLE_PLUGIN_CDFCONES
00049 # include "fastjet/CDFMidPointPlugin.hh"
00050 # include "fastjet/CDFJetCluPlugin.hh"
00051 #endif
00052 #ifdef ENABLE_PLUGIN_PXCONE
00053 # include "fastjet/PxConePlugin.hh"
00054 #endif
00055 #ifdef ENABLE_PLUGIN_D0RUNIICONE
00056 # include "fastjet/D0RunIIConePlugin.hh"
00057 #endif
00058 #ifdef ENABLE_PLUGIN_TRACKJET
00059 #include "fastjet/TrackJetPlugin.hh"
00060 #endif
00061 #ifdef ENABLE_PLUGIN_ATLASCONE
00062 #include "fastjet/ATLASConePlugin.hh"
00063 #endif
00064 #ifdef ENABLE_PLUGIN_EECAMBRIDGE
00065 #include "fastjet/EECambridgePlugin.hh"
00066 #endif
00067 #ifdef ENABLE_PLUGIN_JADE
00068 #include "fastjet/JadePlugin.hh"
00069 #endif
00070 #ifdef ENABLE_PLUGIN_CMSITERATIVECONE
00071 #include "fastjet/CMSIterativeConePlugin.hh"
00072 #endif
00073
00074
00075 #include<vector>
00076 #include<iostream>
00077 #include "fastjet/PseudoJet.hh"
00078
00079 using namespace std;
00080
00081 int main(int argc, char** argv) {
00082
00083
00084 vector<fastjet::PseudoJet> input_particles;
00085 read_input_particles(cin, input_particles);
00086
00087
00088
00089 vector<fastjet::JetDefinition> jet_defs;
00090 vector<fastjet::JetDefinition::Plugin *> plugins;
00091
00092
00093 double jet_radius = 0.7;
00094
00095 double overlap_threshold = 0.5;
00096
00097
00098
00099 #ifdef ENABLE_PLUGIN_PXCONE
00100 double min_jet_energy = 5.0;
00101 bool E_scheme_jets = false;
00102 plugins.push_back( new fastjet::PxConePlugin (jet_radius, min_jet_energy,
00103 overlap_threshold, E_scheme_jets));
00104 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00105 #endif // ENABLE_PLUGIN_PXCONE
00106
00107
00108
00109
00110 #ifdef ENABLE_PLUGIN_CDFCONES
00111 double seed_threshold = 1.0;
00112 double cone_area_fraction = 1.0;
00113 int max_pair_size = 2;
00114 int max_iterations = 100;
00115 plugins.push_back(new fastjet::CDFMidPointPlugin(seed_threshold, jet_radius,
00116 cone_area_fraction, max_pair_size,
00117 max_iterations, overlap_threshold));
00118 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00119 #endif
00120
00121
00122 #ifdef ENABLE_PLUGIN_SISCONE
00123 int npass = 0;
00124 double protojet_ptmin = 0.0;
00125 plugins.push_back(new fastjet::SISConePlugin (jet_radius, overlap_threshold,
00126 npass, protojet_ptmin));
00127 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00128 #endif
00129
00130
00131 #ifdef ENABLE_PLUGIN_D0RUNIICONE
00132 double min_jet_Et = 6.0;
00133 plugins.push_back(new fastjet::D0RunIIConePlugin (jet_radius, min_jet_Et,
00134 overlap_threshold));
00135 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00136 #endif // ENABLE_PLUGIN_D0RUNIICONE
00137
00138
00139 #ifdef ENABLE_PLUGIN_TRACKJET
00140 plugins.push_back(new fastjet::TrackJetPlugin(jet_radius));
00141 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00142 #endif // ENABLE_PLUGIN_TRACKJET
00143
00144 #ifdef ENABLE_PLUGIN_ATLASCONE
00145 plugins.push_back(new fastjet::ATLASConePlugin(jet_radius));
00146 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00147 #endif // ENABLE_PLUGIN_ATLASCONE
00148
00149 #ifdef ENABLE_PLUGIN_EECAMBRIDGE
00150 double ycut = 0.08;
00151 plugins.push_back(new fastjet::EECambridgePlugin(ycut));
00152 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00153 #endif // ENABLE_PLUGIN_EECAMBRIDGE
00154
00155 #ifdef ENABLE_PLUGIN_JADE
00156 plugins.push_back(new fastjet::JadePlugin());
00157 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00158 #endif // ENABLE_PLUGIN_JADE
00159
00160 #ifdef ENABLE_PLUGIN_CMSITERATIVECONE
00161 double cms_seed_threshold = 1.0;
00162 plugins.push_back(new fastjet::CMSIterativeConePlugin(jet_radius, cms_seed_threshold));
00163 jet_defs.push_back(fastjet::JetDefinition(plugins.back()));
00164 #endif // ENABLE_PLUGIN_CMSITERATIVECONE
00165
00166
00167
00168 jet_defs.push_back(fastjet::JetDefinition(fastjet::kt_algorithm, jet_radius));
00169 jet_defs.push_back(fastjet::JetDefinition(fastjet::cambridge_algorithm,
00170 jet_radius));
00171 jet_defs.push_back(fastjet::JetDefinition(fastjet::antikt_algorithm,
00172 jet_radius));
00173
00174
00175 for (vector<fastjet::JetDefinition>::const_iterator jd_it = jet_defs.begin();
00176 jd_it != jet_defs.end(); jd_it++) {
00177 run_jet_finder(input_particles, *jd_it);
00178 }
00179
00180
00181 for (vector<fastjet::JetDefinition>::const_iterator jd_it = jet_defs.begin();
00182 jd_it != jet_defs.end(); jd_it++) {
00183 if (jd_it->plugin() != NULL) delete jd_it->plugin();
00184 }
00185 }