CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
fftjetcms::JetConvergenceDistance Class Reference

#include <JetConvergenceDistance.h>

Inheritance diagram for fftjetcms::JetConvergenceDistance:

Public Member Functions

 JetConvergenceDistance (double etaToPhiBandwidthRatio, double relativePtBandwidth)
 
 JetConvergenceDistance ()=delete
 
double operator() (const fftjet::RecombinedJet< VectorLike > &jet1, const fftjet::RecombinedJet< VectorLike > &jet2) const override
 

Private Attributes

double etaBw_
 
double phiBw_
 
double ptBw_
 

Detailed Description

Definition at line 10 of file JetConvergenceDistance.h.

Constructor & Destructor Documentation

fftjetcms::JetConvergenceDistance::JetConvergenceDistance ( double  etaToPhiBandwidthRatio,
double  relativePtBandwidth 
)

Definition at line 7 of file JetConvergenceDistance.cc.

References cms::cuda::assert().

8  : etaBw_(sqrt(etaToPhiBandwidthRatio)), phiBw_(1.0 / etaBw_), ptBw_(relativePtBandwidth) {
9  assert(etaToPhiBandwidthRatio > 0.0);
10  assert(relativePtBandwidth > 0.0);
11  }
assert(be >=bs)
T sqrt(T t)
Definition: SSEVec.h:19
fftjetcms::JetConvergenceDistance::JetConvergenceDistance ( )
delete

Member Function Documentation

double fftjetcms::JetConvergenceDistance::operator() ( const fftjet::RecombinedJet< VectorLike > &  jet1,
const fftjet::RecombinedJet< VectorLike > &  jet2 
) const
override

Definition at line 13 of file JetConvergenceDistance.cc.

References etaBw_, M_PI, mag2(), phiBw_, ptBw_, and mathSSE::sqrt().

14  {
15  const double deta = (j1.vec().Eta() - j2.vec().Eta()) / etaBw_;
16  double dphi = j1.vec().Phi() - j2.vec().Phi();
17  if (dphi > M_PI)
18  dphi -= (2.0 * M_PI);
19  else if (dphi < -M_PI)
20  dphi += (2.0 * M_PI);
21  dphi /= phiBw_;
22  const double mag1 = j1.magnitude();
23  const double mag2 = j2.magnitude();
24  double dmag = 0.0;
25  if (mag1 > 0.0 || mag2 > 0.0)
26  dmag = 2.0 * (mag1 - mag2) / (mag1 + mag2) / ptBw_;
27  return sqrt(deta * deta + dphi * dphi + dmag * dmag);
28  }
T sqrt(T t)
Definition: SSEVec.h:19
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
#define M_PI

Member Data Documentation

double fftjetcms::JetConvergenceDistance::etaBw_
private

Definition at line 20 of file JetConvergenceDistance.h.

Referenced by operator()().

double fftjetcms::JetConvergenceDistance::phiBw_
private

Definition at line 21 of file JetConvergenceDistance.h.

Referenced by operator()().

double fftjetcms::JetConvergenceDistance::ptBw_
private

Definition at line 22 of file JetConvergenceDistance.h.

Referenced by operator()().