ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/NtupleWriter/interface/Qjets.h
Revision: 1.1
Committed: Wed Jun 19 13:24:47 2013 UTC (11 years, 10 months ago) by rkogler
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
added substructure information and jet constituents

File Contents

# Content
1 #ifndef _QJETS_
2 #define _QJETS_
3 #include <queue>
4 #include <vector>
5 #include <list>
6 #include <algorithm>
7 #include "fastjet/JetDefinition.hh"
8 #include "fastjet/PseudoJet.hh"
9 #include "fastjet/ClusterSequence.hh"
10
11 using namespace std;
12
13 struct jet_distance{
14 double dij;
15 int j1;
16 int j2;
17 };
18
19 class JetDistanceCompare{
20 public:
21 JetDistanceCompare(){};
22 bool operator() (const jet_distance& lhs, const jet_distance&rhs) const;
23 };
24
25 class Qjets{
26 private:
27 bool _rand_seed_set;
28 unsigned int _seed;
29 double _zcut, _dcut, _dcut_fctr, _exp_min, _exp_max, _rigidity;
30 vector <int> _merged_jets;
31 list <jet_distance> _distances;
32
33 double d_ij(const fastjet::PseudoJet& v1, const fastjet::PseudoJet& v2);
34 void ComputeDCut(fastjet::ClusterSequence & cs);
35
36 double Rand();
37 bool Prune(jet_distance& jd,fastjet::ClusterSequence & cs);
38 bool JetsUnmerged(jet_distance& jd);
39 bool JetUnmerged(int num);
40 void ComputeNewDistanceMeasures(fastjet::ClusterSequence & cs, int new_jet);
41 void ComputeAllDistances(const vector<fastjet::PseudoJet>& inp);
42 double ComputeMinimumDistance();
43 double ComputeNormalization(double dmin);
44 public:
45 Qjets(double zcut, double dcut_fctr, double exp_min, double exp_max, double rigidity);
46 void Cluster(fastjet::ClusterSequence & cs);
47 void SetRandSeed(unsigned int seed); /* In case you want reproducible behavior */
48 };
49 #endif