|
|
Go to the documentation of this file.
8 #define int_param(varname) m_##varname(ps.getParameter<int>(#varname))
10 #define check_param(varname) \
11 if ((m_##varname) >= 0) { \
12 if ((m_##varname) >= nFactors) \
13 throw cms::Exception("FFTJetBadConfig") \
14 << "In FFTGenericScaleCalculator constructor: " \
15 << "out of range mapping for variable \"" << #varname << "\"" << std::endl; \
16 mask[(m_##varname)] = 1; \
20 static inline double delPhi(
const double phi1,
const double phi2) {
21 double dphi = phi1 - phi2;
24 else if (dphi < -
M_PI)
30 : m_factors(ps.getParameter<
std::
vector<double> >(
"factors")),
31 m_minLog(ps.getUntrackedParameter<double>(
"minLog", -800.0)),
104 std::vector<int> mask(nFactors, 0);
181 <<
"In FFTGenericScaleCalculator constructor: "
182 <<
"incompatible number of scaling factors: expected " << dim <<
", got " << nFactors << std::endl;
183 for (
int i = 0;
i < nFactors; ++
i)
185 throw cms::Exception(
"FFTJetBadConfig") <<
"In FFTGenericScaleCalculator constructor: "
186 <<
"variable number " <<
i <<
" is not mapped" << std::endl;
193 const unsigned dim)
const {
197 <<
"In FFTGenericScaleCalculator::mapFFTJet: "
198 <<
"incompatible table dimensionality: expected " <<
m_factors.size() <<
", got " << dim << std::endl;
231 const double m = current.M();
239 const double m = current.M();
349 const double deta = preclus.
eta() - current.eta();
350 const double dphi =
delPhi(preclus.
phi(), current.phi());
407 const reco::PFJet* pfjet = dynamic_cast<const reco::PFJet*>(&
jet);
478 throw cms::Exception(
"FFTJetBadConfig") <<
"In FFTGenericScaleCalculator::mapFFTJet: "
479 <<
"this configuration is valid for particle flow jets only" << std::endl;
483 for (
unsigned i = 0;
i < dim; ++
i)
Real clusterSeparation() const
int HFEMMultiplicity() const
HFEMMultiplicity.
void mapFFTJet(const reco::Jet &jet, const reco::FFTJet< float > &fftJet, const math::XYZTLorentzVector ¤t, double *buf, unsigned dim) const override
Base class for all types of Jets.
int m_electronEnergyFraction
int neutralHadronMultiplicity() const
neutralHadronMultiplicity
int m_chargedEmEnergyFraction
int m_electronMultiplicity
int m_HFHadronMultiplicity
int m_chargedHadronEnergyFraction
int m_neutralEmEnergyFraction
double f_safeLog(const double x) const
int m_chargedMuEnergyFraction
float photonEnergyFraction() const
photonEnergyFraction
int m_neutralHadronEnergyFraction
int m_neutralMultiplicity
#define check_param(varname)
float muonEnergyFraction() const
muonEnergyFraction
Real f_etaPhiCorr() const
int m_neutralHadronMultiplicity
Real f_recoScaleRatio() const
int m_chargedMultiplicity
float chargedHadronEnergyFraction() const
chargedHadronEnergyFraction
float electronEnergyFraction() const
electronEnergyFraction
Real nearestNeighborDistance() const
int m_logAveConstituentPt
float chargedEmEnergyFraction() const
chargedEmEnergyFraction
float HFHadronEnergyFraction() const
HFHadronEnergyFraction.
int chargedMultiplicity() const
chargedMultiplicity
int chargedHadronMultiplicity() const
chargedHadronMultiplicity
Real f_membershipFactor() const
Real f_convergenceDistance() const
int m_constituentPtDistribution
static double delPhi(const double phi1, const double phi2)
float neutralHadronEnergyFraction() const
neutralHadronEnergyFraction
int m_photonEnergyFraction
int m_HFHadronEnergyFraction
const PattRecoPeak< Real > & f_precluster() const
int electronMultiplicity() const
electronMultiplicity
int m_nearestNeighborDistance
int photonMultiplicity() const
photonMultiplicity
int m_chargedHadronMultiplicity
FFTGenericScaleCalculator(const edm::ParameterSet &ps)
float chargedMuEnergyFraction() const
chargedMuEnergyFraction
float neutralEmEnergyFraction() const
neutralEmEnergyFraction
int muonMultiplicity() const
muonMultiplicity
int HFHadronMultiplicity() const
HFHadronMultiplicity.
int m_constituentEtaPhiSpread
float HFEMEnergyFraction() const
HFEMEnergyFraction.
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
int neutralMultiplicity() const
neutralMultiplicity
std::vector< double > m_factors
Jets made from PFObjects.
Power< A, B >::type pow(const A &a, const B &b)
int m_convergenceDistance
#define int_param(varname)
const math::XYZTLorentzVector & f_pileup() const
Real clusterRadius() const
void hessian(double hessianArray[3]) const