CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CompoundPseudoJet.h
Go to the documentation of this file.
1 #ifndef RecoJets_JetAlgorithms_CompoundPseudoJet_h
2 #define RecoJets_JetAlgorithms_CompoundPseudoJet_h
3 
4 
5 
6 // -*- C++ -*-
8 //
9 // Package: CompoundPseudoJet
10 // Class: CompoundPseudoJet
11 //
16 //-------------------------------------------------------------------------------------
21 //-------------------------------------------------------------------------------------
22 //
23 // Original Author: Salvatore Rappoccio
24 // Created: Wed Nov 28 15:31:57 CST 2007
25 // $Id: CompoundPseudoJet.h,v 1.1 2008/10/07 20:44:27 srappocc Exp $
26 //
27 //-------------------------------------------------------------------------------------
28 
29 
30 
31 
32 #include <fastjet/JetDefinition.hh>
33 #include <fastjet/PseudoJet.hh>
34 
35 #include <vector>
36 #include <algorithm>
37 
39  public:
41  CompoundPseudoSubJet( fastjet::PseudoJet const & subjet,
42  std::vector<int> const & constituents ) :
43  subjet_(subjet),
44  constituents_(constituents.size() )
45  {
46  copy( constituents.begin(), constituents.end(), constituents_.begin() );
47  }
48 
50 
51  fastjet::PseudoJet const & subjet() const { return subjet_; }
52  std::vector<int> const & constituents() const { return constituents_; }
53 
54  protected:
55  fastjet::PseudoJet subjet_;
56  std::vector<int> constituents_;
57 };
58 
60 
61  public:
63  CompoundPseudoJet(fastjet::PseudoJet const & hardJet,
64  std::vector<CompoundPseudoSubJet> const & subjets ) :
65  hardJet_(hardJet),
66  subjets_(subjets.size())
67  {
68  copy( subjets.begin(), subjets.end(), subjets_.begin() );
69  }
70 
72 
73  fastjet::PseudoJet const & hardJet() const { return hardJet_; }
74  std::vector<CompoundPseudoSubJet> const & subjets() const { return subjets_; }
75 
76 
77  protected:
78  fastjet::PseudoJet hardJet_;
79  std::vector<CompoundPseudoSubJet> subjets_;
80 };
81 
82 
83 
85  public std::binary_function<fastjet::PseudoJet const &, fastjet::PseudoJet const &, bool> {
86 
87 public:
88  bool operator()( fastjet::PseudoJet const & j1, fastjet::PseudoJet const & j2 ) {
89  return j1.perp() > j2.perp();
90  }
91 };
92 
93 #endif
fastjet::PseudoJet hardJet_
fastjet::PseudoJet const & subjet() const
std::vector< CompoundPseudoSubJet > const & subjets() const
fastjet::PseudoJet subjet_
fastjet::PseudoJet const & hardJet() const
CompoundPseudoJet(fastjet::PseudoJet const &hardJet, std::vector< CompoundPseudoSubJet > const &subjets)
CompoundPseudoJet holds an association of fastjet::PseudoJets that represent a &quot;hard&quot; top jet with su...
CompoundPseudoSubJet(fastjet::PseudoJet const &subjet, std::vector< int > const &constituents)
std::vector< CompoundPseudoSubJet > subjets_
std::vector< int > const & constituents() const
std::vector< int > constituents_
tuple size
Write out results.
bool operator()(fastjet::PseudoJet const &j1, fastjet::PseudoJet const &j2)