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.2 2011/03/24 17:02:39 schiefer 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  subjetArea_(0.0),
45  constituents_(constituents.size() )
46  {
47  copy( constituents.begin(), constituents.end(), constituents_.begin() );
48  }
49  CompoundPseudoSubJet(fastjet::PseudoJet const & subjet,
50  double subjetArea,
51  std::vector<int> const & constituents ) :
52  subjet_(subjet),
53  subjetArea_(subjetArea),
54  constituents_(constituents.size() )
55  {
56  copy( constituents.begin(), constituents.end(), constituents_.begin() );
57  }
58 
60 
61  fastjet::PseudoJet const & subjet() const { return subjet_; }
62  double subjetArea() const { return subjetArea_; }
63  std::vector<int> const & constituents() const { return constituents_; }
64 
65 protected:
66  fastjet::PseudoJet subjet_;
67  double subjetArea_;
68  std::vector<int> constituents_;
69 };
70 
72 
73 public:
75  CompoundPseudoJet(fastjet::PseudoJet const & hardJet,
76  std::vector<CompoundPseudoSubJet> const & subjets ) :
77  hardJet_(hardJet),
78  hardJetArea_(0.0),
79  subjets_(subjets.size())
80  {
81  copy( subjets.begin(), subjets.end(), subjets_.begin() );
82  }
83  CompoundPseudoJet(fastjet::PseudoJet const & hardJet,
84  double hardJetArea,
85  std::vector<CompoundPseudoSubJet> const & subjets ) :
86  hardJet_(hardJet),
87  hardJetArea_(hardJetArea),
88  subjets_(subjets.size())
89  {
90  copy( subjets.begin(), subjets.end(), subjets_.begin() );
91  }
92 
94 
95  fastjet::PseudoJet const & hardJet() const {return hardJet_;}
96  double hardJetArea() const {return hardJetArea_;}
97  std::vector<CompoundPseudoSubJet>const& subjets() const {return subjets_; }
98 
99 
100 protected:
101  fastjet::PseudoJet hardJet_;
102  double hardJetArea_;
103  std::vector<CompoundPseudoSubJet> subjets_;
104 };
105 
106 
107 
109  public std::binary_function<fastjet::PseudoJet const &, fastjet::PseudoJet const &, bool> {
110 
111 public:
112  bool operator()( fastjet::PseudoJet const & j1, fastjet::PseudoJet const & j2 ) {
113  return j1.perp() > j2.perp();
114  }
115 };
116 
117 #endif
fastjet::PseudoJet hardJet_
double subjetArea() const
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)
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_
tuple size
Write out results.
bool operator()(fastjet::PseudoJet const &j1, fastjet::PseudoJet const &j2)
double hardJetArea() const