Page MenuHomeHEPForge

Nsubjettiness.hh
No OneTemporary

Nsubjettiness.hh

// Nsubjettiness Package
// Questions/Comments? jthaler@jthaler.net
//
// Copyright (c) 2011-13
// Jesse Thaler, Ken Van Tilburg, and Christopher K. Vermilion
//
//----------------------------------------------------------------------
// This file is part of FastJet contrib.
//
// It is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2 of the License, or (at
// your option) any later version.
//
// It is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
// License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this code. If not, see <http://www.gnu.org/licenses/>.
//----------------------------------------------------------------------
#ifndef __FASTJET_CONTRIB_NSUBJETTINESS_HH__
#define __FASTJET_CONTRIB_NSUBJETTINESS_HH__
#include <fastjet/internal/base.hh>
#include "Njettiness.hh"
#include "fastjet/FunctionOfPseudoJet.hh"
#include <string>
#include <climits>
#ifndef G__DICTIONARY
typedef double Double32_t; // ROOT will store as 32-bit, but in code is double
#endif
FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh
namespace contrib {
//------------------------------------------------------------------------
/// \class Nsubjettiness
/// Nsubjettiness extends the concept of Njettiness to a jet shape, but other
/// than the set of particles considered, they are identical. This class
/// wraps the core Njettiness code to provide the fastjet::FunctionOfPseudoJet
/// interface for convenience in larger analyses. See NjettinessPlugin.hh for
/// definitions of tau_N and the constructor options.
class Nsubjettiness : public FunctionOfPseudoJet<Double32_t> {
public:
Nsubjettiness(int N, Njettiness::AxesMode mode, double beta, double R0, double Rcutoff=std::numeric_limits<double>::max());
/// returns tau_N, measured on the constituents of this jet
Double32_t result(const PseudoJet& jet) const;
private:
int _N;
mutable Njettiness _njettinessFinder; // should muck with this so result can be const without this mutable
};
inline Nsubjettiness::Nsubjettiness(int N, Njettiness::AxesMode mode, double beta, double R0, double Rcutoff)
: _N(N), _njettinessFinder(mode, NsubParameters(beta, R0, Rcutoff))
{}
inline Double32_t Nsubjettiness::result(const PseudoJet& jet) const
{
std::vector<fastjet::PseudoJet> particles = jet.constituents();
return _njettinessFinder.getTau(_N, particles);
}
} // namespace contrib
FASTJET_END_NAMESPACE
#endif // __FASTJET_CONTRIB_NSUBJETTINESS_HH__

File Metadata

Mime Type
text/x-c++
Expires
Sat, May 3, 6:25 AM (1 d, 17 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4950969
Default Alt Text
Nsubjettiness.hh (2 KB)

Event Timeline