Go to the documentation of this file.00001 #ifndef RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
00002 #define RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
00003
00004 #include <vector>
00005
00006 #include "RecoJets/JetAlgorithms/interface/CompoundPseudoJet.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "RecoJets/JetAlgorithms/interface/FastPrunePlugin.hh"
00009 #include <fastjet/JetDefinition.hh>
00010 #include <fastjet/PseudoJet.hh>
00011 #include <fastjet/ClusterSequence.hh>
00012 #include <fastjet/GhostedAreaSpec.hh>
00013
00014
00015 class SubJetAlgorithm{
00016 public:
00017 SubJetAlgorithm( double ptMin,
00018 unsigned int subjets,
00019 double zcut,
00020 double rcut_factor,
00021 boost::shared_ptr<fastjet::JetDefinition> fjJetDefinition,
00022 bool doAreaFastjet,
00023 boost::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea,
00024 double voronoiRfact
00025 ) :
00026 ptMin_ (ptMin ),
00027 nSubjets_ (subjets ),
00028 zcut_ (zcut ),
00029 rcut_factor_ (rcut_factor ),
00030 fjJetDefinition_(fjJetDefinition),
00031 doAreaFastjet_ (doAreaFastjet),
00032 fjActiveArea_ (fjActiveArea),
00033 voronoiRfact_ (voronoiRfact)
00034 {
00035
00036 }
00037
00038 void set_zcut(double z);
00039 void set_rcut_factor(double r);
00040 double zcut() const { return zcut_;}
00041 double rcut_factor() const { return rcut_factor_; }
00042
00044 void run( const std::vector<fastjet::PseudoJet> & cell_particles,
00045 std::vector<CompoundPseudoJet> & hardjetsOutput);
00046
00047
00048 private:
00049
00050 double ptMin_;
00051 int nSubjets_;
00052 double zcut_;
00053 double rcut_factor_;
00054 boost::shared_ptr<fastjet::JetDefinition> fjJetDefinition_;
00055 bool doAreaFastjet_;
00056 boost::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea_;
00057 double voronoiRfact_;
00058 };
00059
00060 #endif