fastjet 2.4.3
|
#include "fastjet/config.h"
#include "run_jet_finder.hh"
#include <vector>
#include <iostream>
#include "fastjet/PseudoJet.hh"
Go to the source code of this file.
Functions | |
int | main (int argc, char **argv) |
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 81 of file many_algs_example.cc.
References antikt_algorithm, cambridge_algorithm, kt_algorithm, read_input_particles(), and run_jet_finder().
{ // read input particles vector<fastjet::PseudoJet> input_particles; read_input_particles(cin, input_particles); // we will have four jet definitions, and the first two will be // plugins vector<fastjet::JetDefinition> jet_defs; vector<fastjet::JetDefinition::Plugin *> plugins; // common parameters double jet_radius = 0.7; //double jet_radius = 1.0; double overlap_threshold = 0.5; // set up a pxcone jet definition (if wanted -- requires f77, and you // should compile the pxcone plugin (not there by default)) #ifdef ENABLE_PLUGIN_PXCONE double min_jet_energy = 5.0; bool E_scheme_jets = false; plugins.push_back( new fastjet::PxConePlugin (jet_radius, min_jet_energy, overlap_threshold, E_scheme_jets)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_PXCONE // set up a CDF midpoint jet definition #ifdef ENABLE_PLUGIN_CDFCONES double seed_threshold = 1.0; double cone_area_fraction = 1.0; int max_pair_size = 2; int max_iterations = 100; plugins.push_back(new fastjet::CDFMidPointPlugin(seed_threshold, jet_radius, cone_area_fraction, max_pair_size, max_iterations, overlap_threshold)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // set up a siscone jet definition #ifdef ENABLE_PLUGIN_SISCONE int npass = 0; // do infinite number of passes double protojet_ptmin = 0.0; // use all protojets plugins.push_back(new fastjet::SISConePlugin (jet_radius, overlap_threshold, npass, protojet_ptmin)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // set up a d0runiicone jet definition #ifdef ENABLE_PLUGIN_D0RUNIICONE double min_jet_Et = 6.0; // earlier D0 analyses used 8 GeV plugins.push_back(new fastjet::D0RunIIConePlugin (jet_radius, min_jet_Et, overlap_threshold)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_D0RUNIICONE // set up a trackjet #ifdef ENABLE_PLUGIN_TRACKJET plugins.push_back(new fastjet::TrackJetPlugin(jet_radius)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_TRACKJET // set up a atlascone #ifdef ENABLE_PLUGIN_ATLASCONE plugins.push_back(new fastjet::ATLASConePlugin(jet_radius)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_ATLASCONE // set up a eecambridge #ifdef ENABLE_PLUGIN_EECAMBRIDGE double ycut = 0.08; plugins.push_back(new fastjet::EECambridgePlugin(ycut)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_EECAMBRIDGE // set up a jade #ifdef ENABLE_PLUGIN_JADE plugins.push_back(new fastjet::JadePlugin()); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_JADE // set up a cmsiterativecone #ifdef ENABLE_PLUGIN_CMSITERATIVECONE double cms_seed_threshold = 1.0; plugins.push_back(new fastjet::CMSIterativeConePlugin(jet_radius, cms_seed_threshold)); jet_defs.push_back(fastjet::JetDefinition(plugins.back())); #endif // ENABLE_PLUGIN_CMSITERATIVECONE // end of the plugins instantiation (don't modify this line) // set up kt and cam/aachen definitions jet_defs.push_back(fastjet::JetDefinition(fastjet::kt_algorithm, jet_radius)); jet_defs.push_back(fastjet::JetDefinition(fastjet::cambridge_algorithm, jet_radius)); jet_defs.push_back(fastjet::JetDefinition(fastjet::antikt_algorithm, jet_radius)); // call the example jet-finding routine with each of jet definitions for (vector<fastjet::JetDefinition>::const_iterator jd_it = jet_defs.begin(); jd_it != jet_defs.end(); jd_it++) { run_jet_finder(input_particles, *jd_it); } // clean up plugin memory. for (vector<fastjet::JetDefinition>::const_iterator jd_it = jet_defs.begin(); jd_it != jet_defs.end(); jd_it++) { if (jd_it->plugin() != NULL) delete jd_it->plugin(); } }