CMS 3D CMS Logo

CompoundPseudoJet.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetAlgorithms_CompoundPseudoJet_h
2 #define RecoJets_JetAlgorithms_CompoundPseudoJet_h
3 
4 // -*- C++ -*-
6 //
7 // Package: CompoundPseudoJet
8 // Class: CompoundPseudoJet
9 //
14 //-------------------------------------------------------------------------------------
19 //-------------------------------------------------------------------------------------
20 //
21 // Original Author: Salvatore Rappoccio
22 // Created: Wed Nov 28 15:31:57 CST 2007
23 //
24 //-------------------------------------------------------------------------------------
25 
26 #include <fastjet/JetDefinition.hh>
27 #include <fastjet/PseudoJet.hh>
28 
29 #include <vector>
30 #include <algorithm>
31 
33 public:
35  CompoundPseudoSubJet(fastjet::PseudoJet const& subjet, std::vector<int> const& constituents)
37  copy(constituents.begin(), constituents.end(), constituents_.begin());
38  }
39  CompoundPseudoSubJet(fastjet::PseudoJet const& subjet, double subjetArea, std::vector<int> const& constituents)
41  copy(constituents.begin(), constituents.end(), constituents_.begin());
42  }
43 
45 
46  fastjet::PseudoJet const& subjet() const { return subjet_; }
47  double subjetArea() const { return subjetArea_; }
48  std::vector<int> const& constituents() const { return constituents_; }
49 
50 protected:
51  fastjet::PseudoJet subjet_;
52  double subjetArea_;
53  std::vector<int> constituents_;
54 };
55 
57 public:
59  CompoundPseudoJet(fastjet::PseudoJet const& hardJet, std::vector<CompoundPseudoSubJet> const& subjets)
61  copy(subjets.begin(), subjets.end(), subjets_.begin());
62  }
63  CompoundPseudoJet(fastjet::PseudoJet const& hardJet,
64  double hardJetArea,
65  std::vector<CompoundPseudoSubJet> const& subjets)
67  copy(subjets.begin(), subjets.end(), subjets_.begin());
68  }
69 
71 
72  fastjet::PseudoJet const& hardJet() const { return hardJet_; }
73  double hardJetArea() const { return hardJetArea_; }
74  std::vector<CompoundPseudoSubJet> const& subjets() const { return subjets_; }
75 
76 protected:
77  fastjet::PseudoJet hardJet_;
78  double hardJetArea_;
79  std::vector<CompoundPseudoSubJet> subjets_;
80 };
81 
82 inline bool greaterByEtPseudoJet(fastjet::PseudoJet const& j1, fastjet::PseudoJet const& j2) {
83  return j1.perp() > j2.perp();
84 }
85 
86 #endif
size
Write out results.
fastjet::PseudoJet hardJet_
std::vector< CompoundPseudoSubJet > const & subjets() const
bool greaterByEtPseudoJet(fastjet::PseudoJet const &j1, fastjet::PseudoJet const &j2)
double hardJetArea() const
fastjet::PseudoJet subjet_
CompoundPseudoJet(fastjet::PseudoJet const &hardJet, std::vector< CompoundPseudoSubJet > const &subjets)
CompoundPseudoJet holds an association of fastjet::PseudoJets that represent a "hard" top jet with su...
fastjet::PseudoJet const & hardJet() const
double subjetArea() const
CompoundPseudoSubJet(fastjet::PseudoJet const &subjet, std::vector< int > const &constituents)
CompoundPseudoSubJet(fastjet::PseudoJet const &subjet, double subjetArea, std::vector< int > const &constituents)
std::vector< CompoundPseudoSubJet > subjets_
std::vector< int > const & constituents() const
CompoundPseudoJet(fastjet::PseudoJet const &hardJet, double hardJetArea, std::vector< CompoundPseudoSubJet > const &subjets)
std::vector< int > constituents_
fastjet::PseudoJet const & subjet() const