CMS 3D CMS Logo

KtJetAlgorithmWrapper.cc

Go to the documentation of this file.
00001 // File: KtJetAlgorithmWrapper.cc
00002 // Description:  see FastJetProducer.h
00003 // Author:  Andreas Oehler, University Karlsruhe (TH)
00004 // Author:  Dorian Kcira, Institut de Physique Nucleaire,
00005 //          Departement de Physique, Universite Catholique de Louvain
00006 // Creation Date:  Nov. 06 2006 Initial version.
00007 // Redesigned by F.Ratnikov  (UMd) Aug. 1, 2007
00008 //--------------------------------------------
00009 
00010 #include <string>
00011 
00012 #include "fastjet/JetDefinition.hh"
00013 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015 
00016 #include "RecoJets/JetAlgorithms/interface/KtJetAlgorithmWrapper.h"
00017 
00018 KtJetAlgorithmWrapper::KtJetAlgorithmWrapper(const edm::ParameterSet& fConfig)
00019   : FastJetBaseWrapper (fConfig)
00020 {
00021   //configuring algorithm 
00022   double rParam = fConfig.getParameter<double> ("FJ_ktRParam");
00023   //choosing search-strategy:
00024   fastjet::Strategy fjStrategy = fastjet::plugin_strategy;
00025   std::string strategy = fConfig.getParameter<std::string>("Strategy");
00026   if (strategy == "Best") fjStrategy = fastjet::Best; // Chooses best Strategy for every event, depending on N and ktRParam
00027   else if (strategy == "N2Plain") fjStrategy = fastjet::N2Plain;  // N2Plain is best for N<50
00028   else if (strategy == "N2Tiled") fjStrategy = fastjet::N2Tiled;  // N2Tiled is best for 50<N<400
00029   else if (strategy == "N2MinHeapTiled") fjStrategy = fastjet::N2MinHeapTiled;  // N2MinHeapTiles is best for 400<N<15000
00030   else if (strategy == "NlnN") fjStrategy = fastjet::NlnN;  // NlnN is best for N>15000
00031   else if (strategy == "NlnNCam") fjStrategy = fastjet::NlnNCam;  // NlnNCam is best for N>6000
00032   else  edm::LogError("FastJetDefinition") << "KtJetAlgorithmWrapper-> Unknown strategy: " 
00033                                            << strategy
00034                                            << ". Known strategies: Best N2Plain N2Tiled N2MinHeapTiled NlnN" << std::endl;
00035   //additional strategies are possible, but not documented in the manual as they are experimental,
00036   //they are also not used by the "Best" method. Note: "NlnNCam" only works with 
00037   //the cambridge_algorithm and does not link against CGAL, "NlnN" is only 
00038   //available if fastjet is linked against CGAL.
00039   //The above given numbers of N are for ktRaram=1.0, for other ktRParam the numbers would be 
00040   //different.
00041   
00042   mJetDefinition = new fastjet::JetDefinition (fastjet::kt_algorithm, rParam, fjStrategy);
00043 }
00044 
00045 KtJetAlgorithmWrapper::~KtJetAlgorithmWrapper () {}
00046 

Generated on Tue Jun 9 17:43:39 2009 for CMSSW by  doxygen 1.5.4