Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:25:25

0001 #ifndef RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
0002 #define RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
0003 
0004 #include <vector>
0005 
0006 #include "RecoJets/JetAlgorithms/interface/CompoundPseudoJet.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "RecoJets/JetAlgorithms/interface/FastPrunePlugin.hh"
0009 #include <fastjet/JetDefinition.hh>
0010 #include <fastjet/PseudoJet.hh>
0011 #include <fastjet/ClusterSequence.hh>
0012 #include <fastjet/GhostedAreaSpec.hh>
0013 
0014 class SubJetAlgorithm {
0015 public:
0016   SubJetAlgorithm(double ptMin,
0017                   unsigned int subjets,
0018                   double zcut,
0019                   double rcut_factor,
0020                   std::shared_ptr<fastjet::JetDefinition> fjJetDefinition,
0021                   bool doAreaFastjet,
0022                   std::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea,
0023                   double voronoiRfact)
0024       : ptMin_(ptMin),
0025         nSubjets_(subjets),
0026         zcut_(zcut),
0027         rcut_factor_(rcut_factor),
0028         fjJetDefinition_(fjJetDefinition),
0029         doAreaFastjet_(doAreaFastjet),
0030         fjActiveArea_(fjActiveArea),
0031         voronoiRfact_(voronoiRfact) {}
0032 
0033   void set_zcut(double z);
0034   void set_rcut_factor(double r);
0035   double zcut() const { return zcut_; }
0036   double rcut_factor() const { return rcut_factor_; }
0037 
0038   /// Find the ProtoJets from the collection of input Candidates.
0039   void run(const std::vector<fastjet::PseudoJet>& cell_particles, std::vector<CompoundPseudoJet>& hardjetsOutput);
0040 
0041 private:
0042   double ptMin_;        //<! lower pt cut on which jets to reco
0043   int nSubjets_;        //<! number of subjets to produce.
0044   double zcut_;         //<! zcut parameter (see arXiv:0903.5081). Only relevant if pruning is enabled.
0045   double rcut_factor_;  //<! r-cut factor (see arXiv:0903.5081).
0046   std::shared_ptr<fastjet::JetDefinition> fjJetDefinition_;  //<! jet definition to use
0047   bool doAreaFastjet_;                                       //<! whether or not to use the fastjet area
0048   std::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea_;   //<! fastjet area spec
0049   double voronoiRfact_;                                      //<! fastjet voronoi area R factor
0050 };
0051 
0052 #endif