1 |
// Njettiness Package
|
2 |
// Version 0.4.1 (January 22, 2012)
|
3 |
// Questions/Comments? jthaler@jthaler.net
|
4 |
|
5 |
// Copyright (c) 2011-12, Jesse Thaler, Ken Van Tilburg, and Christopher K.
|
6 |
// Vermilion
|
7 |
//
|
8 |
//----------------------------------------------------------------------
|
9 |
// This file is part of the N-jettiness package ("N-jettiness").
|
10 |
//
|
11 |
// This file has been modified to run with the SFrame analysis.
|
12 |
// It's original version comes from SpartyJet.
|
13 |
//----------------------------------------------------------------------
|
14 |
|
15 |
|
16 |
#ifndef __NSUBJETTINESS_HH__
|
17 |
#define __NSUBJETTINESS_HH__
|
18 |
|
19 |
#include "Njettiness.h"
|
20 |
|
21 |
#include "fastjet/FunctionOfPseudoJet.hh"
|
22 |
|
23 |
#include <string>
|
24 |
#include <climits>
|
25 |
|
26 |
#ifndef G__DICTIONARY
|
27 |
typedef double Double32_t; // ROOT will store as 32-bit, but in code is double
|
28 |
#endif
|
29 |
|
30 |
|
31 |
FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
|
32 |
|
33 |
/// Nsubjettiness extends the concept of Njettiness to a jet shape, but other
|
34 |
/// than the set of particles considered, they are identical. This class
|
35 |
/// wraps the core Njettiness code to provide the fastjet::FunctionOfPseudoJet
|
36 |
/// interface for convenience in larger analyses. See NjettinessPlugin.hh for
|
37 |
/// definitions of tau_N and the constructor options.
|
38 |
|
39 |
class Nsubjettiness : public FunctionOfPseudoJet<Double32_t> {
|
40 |
public:
|
41 |
|
42 |
Nsubjettiness(int N, Njettiness::AxesMode mode, double beta, double R0, double Rcutoff=std::numeric_limits<double>::max());
|
43 |
|
44 |
/// returns tau_N, measured on the constituents of this jet
|
45 |
Double32_t result(const PseudoJet& jet) const;
|
46 |
|
47 |
Double32_t result(const std::vector<fastjet::PseudoJet> particles) const;
|
48 |
|
49 |
private:
|
50 |
|
51 |
int _N;
|
52 |
mutable Njettiness _njettinessFinder; // should muck with this so result can be const without this mutable
|
53 |
|
54 |
};
|
55 |
|
56 |
FASTJET_END_NAMESPACE // defined in fastjet/internal/base.hh
|
57 |
|
58 |
#endif // __NSUBJETTINESS_HH__
|