CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SubJetAlgorithm.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
2 #define RecoJets_JetAlgorithms_CATopJetAlgorithm2_h
3 
4 #include <vector>
5 
8 #include "RecoJets/JetAlgorithms/interface/FastPrunePlugin.hh"
9 #include <fastjet/JetDefinition.hh>
10 #include <fastjet/PseudoJet.hh>
11 #include <fastjet/ClusterSequence.hh>
12 #include <fastjet/GhostedAreaSpec.hh>
13 
15 public:
17  unsigned int subjets,
18  double zcut,
19  double rcut_factor,
20  std::shared_ptr<fastjet::JetDefinition> fjJetDefinition,
21  bool doAreaFastjet,
22  std::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea,
23  double voronoiRfact)
24  : ptMin_(ptMin),
25  nSubjets_(subjets),
26  zcut_(zcut),
27  rcut_factor_(rcut_factor),
28  fjJetDefinition_(fjJetDefinition),
29  doAreaFastjet_(doAreaFastjet),
30  fjActiveArea_(fjActiveArea),
31  voronoiRfact_(voronoiRfact) {}
32 
33  void set_zcut(double z);
34  void set_rcut_factor(double r);
35  double zcut() const { return zcut_; }
36  double rcut_factor() const { return rcut_factor_; }
37 
39  void run(const std::vector<fastjet::PseudoJet>& cell_particles, std::vector<CompoundPseudoJet>& hardjetsOutput);
40 
41 private:
42  double ptMin_; //<! lower pt cut on which jets to reco
43  int nSubjets_; //<! number of subjets to produce.
44  double zcut_; //<! zcut parameter (see arXiv:0903.5081). Only relevant if pruning is enabled.
45  double rcut_factor_; //<! r-cut factor (see arXiv:0903.5081).
46  std::shared_ptr<fastjet::JetDefinition> fjJetDefinition_; //<! jet definition to use
47  bool doAreaFastjet_; //<! whether or not to use the fastjet area
48  std::shared_ptr<fastjet::GhostedAreaSpec> fjActiveArea_; //<! fastjet area spec
49  double voronoiRfact_; //<! fastjet voronoi area R factor
50 };
51 
52 #endif
constexpr float ptMin
tuple voronoiRfact
double zcut() const
void set_rcut_factor(double r)
void set_zcut(double z)
std::shared_ptr< fastjet::GhostedAreaSpec > fjActiveArea_
tuple doAreaFastjet
SubJetAlgorithm(double ptMin, unsigned int subjets, double zcut, double rcut_factor, std::shared_ptr< fastjet::JetDefinition > fjJetDefinition, bool doAreaFastjet, std::shared_ptr< fastjet::GhostedAreaSpec > fjActiveArea, double voronoiRfact)
void run(const std::vector< fastjet::PseudoJet > &cell_particles, std::vector< CompoundPseudoJet > &hardjetsOutput)
Find the ProtoJets from the collection of input Candidates.
std::shared_ptr< fastjet::JetDefinition > fjJetDefinition_
double rcut_factor() const