CMS 3D CMS Logo

Namespaces | Classes | Typedefs | Enumerations | Functions
fftjetcms Namespace Reference

Namespaces

 Private
 

Classes

struct  AbsPileupCalculator
 
class  CompositeFunctor
 
class  ConstDouble
 
struct  EnergyEtaP4Builder
 
class  EtaAndPtDependentPeakSelector
 
class  EtaAndPtLookupPeakSelector
 
class  EtaDependentPileup
 
class  FFTJetInterface
 
struct  JetAbsEta
 
class  JetConvergenceDistance
 
class  JetEtaDependent
 
class  JetToPeakDistance
 
class  LinInterpolatedTable1D
 
class  LookupTable2d
 
class  MagnitudeDependent
 
class  MultiplyByConst
 
struct  PeakAbsEta
 
class  PeakEtaDependent
 
class  PeakEtaMagSsqDependent
 
class  PileupGrid2d
 
class  Polynomial
 
class  ProductFunctor
 
class  ProportionalToScale
 
struct  PtEtaP4Builder
 

Typedefs

typedef fftjet::Functor2< double, double, BgDataAbsBgFunctor
 
typedef double BgData
 
typedef fftw_complex Complex
 
typedef fftjet::FFTWDoubleEngine MyFFTEngine
 
typedef double Real
 
typedef PtEtaP4Builder VBuilder
 
typedef math::XYZTLorentzVector VectorLike
 

Enumerations

enum  JetType {
  BASICJET = 0, GENJET, CALOJET, PFJET,
  TRACKJET, JPTJET
}
 

Functions

template<typename F1 , typename F2 >
void add_Grid2d_data (fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
 
math::XYZTLorentzVector adjustForPileup (const math::XYZTLorentzVector &jet, const math::XYZTLorentzVector &pileup, bool subtractPileupAs4Vec)
 
template<typename Numeric >
fftjet::Grid2d< double > * convert_Grid2d_to_double (const fftjet::Grid2d< Numeric > &grid)
 
template<typename Numeric >
fftjet::Grid2d< float > * convert_Grid2d_to_float (const fftjet::Grid2d< Numeric > &grid)
 
template<typename F1 , typename F2 >
void copy_Grid2d_data (fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
 
template<class Real >
void densePeakTreeFromStorable (const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &in, const std::vector< double > *scaleSetIfNotAdaptive, double completeEventScale, fftjet::AbsClusteringTree< fftjet::Peak, long > *out)
 
template<class Real >
void densePeakTreeToStorable (const fftjet::AbsClusteringTree< fftjet::Peak, long > &in, bool writeOutScaleInfo, reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > *out)
 
std::unique_ptr< AbsBgFunctorfftjet_BgFunctor_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::ClusteringTreeSparsifier< fftjet::Peak, long > > fftjet_ClusteringTreeSparsifier_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::AbsDistanceCalculator< fftjet::Peak > > fftjet_DistanceCalculator_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Functor1< double, double > > fftjet_Function_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Grid2d< Real > > fftjet_Grid2d_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Functor2< double, fftjet::RecombinedJet< VectorLike >, fftjet::RecombinedJet< VectorLike > > > fftjet_JetDistance_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Functor1< double, fftjet::RecombinedJet< VectorLike > > > fftjet_JetFunctor_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::JetMagnitudeMapper2d< fftjet::RecombinedJet< VectorLike > > > fftjet_JetMagnitudeMapper2d_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::LinearInterpolator1d > fftjet_LinearInterpolator1d_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::LinearInterpolator2d > fftjet_LinearInterpolator2d_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjetcms::LinInterpolatedTable1Dfftjet_LinInterpolatedTable1D_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::ScaleSpaceKernel > fftjet_MembershipFunction_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Functor1< double, fftjet::Peak > > fftjet_PeakFunctor_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::JetMagnitudeMapper2d< fftjet::Peak > > fftjet_PeakMagnitudeMapper2d_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< fftjet::Functor1< bool, fftjet::Peak > > fftjet_PeakSelector_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< AbsPileupCalculatorfftjet_PileupCalculator_parser (const edm::ParameterSet &ps)
 
std::unique_ptr< std::vector< double > > fftjet_ScaleSet_parser (const edm::ParameterSet &ps)
 
template<class Real >
fftjet::RecombinedJet< VectorLikejetFromStorable (const reco::FFTJet< Real > &jet)
 
template<class Real >
reco::FFTJet< RealjetToStorable (const fftjet::RecombinedJet< VectorLike > &jet)
 
template<class T1 , class T2 , class DistanceCalculator >
unsigned matchOneToOne (const std::vector< T1 > &v1, const std::vector< T2 > &v2, const DistanceCalculator &calc, std::vector< int > *matchFrom1To2, const double maxMatchingDistance=1.0e300)
 
JetType parseJetType (const std::string &name)
 
template<class Real >
void sparsePeakTreeFromStorable (const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &in, const std::vector< double > *scaleSetIfNotAdaptive, double completeEventScale, fftjet::SparseClusteringTree< fftjet::Peak, long > *out)
 
template<class Real >
void sparsePeakTreeToStorable (const fftjet::SparseClusteringTree< fftjet::Peak, long > &in, bool writeOutScaleInfo, reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > *out)
 

Typedef Documentation

◆ AbsBgFunctor

typedef fftjet::Functor2<double, double, BgData> fftjetcms::AbsBgFunctor

Definition at line 38 of file fftjetTypedefs.h.

◆ BgData

typedef double fftjetcms::BgData

Definition at line 34 of file fftjetTypedefs.h.

◆ Complex

typedef fftw_complex fftjetcms::Complex

Definition at line 22 of file fftjetTypedefs.h.

◆ MyFFTEngine

typedef fftjet::FFTWDoubleEngine fftjetcms::MyFFTEngine

Definition at line 23 of file fftjetTypedefs.h.

◆ Real

typedef double fftjetcms::Real

Definition at line 21 of file fftjetTypedefs.h.

◆ VBuilder

Definition at line 30 of file fftjetTypedefs.h.

◆ VectorLike

Definition at line 26 of file fftjetTypedefs.h.

Enumeration Type Documentation

◆ JetType

Enumerator
BASICJET 
GENJET 
CALOJET 
PFJET 
TRACKJET 
JPTJET 

Definition at line 7 of file JetType.h.

Function Documentation

◆ add_Grid2d_data()

template<typename F1 , typename F2 >
void fftjetcms::add_Grid2d_data ( fftjet::Grid2d< F2 > *  to,
const fftjet::Grid2d< F1 > &  from 
)

Definition at line 51 of file gridConverters.h.

51  {
52  assert(to);
53  assert(from.nEta() == to->nEta());
54  assert(from.nPhi() == to->nPhi());
55  const unsigned len = from.nEta() * from.nPhi();
56  const F1* fromData = from.data();
57  F2* toData = const_cast<F2*>(to->data());
58  for (unsigned i = 0; i < len; ++i)
59  toData[i] += fromData[i];
60  }

References cms::cuda::assert(), and mps_fire::i.

Referenced by FFTJetPileupProcessor::mixExtraGrid().

◆ adjustForPileup()

math::XYZTLorentzVector fftjetcms::adjustForPileup ( const math::XYZTLorentzVector jet,
const math::XYZTLorentzVector pileup,
bool  subtractPileupAs4Vec 
)

Definition at line 4 of file adjustForPileup.cc.

6  {
7  const double pt = jet.Pt();
8  if (pt > 0.0) {
9  const double pileupPt = pileup.Pt();
10  const double ptFactor = (pt - pileupPt) / pt;
11  if (ptFactor <= 0.0)
12  return math::XYZTLorentzVector();
13  else if (subtractPileupAs4Vec) {
14  const math::XYZTLorentzVector subtracted(jet - pileup);
15  const double e = subtracted.E();
16  if (e <= 0.0)
17  return math::XYZTLorentzVector();
18  else {
19  // Avoid negative jet masses
20  const double px = subtracted.Px();
21  const double py = subtracted.Py();
22  const double pz = subtracted.Pz();
23  if (e * e < px * px + py * py + pz * pz)
24  // It is not clear what is the best thing to do here.
25  // For now, revert to Pt scaling.
26  return jet * ptFactor;
27  else
28  return subtracted;
29  }
30  } else
31  return jet * ptFactor;
32  } else
33  return jet;
34  }

References MillePedeFileConverter_cfg::e, metsig::jet, mixOne_premix_on_sim_cfi::pileup, DiDispStaMuonMonitor_cfi::pt, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, and fftjetproducer_cfi::subtractPileupAs4Vec.

Referenced by FFTJetCorrectionProducer::performPileupSubtraction(), and FFTJetProducer::writeJets().

◆ convert_Grid2d_to_double()

template<typename Numeric >
fftjet::Grid2d< double > * fftjetcms::convert_Grid2d_to_double ( const fftjet::Grid2d< Numeric > &  grid)

Definition at line 71 of file gridConverters.h.

71  {
72  fftjet::Grid2d<double>* to = new fftjet::Grid2d<double>(
73  grid.nEta(), grid.etaMin(), grid.etaMax(), grid.nPhi(), grid.phiBin0Edge(), grid.title());
75  return to;
76  }

References copy_Grid2d_data(), and getRunAppsInfo::grid.

◆ convert_Grid2d_to_float()

template<typename Numeric >
fftjet::Grid2d< float > * fftjetcms::convert_Grid2d_to_float ( const fftjet::Grid2d< Numeric > &  grid)

Definition at line 63 of file gridConverters.h.

63  {
64  fftjet::Grid2d<float>* to = new fftjet::Grid2d<float>(
65  grid.nEta(), grid.etaMin(), grid.etaMax(), grid.nPhi(), grid.phiBin0Edge(), grid.title());
67  return to;
68  }

References copy_Grid2d_data(), and getRunAppsInfo::grid.

Referenced by FFTJetPatRecoProducer::produce().

◆ copy_Grid2d_data()

template<typename F1 , typename F2 >
void fftjetcms::copy_Grid2d_data ( fftjet::Grid2d< F2 > *  to,
const fftjet::Grid2d< F1 > &  from 
)

Definition at line 39 of file gridConverters.h.

39  {
40  assert(to);
41  assert(from.nEta() == to->nEta());
42  assert(from.nPhi() == to->nPhi());
43  const unsigned len = from.nEta() * from.nPhi();
44  const F1* fromData = from.data();
45  F2* toData = const_cast<F2*>(to->data());
46  for (unsigned i = 0; i < len; ++i)
47  toData[i] = fromData[i];
48  }

References cms::cuda::assert(), and mps_fire::i.

Referenced by convert_Grid2d_to_double(), convert_Grid2d_to_float(), and FFTJetPatRecoProducer::produce().

◆ densePeakTreeFromStorable()

template<class Real >
void fftjetcms::densePeakTreeFromStorable ( const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &  in,
const std::vector< double > *  scaleSetIfNotAdaptive,
double  completeEventScale,
fftjet::AbsClusteringTree< fftjet::Peak, long > *  out 
)

Definition at line 271 of file clusteringTreeConverters.h.

274  {
275  typedef fftjet::AbsClusteringTree<fftjet::Peak, long> DenseTree;
276  typedef reco::PattRecoPeak<Real> StoredPeak;
277  typedef reco::PattRecoNode<StoredPeak> StoredNode;
278  typedef reco::PattRecoTree<Real, StoredPeak> StoredTree;
279 
280  if (in.isSparse())
281  throw cms::Exception("FFTJetBadConfig") << "can't restore dense clustering tree"
282  << " from sparsely stored record" << std::endl;
283 
284  assert(out);
285  out->clear();
286 
287  const std::vector<StoredNode>& nodes(in.getNodes());
288  const unsigned n = nodes.size();
289  double hessian[3] = {0., 0., 0.};
290 
291  const std::vector<Real>& scales(in.getScales());
292  unsigned int scnum = 0;
293  std::vector<fftjet::Peak> clusters;
294  const unsigned scsize1 = scales.size();
295  unsigned scsize2 = scaleSetIfNotAdaptive ? scaleSetIfNotAdaptive->size() : 0;
296  if (scsize2 && completeEventScale)
297  ++scsize2;
298  const unsigned scsize = (scsize1 == 0 ? scsize2 : scsize1);
299 
300  if (scsize == 0)
301  throw cms::Exception("FFTJetBadConfig")
302  << " No scales passed to the function densePeakTreeFromStorable()" << std::endl;
303 
304  // to check whether the largest level equals the size of scale vector
305  const double* sc_not_ad = scsize2 ? &(*scaleSetIfNotAdaptive)[0] : nullptr;
306 
307  unsigned templevel = n ? nodes[0].originalLevel() : 1;
308  for (unsigned i = 0; i < n; ++i) {
309  const StoredNode& snode(nodes[i]);
310  const StoredPeak& p(snode.getCluster());
311  p.hessian(hessian);
312 
313  const unsigned levelNumber = snode.originalLevel();
314 
315  if (templevel != levelNumber) {
316  if (scnum >= scsize)
317  throw cms::Exception("FFTJetBadConfig") << "bad scales, please check the scales" << std::endl;
318  const double scale = ((scsize1 == 0) ? sc_not_ad[scnum] : scales[scnum]);
319  out->insert(scale, clusters, 0L);
320  clusters.clear();
321  templevel = levelNumber;
322  ++scnum;
323  }
324 
325  fftjet::Peak apeak(p.eta(),
326  p.phi(),
327  p.magnitude(),
328  hessian,
329  p.driftSpeed(),
330  p.magSpeed(),
331  p.lifetime(),
332  p.scale(),
333  p.nearestNeighborDistance(),
334  1.0,
335  0.0,
336  0.0,
337  p.clusterRadius(),
338  p.clusterSeparation());
339  apeak.setSplitTime(p.splitTime());
340  apeak.setMergeTime(p.mergeTime());
341  clusters.push_back(apeak);
342 
343  if (i == (n - 1) && levelNumber != scsize)
344  throw cms::Exception("FFTJetBadConfig") << "bad scales, please check the scales" << std::endl;
345  }
346 
347  const double scale = scsize1 ? scales[scnum] : completeEventScale ? completeEventScale : sc_not_ad[scnum];
348  out->insert(scale, clusters, 0L);
349  }

References cms::cuda::assert(), bsc_activity_cfg::clusters, fftjetdijetfilter_cfi::completeEventScale, Exception, mps_fire::i, recoMuon::in, dttmaxenums::L, dqmiodumpmetadata::n, class-composition::nodes, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_ParallelJobs::p, and Scenarios_cff::scale.

Referenced by FFTJetPatRecoProducer::buildDenseProduct(), FFTJetDijetFilter::filter(), and FFTJetTreeDump::processTreeData().

◆ densePeakTreeToStorable()

template<class Real >
void fftjetcms::densePeakTreeToStorable ( const fftjet::AbsClusteringTree< fftjet::Peak, long > &  in,
bool  writeOutScaleInfo,
reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > *  out 
)

Definition at line 210 of file clusteringTreeConverters.h.

212  {
213  typedef fftjet::AbsClusteringTree<fftjet::Peak, long> DenseTree;
214  typedef reco::PattRecoPeak<Real> StoredPeak;
215  typedef reco::PattRecoNode<StoredPeak> StoredNode;
216  typedef reco::PattRecoTree<Real, StoredPeak> StoredTree;
217 
218  assert(out);
219  out->clear();
220  out->setSparse(false);
221 
222  const unsigned nLevels = in.nLevels();
223  double hessian[3] = {0., 0., 0.};
224 
225  // Do not write out the meaningless top node
226  out->reserveNodes(in.nClusters() - 1);
227 
228  for (unsigned i = 1; i < nLevels; ++i) {
229  const unsigned int nclus = in.nClusters(i);
230  DenseTree::NodeId id(i, 0);
231  for (; id.second < nclus; ++id.second) {
232  const fftjet::Peak& peak(in.getCluster(id));
233  peak.hessian(hessian);
234  StoredNode sn(StoredPeak(peak.eta(),
235  peak.phi(),
236  peak.magnitude(),
237  hessian,
238  peak.driftSpeed(),
239  peak.magSpeed(),
240  peak.lifetime(),
241  peak.scale(),
242  peak.nearestNeighborDistance(),
243  peak.clusterRadius(),
244  peak.clusterSeparation(),
245  peak.splitTime(),
246  peak.mergeTime()),
247  i,
248  0,
249  0);
250  out->addNode(sn);
251  }
252  }
253 
254  // Do we want to write out the scales? We will use the following
255  // convention: if the tree is using an adaptive algorithm, the scales
256  // will be written out. If not, they are not going to change from
257  // event to event. In this case the scales would waste disk space
258  // for no particularly good reason, so they will not be written out.
259  if (writeOutScaleInfo) {
260  // Do not write out the meaningless top-level scale
261  const unsigned nScales = in.nLevels();
262  out->reserveScales(nScales - 1);
263  for (unsigned i = 1; i < nScales; ++i)
264  out->addScale(in.getScale(i));
265  }
266  }

References cms::cuda::assert(), mps_fire::i, triggerObjects_cff::id, recoMuon::in, fftjetcommon_cfi::nScales, and MillePedeFileConverter_cfg::out.

Referenced by FFTJetPatRecoProducer::buildDenseProduct().

◆ fftjet_BgFunctor_parser()

std::unique_ptr< AbsBgFunctor > fftjetcms::fftjet_BgFunctor_parser ( const edm::ParameterSet ps)

Definition at line 336 of file FFTJetParameterParser.cc.

336  {
337  const std::string bg_Membership_type = ps.getParameter<std::string>("Class");
338 
339  if (!bg_Membership_type.compare("GaussianNoiseMembershipFcn")) {
340  const double minWeight = ps.getParameter<double>("minWeight");
341  const double prior = ps.getParameter<double>("prior");
342  return std::unique_ptr<AbsBgFunctor>(new fftjet::GaussianNoiseMembershipFcn(minWeight, prior));
343  }
344 
345  return std::unique_ptr<AbsBgFunctor>(nullptr);
346  }

References edm::ParameterSet::getParameter(), fftjetcommon_cfi::minWeight, bookConverter::prior, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetProducer::parse_bgMembershipFunction().

◆ fftjet_ClusteringTreeSparsifier_parser()

std::unique_ptr< fftjet::ClusteringTreeSparsifier< fftjet::Peak, long > > fftjetcms::fftjet_ClusteringTreeSparsifier_parser ( const edm::ParameterSet ps)

Definition at line 390 of file FFTJetParameterParser.cc.

391  {
392  typedef std::unique_ptr<fftjet::ClusteringTreeSparsifier<fftjet::Peak, long> > return_type;
393 
394  const int maxLevelNumber = ps.getParameter<int>("maxLevelNumber");
395  const unsigned filterMask = ps.getParameter<unsigned>("filterMask");
396  const std::vector<double> userScalesV = ps.getParameter<std::vector<double> >("userScales");
397  const unsigned nUserScales = userScalesV.size();
398  const double* userScales = nUserScales ? &userScalesV[0] : nullptr;
399 
400  return return_type(
401  new fftjet::ClusteringTreeSparsifier<fftjet::Peak, long>(maxLevelNumber, filterMask, userScales, nUserScales));
402  }

References fftjetpatrecoproducer_cfi::filterMask, edm::ParameterSet::getParameter(), fftjetpatrecoproducer_cfi::maxLevelNumber, and fftjetpatrecoproducer_cfi::userScales.

Referenced by FFTJetPatRecoProducer::FFTJetPatRecoProducer().

◆ fftjet_DistanceCalculator_parser()

std::unique_ptr< fftjet::AbsDistanceCalculator< fftjet::Peak > > fftjetcms::fftjet_DistanceCalculator_parser ( const edm::ParameterSet ps)

Definition at line 404 of file FFTJetParameterParser.cc.

405  {
406  typedef std::unique_ptr<fftjet::AbsDistanceCalculator<fftjet::Peak> > return_type;
407 
408  const std::string calc_type = ps.getParameter<std::string>("Class");
409 
410  if (!calc_type.compare("PeakEtaPhiDistance")) {
411  const double etaToPhiBandwidthRatio = ps.getParameter<double>("etaToPhiBandwidthRatio");
412  return return_type(new fftjet::PeakEtaPhiDistance(etaToPhiBandwidthRatio));
413  }
414 
415  if (!calc_type.compare("PeakEtaDependentDistance")) {
416  std::unique_ptr<fftjet::LinearInterpolator1d> interp =
418  const fftjet::LinearInterpolator1d* ip = interp.get();
419  if (ip == nullptr)
420  return return_type(nullptr);
421 
422  // Check that the interpolator is always positive
423  const unsigned n = ip->nx();
424  const double* data = ip->getData();
425  for (unsigned i = 0; i < n; ++i)
426  if (data[i] <= 0.0)
427  return return_type(nullptr);
428  if (ip->fLow() <= 0.0 || ip->fHigh() <= 0.0)
429  return return_type(nullptr);
430 
431  return return_type(new fftjet::PeakEtaDependentDistance(*ip));
432  }
433 
434  return return_type(nullptr);
435  }

References data, fftjetcommon_cfi::etaToPhiBandwidthRatio, fftjet_LinearInterpolator1d_parser(), edm::ParameterSet::getParameter(), mps_fire::i, dqmiodumpmetadata::n, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetDijetFilter::FFTJetDijetFilter(), FFTJetPatRecoProducer::FFTJetPatRecoProducer(), and FFTJetTreeDump::FFTJetTreeDump().

◆ fftjet_Function_parser()

std::unique_ptr< fftjet::Functor1< double, double > > fftjetcms::fftjet_Function_parser ( const edm::ParameterSet ps)

Definition at line 708 of file FFTJetParameterParser.cc.

708  {
709  typedef std::unique_ptr<fftjet::Functor1<double, double> > return_type;
710 
711  const std::string fcn_type = ps.getParameter<std::string>("Class");
712 
713  if (!fcn_type.compare("LinearInterpolator1d")) {
714  std::unique_ptr<fftjet::LinearInterpolator1d> p = fftjet_LinearInterpolator1d_parser(ps);
715  fftjet::LinearInterpolator1d* ptr = p.get();
716  if (ptr) {
717  p.release();
718  return return_type(ptr);
719  }
720  }
721 
722  if (!fcn_type.compare("LinInterpolatedTable1D")) {
723  std::unique_ptr<fftjetcms::LinInterpolatedTable1D> p = fftjet_LinInterpolatedTable1D_parser(ps);
725  if (ptr) {
726  p.release();
727  return return_type(ptr);
728  }
729  }
730 
731  if (!fcn_type.compare("Polynomial")) {
732  std::vector<double> coeffs;
733  for (unsigned i = 0;; ++i) {
734  std::ostringstream s;
735  s << 'c' << i;
736  if (ps.exists(s.str()))
737  coeffs.push_back(ps.getParameter<double>(s.str()));
738  else
739  break;
740  }
741  return return_type(new Polynomial(coeffs));
742  }
743 
744  return return_type(nullptr);
745  }

References edm::ParameterSet::exists(), fftjet_LinearInterpolator1d_parser(), fftjet_LinInterpolatedTable1D_parser(), edm::ParameterSet::getParameter(), mps_fire::i, AlCaHLTBitMon_ParallelJobs::p, alignCSCRings::s, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by fftjet_JetFunctor_parser(), fftjet_PeakFunctor_parser(), and FFTJetPileupEstimator::FFTJetPileupEstimator().

◆ fftjet_Grid2d_parser()

std::unique_ptr< fftjet::Grid2d< Real > > fftjetcms::fftjet_Grid2d_parser ( const edm::ParameterSet ps)

Definition at line 123 of file FFTJetParameterParser.cc.

123  {
124  typedef std::unique_ptr<fftjet::Grid2d<Real> > return_type;
125  fftjet::Grid2d<Real>* g = nullptr;
126 
127  // Check if the grid should be read from file
128  if (ps.exists("file")) {
129  const std::string file = ps.getParameter<std::string>("file");
130  std::ifstream in(file.c_str(), std::ios_base::in | std::ios_base::binary);
131  if (!in.is_open())
132  throw cms::Exception("FFTJetBadConfig") << "Failed to open file " << file << std::endl;
134  if (g == nullptr)
135  throw cms::Exception("FFTJetBadConfig") << "Failed to read file " << file << std::endl;
136  } else {
137  const unsigned nEtaBins = ps.getParameter<unsigned>("nEtaBins");
138  const Real etaMin = ps.getParameter<Real>("etaMin");
139  const Real etaMax = ps.getParameter<Real>("etaMax");
140  const unsigned nPhiBins = ps.getParameter<unsigned>("nPhiBins");
141  const Real phiBin0Edge = ps.getParameter<Real>("phiBin0Edge");
142  const std::string& title = ps.getUntrackedParameter<std::string>("title", "");
143 
144  if (nEtaBins == 0 || nPhiBins == 0 || etaMin >= etaMax)
145  return return_type(nullptr);
146 
147  g = new fftjet::Grid2d<Real>(nEtaBins, etaMin, etaMax, nPhiBins, phiBin0Edge, title.c_str());
148 
149  // Check if the grid data is provided
150  if (ps.exists("data")) {
151  const std::vector<Real>& data = ps.getParameter<std::vector<Real> >("data");
152  if (data.size() == nEtaBins * nPhiBins)
153  g->blockSet(&data[0], nEtaBins, nPhiBins);
154  else {
155  delete g;
156  g = nullptr;
157  }
158  }
159  }
160 
161  return return_type(g);
162  }

References data, ALCARECOTkAlBeamHalo_cff::etaMax, ALCARECOTkAlBeamHalo_cff::etaMin, Exception, edm::ParameterSet::exists(), FrontierConditions_GlobalTag_cff::file, g, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), recoMuon::in, L1TMuonDQMOffline_cfi::nEtaBins, ecaldqm::binning::nPhiBins, fftjetcommon_cfi::phiBin0Edge, readEcalDQMStatus::read, AlCaHLTBitMon_QueryRunRegistry::string, and overlapproblemtsosanalyzer_cfi::title.

Referenced by FFTJetProducer::beginJob(), fftjet_PileupCalculator_parser(), FFTJetEFlowSmoother::FFTJetEFlowSmoother(), FFTJetPatRecoProducer::FFTJetPatRecoProducer(), and FFTJetPileupProcessor::FFTJetPileupProcessor().

◆ fftjet_JetDistance_parser()

std::unique_ptr< fftjet::Functor2< double, fftjet::RecombinedJet< VectorLike >, fftjet::RecombinedJet< VectorLike > > > fftjetcms::fftjet_JetDistance_parser ( const edm::ParameterSet ps)

Definition at line 690 of file FFTJetParameterParser.cc.

690  {
691  typedef std::unique_ptr<
692  fftjet::Functor2<double, fftjet::RecombinedJet<VectorLike>, fftjet::RecombinedJet<VectorLike> > >
693  return_type;
694 
695  const std::string distance_type = ps.getParameter<std::string>("Class");
696 
697  if (!distance_type.compare("JetConvergenceDistance")) {
700 
701  if (etaToPhiBandwidthRatio > 0.0 && relativePtBandwidth > 0.0)
703  }
704 
705  return return_type(nullptr);
706  }

References fftjetcommon_cfi::etaToPhiBandwidthRatio, edm::ParameterSet::getParameter(), make_param, fftjetcommon_cfi::relativePtBandwidth, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetProducer::parse_jetDistanceCalc().

◆ fftjet_JetFunctor_parser()

std::unique_ptr< fftjet::Functor1< double, fftjet::RecombinedJet< VectorLike > > > fftjetcms::fftjet_JetFunctor_parser ( const edm::ParameterSet ps)

Definition at line 590 of file FFTJetParameterParser.cc.

591  {
592  typedef fftjet::Functor1<double, RecoFFTJet> ptr_type;
593  typedef std::unique_ptr<ptr_type> return_type;
594 
595  const std::string property_type = ps.getParameter<std::string>("Class");
596 
597  if (!property_type.compare("Log")) {
598  return_type wrapped = fftjet_JetFunctor_parser(ps.getParameter<edm::ParameterSet>("function"));
599  fftjet::Functor1<double, RecoFFTJet>* wr = wrapped.get();
600  if (wr) {
601  return_type result = return_type(new fftjet::LogProperty<RecoFFTJet>(wr, true));
602  wrapped.release();
603  return result;
604  }
605  }
606 
607  if (!property_type.compare("JetEtaDependent")) {
608  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
610  fftjet::Functor1<double, double>* f1 = fcn1.get();
611  if (f1) {
612  return_type result = return_type(new JetEtaDependent(f1, true));
613  fcn1.release();
614  return result;
615  }
616  }
617 
618  if (!property_type.compare("JetProperty")) {
619  const std::string member = ps.getParameter<std::string>("member");
620  fftjet::JetProperty<RecoFFTJet>::JetMemberFunction fcn;
621  if (parse_jet_member_function(member.c_str(), &fcn))
622  return return_type(new fftjet::JetProperty<RecoFFTJet>(fcn));
623  else
624  return return_type(nullptr);
625  }
626 
627  if (!property_type.compare("ConstDouble")) {
628  const double value = ps.getParameter<double>("value");
629  return return_type(new ConstDouble<RecoFFTJet>(value));
630  }
631 
632  if (!property_type.compare("ProportionalToScale")) {
633  const double value = ps.getParameter<double>("value");
634  return return_type(new ProportionalToScale<RecoFFTJet>(value));
635  }
636 
637  if (!property_type.compare("MultiplyByConst")) {
638  const double factor = ps.getParameter<double>("factor");
639  return_type function = fftjet_JetFunctor_parser(ps.getParameter<edm::ParameterSet>("function"));
640  ptr_type* ptr = function.get();
641  if (ptr) {
642  return_type result = return_type(new MultiplyByConst<RecoFFTJet>(factor, ptr, true));
643  function.release();
644  return result;
645  }
646  }
647 
648  if (!property_type.compare("CompositeFunctor")) {
649  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
651  return_type fcn2 = fftjet_JetFunctor_parser(ps.getParameter<edm::ParameterSet>("function2"));
652  fftjet::Functor1<double, double>* f1 = fcn1.get();
653  ptr_type* f2 = fcn2.get();
654  if (f1 && f2) {
655  return_type result = return_type(new CompositeFunctor<RecoFFTJet>(f1, f2, true));
656  fcn1.release();
657  fcn2.release();
658  return result;
659  }
660  }
661 
662  if (!property_type.compare("ProductFunctor")) {
663  return_type fcn1 = fftjet_JetFunctor_parser(ps.getParameter<edm::ParameterSet>("function1"));
664  return_type fcn2 = fftjet_JetFunctor_parser(ps.getParameter<edm::ParameterSet>("function2"));
665  ptr_type* f1 = fcn1.get();
666  ptr_type* f2 = fcn2.get();
667  if (f1 && f2) {
668  return_type result = return_type(new ProductFunctor<RecoFFTJet>(f1, f2, true));
669  fcn1.release();
670  fcn2.release();
671  return result;
672  }
673  }
674 
675  if (!property_type.compare("MagnitudeDependent")) {
676  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
678  fftjet::Functor1<double, double>* f1 = fcn1.get();
679  if (f1) {
680  return_type result = return_type(new MagnitudeDependent<RecoFFTJet>(f1, true));
681  fcn1.release();
682  return result;
683  }
684  }
685 
686  return return_type(nullptr);
687  }

References DeadROC_duringRun::f1, DeadROC_duringRun::f2, DQMScaleToClient_cfi::factor, fcn(), fftjet_Function_parser(), edm::ParameterSet::getParameter(), parse_jet_member_function(), mps_fire::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetProducer::parse_memberFactorCalcJet(), FFTJetProducer::parse_recoScaleCalcJet(), and FFTJetProducer::parse_recoScaleRatioCalcJet().

◆ fftjet_JetMagnitudeMapper2d_parser()

std::unique_ptr< fftjet::JetMagnitudeMapper2d< fftjet::RecombinedJet< VectorLike > > > fftjetcms::fftjet_JetMagnitudeMapper2d_parser ( const edm::ParameterSet ps)

Definition at line 801 of file FFTJetParameterParser.cc.

802  {
803  std::unique_ptr<fftjet::LinearInterpolator2d> responseCurve =
805 
806  const double minPredictor = ps.getParameter<double>("minPredictor");
807  const double maxPredictor = ps.getParameter<double>("maxPredictor");
808  const unsigned nPredPoints = ps.getParameter<unsigned>("nPredPoints");
809  const double maxMagnitude = ps.getParameter<double>("maxMagnitude");
810  const unsigned nMagPoints = ps.getParameter<unsigned>("nMagPoints");
811 
812  return (std::unique_ptr<fftjet::JetMagnitudeMapper2d<RecoFFTJet> >(
813  new fftjet::JetMagnitudeMapper2d<RecoFFTJet>(*responseCurve,
815  true,
816  minPredictor,
817  maxPredictor,
818  nPredPoints,
819  maxMagnitude,
820  nMagPoints)));
821  }

References fftjet_LinearInterpolator2d_parser(), and edm::ParameterSet::getParameter().

◆ fftjet_LinearInterpolator1d_parser()

std::unique_ptr< fftjet::LinearInterpolator1d > fftjetcms::fftjet_LinearInterpolator1d_parser ( const edm::ParameterSet ps)

Definition at line 450 of file FFTJetParameterParser.cc.

450  {
451  const double xmin = ps.getParameter<double>("xmin");
452  const double xmax = ps.getParameter<double>("xmax");
453  const double flow = ps.getParameter<double>("flow");
454  const double fhigh = ps.getParameter<double>("fhigh");
455  const std::vector<double> data(ps.getParameter<std::vector<double> >("data"));
456  if (data.empty())
457  return std::unique_ptr<fftjet::LinearInterpolator1d>(nullptr);
458  else
459  return std::unique_ptr<fftjet::LinearInterpolator1d>(
460  new fftjet::LinearInterpolator1d(&data[0], data.size(), xmin, xmax, flow, fhigh));
461  }

References data, fftjetcommon_cfi::fhigh, fftjetcommon_cfi::flow, edm::ParameterSet::getParameter(), TrackerOfflineValidation_Dqm_cff::xmax, and TrackerOfflineValidation_Dqm_cff::xmin.

Referenced by fftjet_DistanceCalculator_parser(), and fftjet_Function_parser().

◆ fftjet_LinearInterpolator2d_parser()

std::unique_ptr< fftjet::LinearInterpolator2d > fftjetcms::fftjet_LinearInterpolator2d_parser ( const edm::ParameterSet ps)

Definition at line 463 of file FFTJetParameterParser.cc.

463  {
464  const std::string file = ps.getParameter<std::string>("file");
465  std::ifstream in(file.c_str(), std::ios_base::in | std::ios_base::binary);
466  if (!in.is_open())
467  throw cms::Exception("FFTJetBadConfig") << "Failed to open file " << file << std::endl;
468  fftjet::LinearInterpolator2d* ip = fftjet::LinearInterpolator2d::read(in);
469  if (!ip)
470  throw cms::Exception("FFTJetBadConfig") << "Failed to read file " << file << std::endl;
471  return std::unique_ptr<fftjet::LinearInterpolator2d>(ip);
472  }

References Exception, FrontierConditions_GlobalTag_cff::file, edm::ParameterSet::getParameter(), recoMuon::in, readEcalDQMStatus::read, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by fftjet_JetMagnitudeMapper2d_parser(), fftjet_PeakMagnitudeMapper2d_parser(), and fftjet_PileupCalculator_parser().

◆ fftjet_LinInterpolatedTable1D_parser()

std::unique_ptr< fftjetcms::LinInterpolatedTable1D > fftjetcms::fftjet_LinInterpolatedTable1D_parser ( const edm::ParameterSet ps)

Definition at line 437 of file FFTJetParameterParser.cc.

437  {
438  const double xmin = ps.getParameter<double>("xmin");
439  const double xmax = ps.getParameter<double>("xmax");
440  const bool leftExtrapolationLinear = ps.getParameter<bool>("leftExtrapolationLinear");
441  const bool rightExtrapolationLinear = ps.getParameter<bool>("rightExtrapolationLinear");
442  const std::vector<double> data(ps.getParameter<std::vector<double> >("data"));
443  if (data.empty())
444  return std::unique_ptr<fftjetcms::LinInterpolatedTable1D>(nullptr);
445  else
446  return std::unique_ptr<fftjetcms::LinInterpolatedTable1D>(new fftjetcms::LinInterpolatedTable1D(
448  }

References data, edm::ParameterSet::getParameter(), mixed_calib_calo_ttbar_result::leftExtrapolationLinear, mixed_calib_calo_ttbar_result::rightExtrapolationLinear, TrackerOfflineValidation_Dqm_cff::xmax, and TrackerOfflineValidation_Dqm_cff::xmin.

Referenced by fftjet_Function_parser().

◆ fftjet_MembershipFunction_parser()

std::unique_ptr< fftjet::ScaleSpaceKernel > fftjetcms::fftjet_MembershipFunction_parser ( const edm::ParameterSet ps)

Definition at line 225 of file FFTJetParameterParser.cc.

225  {
226  typedef std::unique_ptr<fftjet::ScaleSpaceKernel> return_type;
227 
228  const std::string MembershipFunction_type = ps.getParameter<std::string>("Class");
229 
230  // Parse special cases first
231  if (!MembershipFunction_type.compare("InterpolatedMembershipFcn")) {
232  // This is a kernel defined by a 4d (sparsified) lookup table.
233  // Here, it is simply loaded from a file using a built-in
234  // method from fftjet. Note that the table representation
235  // must be native binary (this will not work on platforms with
236  // different endianity of floating point standard).
237  const std::string file = ps.getParameter<std::string>("file");
238  std::ifstream in(file.c_str(), std::ios_base::in | std::ios_base::binary);
239  if (!in.is_open())
240  throw cms::Exception("FFTJetBadConfig") << "Failed to open file " << file << std::endl;
242  }
243 
244  if (!MembershipFunction_type.compare("Composite")) {
245  throw cms::Exception("FFTJetBadConfig")
246  << "Parsing of CompositeKernel objects is not implemented yet" << std::endl;
247  }
248 
249  if (!MembershipFunction_type.compare("MagneticSmearing")) {
250  // This kernel represents smearing of a jet in phi
251  // in a magnetic field. The meaning of the parameters
252  // is explained in the comments in the MagneticSmearingKernel.hh
253  // header file of the fftjet package.
254  make_param(std::vector<double>, fragmentationData);
255  make_param(double, numeratorConst);
256  make_param(double, charge1Fraction);
257  make_param(double, charge2Fraction);
258  make_param(unsigned, samplesPerBin);
259 
260  if (fragmentationData.empty())
261  throw cms::Exception("FFTJetBadConfig") << "Fragmentation function data not defined for "
262  "MagneticSmearingKernel"
263  << std::endl;
264  if (samplesPerBin < 1U)
265  throw cms::Exception("FFTJetBadConfig") << "Bad number of samples per bin in "
266  "MagneticSmearingKernel"
267  << std::endl;
268 
269  fftjet::LinearInterpolator1d* fragmentationFunction =
270  new fftjet::LinearInterpolator1d(&fragmentationData[0], fragmentationData.size(), 0.0, 1.0);
271 
272  return return_type(new fftjet::MagneticSmearingKernel<fftjet::LinearInterpolator1d>(
273  fragmentationFunction, numeratorConst, charge1Fraction, charge2Fraction, samplesPerBin, true));
274  }
275 
276  if (!MembershipFunction_type.compare("Interpolated")) {
277  // This is a kernel defined by a histogram-like 2d lookup table
278  make_param(double, sx);
279  make_param(double, sy);
280  make_param(int, scalePower);
281  make_param(unsigned, nxbins);
282  make_param(double, xmin);
283  make_param(double, xmax);
284  make_param(unsigned, nybins);
285  make_param(double, ymin);
286  make_param(double, ymax);
287  make_param(std::vector<double>, data);
288 
289  if (data.size() != nxbins * nybins)
290  throw cms::Exception("FFTJetBadConfig") << "Bad number of data points for Interpolated kernel" << std::endl;
291 
292  return return_type(
293  new fftjet::InterpolatedKernel(sx, sy, scalePower, &data[0], nxbins, xmin, xmax, nybins, ymin, ymax));
294  }
295 
296  if (!MembershipFunction_type.compare("Interpolated3d")) {
297  // This is a kernel defined by a histogram-like 3d lookup table
298  make_param(std::vector<double>, data);
299  make_param(std::vector<double>, scales);
300  make_param(bool, useLogSpaceForScale);
301  make_param(unsigned, nxbins);
302  make_param(double, xmin);
303  make_param(double, xmax);
304  make_param(unsigned, nybins);
305  make_param(double, ymin);
306  make_param(double, ymax);
307 
308  if (data.size() != nxbins * nybins * scales.size())
309  throw cms::Exception("FFTJetBadConfig") << "Bad number of data points for Interpolated3d kernel" << std::endl;
310 
311  return return_type(new fftjet::InterpolatedKernel3d(
312  &data[0], scales, useLogSpaceForScale, nxbins, xmin, xmax, nybins, ymin, ymax));
313  }
314 
315  // This is not a special kernel. Try one of the classes
316  // in the kernel factory provided by FFTJet.
317  fftjet::DefaultKernel2dFactory factory;
318  if (factory[MembershipFunction_type] == nullptr) {
319  return return_type(nullptr);
320  }
321 
322  make_param(double, sx);
323  make_param(double, sy);
324  make_param(int, scalePower);
325  make_param(std::vector<double>, kernelParameters);
326 
327  const int n_expected = factory[MembershipFunction_type]->nParameters();
328  if (n_expected >= 0)
329  if (static_cast<unsigned>(n_expected) != kernelParameters.size())
330  throw cms::Exception("FFTJetBadConfig") << "Bad number of kernel parameters" << std::endl;
331 
332  return std::unique_ptr<fftjet::ScaleSpaceKernel>(
333  factory[MembershipFunction_type]->create(sx, sy, scalePower, kernelParameters));
334  }

References beamerCreator::create(), data, Exception, FrontierConditions_GlobalTag_cff::file, edm::ParameterSet::getParameter(), recoMuon::in, fftjetcommon_cfi::kernelParameters, make_param, readEcalDQMStatus::read, fftjetcommon_cfi::scalePower, AlCaHLTBitMon_QueryRunRegistry::string, fftjetcommon_cfi::sx, fftjetcommon_cfi::sy, mitigatedMETSequence_cff::U, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

Referenced by FFTJetProducer::parse_jetMembershipFunction().

◆ fftjet_PeakFunctor_parser()

std::unique_ptr< fftjet::Functor1< double, fftjet::Peak > > fftjetcms::fftjet_PeakFunctor_parser ( const edm::ParameterSet ps)

Definition at line 474 of file FFTJetParameterParser.cc.

474  {
475  typedef fftjet::Functor1<double, fftjet::Peak> ptr_type;
476  typedef std::unique_ptr<ptr_type> return_type;
477 
478  const std::string property_type = ps.getParameter<std::string>("Class");
479 
480  if (!property_type.compare("Log")) {
481  return_type wrapped = fftjet_PeakFunctor_parser(ps.getParameter<edm::ParameterSet>("function"));
482  ptr_type* wr = wrapped.get();
483  if (wr) {
484  return_type result = return_type(new fftjet::LogProperty<fftjet::Peak>(wr, true));
485  wrapped.release();
486  return result;
487  }
488  }
489 
490  if (!property_type.compare("PeakProperty")) {
491  const std::string member = ps.getParameter<std::string>("member");
492  fftjet::JetProperty<fftjet::Peak>::JetMemberFunction fcn;
493  if (parse_peak_member_function(member.c_str(), &fcn))
494  return return_type(new fftjet::JetProperty<fftjet::Peak>(fcn));
495  else
496  return return_type(nullptr);
497  }
498 
499  if (!property_type.compare("MinusScaledLaplacian")) {
500  const double sx = ps.getParameter<double>("sx");
501  const double sy = ps.getParameter<double>("sx");
502  return return_type(new fftjet::MinusScaledLaplacian<fftjet::Peak>(sx, sy));
503  }
504 
505  if (!property_type.compare("ScaledHessianDet")) {
506  return return_type(new fftjet::ScaledHessianDet<fftjet::Peak>());
507  }
508 
509  if (!property_type.compare("ScaledMagnitude")) {
510  return return_type(new fftjet::ScaledMagnitude<fftjet::Peak>());
511  }
512 
513  if (!property_type.compare("ScaledMagnitude2")) {
514  return return_type(new fftjet::ScaledMagnitude2<fftjet::Peak>());
515  }
516 
517  if (!property_type.compare("ConstDouble")) {
518  const double value = ps.getParameter<double>("value");
519  return return_type(new ConstDouble<fftjet::Peak>(value));
520  }
521 
522  if (!property_type.compare("ProportionalToScale")) {
523  const double value = ps.getParameter<double>("value");
524  return return_type(new ProportionalToScale<fftjet::Peak>(value));
525  }
526 
527  if (!property_type.compare("MultiplyByConst")) {
528  const double factor = ps.getParameter<double>("factor");
529  return_type function = fftjet_PeakFunctor_parser(ps.getParameter<edm::ParameterSet>("function"));
530  ptr_type* ptr = function.get();
531  if (ptr) {
532  return_type result = return_type(new MultiplyByConst<fftjet::Peak>(factor, ptr, true));
533  function.release();
534  return result;
535  }
536  }
537 
538  if (!property_type.compare("CompositeFunctor")) {
539  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
541  return_type fcn2 = fftjet_PeakFunctor_parser(ps.getParameter<edm::ParameterSet>("function2"));
542  fftjet::Functor1<double, double>* f1 = fcn1.get();
543  ptr_type* f2 = fcn2.get();
544  if (f1 && f2) {
545  return_type result = return_type(new CompositeFunctor<fftjet::Peak>(f1, f2, true));
546  fcn1.release();
547  fcn2.release();
548  return result;
549  }
550  }
551 
552  if (!property_type.compare("ProductFunctor")) {
553  return_type fcn1 = fftjet_PeakFunctor_parser(ps.getParameter<edm::ParameterSet>("function1"));
554  return_type fcn2 = fftjet_PeakFunctor_parser(ps.getParameter<edm::ParameterSet>("function2"));
555  ptr_type* f1 = fcn1.get();
556  ptr_type* f2 = fcn2.get();
557  if (f1 && f2) {
558  return_type result = return_type(new ProductFunctor<fftjet::Peak>(f1, f2, true));
559  fcn1.release();
560  fcn2.release();
561  return result;
562  }
563  }
564 
565  if (!property_type.compare("MagnitudeDependent")) {
566  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
568  fftjet::Functor1<double, double>* f1 = fcn1.get();
569  if (f1) {
570  return_type result = return_type(new MagnitudeDependent<fftjet::Peak>(f1, true));
571  fcn1.release();
572  return result;
573  }
574  }
575 
576  if (!property_type.compare("PeakEtaDependent")) {
577  std::unique_ptr<fftjet::Functor1<double, double> > fcn1 =
579  fftjet::Functor1<double, double>* f1 = fcn1.get();
580  if (f1) {
581  return_type result = return_type(new PeakEtaDependent(f1, true));
582  fcn1.release();
583  return result;
584  }
585  }
586 
587  return return_type(nullptr);
588  }

References DeadROC_duringRun::f1, DeadROC_duringRun::f2, DQMScaleToClient_cfi::factor, fcn(), fftjet_Function_parser(), edm::ParameterSet::getParameter(), parse_peak_member_function(), mps_fire::result, AlCaHLTBitMon_QueryRunRegistry::string, fftjetcommon_cfi::sx, and fftjetcommon_cfi::sy.

Referenced by FFTJetTreeDump::FFTJetTreeDump(), FFTJetProducer::parse_memberFactorCalcPeak(), FFTJetProducer::parse_recoScaleCalcPeak(), and FFTJetProducer::parse_recoScaleRatioCalcPeak().

◆ fftjet_PeakMagnitudeMapper2d_parser()

std::unique_ptr< fftjet::JetMagnitudeMapper2d< fftjet::Peak > > fftjetcms::fftjet_PeakMagnitudeMapper2d_parser ( const edm::ParameterSet ps)

Definition at line 779 of file FFTJetParameterParser.cc.

780  {
781  std::unique_ptr<fftjet::LinearInterpolator2d> responseCurve =
783 
784  const double minPredictor = ps.getParameter<double>("minPredictor");
785  const double maxPredictor = ps.getParameter<double>("maxPredictor");
786  const unsigned nPredPoints = ps.getParameter<unsigned>("nPredPoints");
787  const double maxMagnitude = ps.getParameter<double>("maxMagnitude");
788  const unsigned nMagPoints = ps.getParameter<unsigned>("nMagPoints");
789 
790  return (std::unique_ptr<fftjet::JetMagnitudeMapper2d<fftjet::Peak> >(
791  new fftjet::JetMagnitudeMapper2d<fftjet::Peak>(*responseCurve,
793  true,
794  minPredictor,
795  maxPredictor,
796  nPredPoints,
797  maxMagnitude,
798  nMagPoints)));
799  }

References fftjet_LinearInterpolator2d_parser(), and edm::ParameterSet::getParameter().

◆ fftjet_PeakSelector_parser()

std::unique_ptr< fftjet::Functor1< bool, fftjet::Peak > > fftjetcms::fftjet_PeakSelector_parser ( const edm::ParameterSet ps)

Definition at line 164 of file FFTJetParameterParser.cc.

164  {
165  typedef std::unique_ptr<fftjet::Functor1<bool, fftjet::Peak> > return_type;
166 
167  const std::string peakselector_type = ps.getParameter<std::string>("Class");
168 
169  if (!peakselector_type.compare("AllPeaksPass")) {
170  return return_type(new fftjet::AllPeaksPass());
171  }
172 
173  if (!peakselector_type.compare("EtaAndPtDependentPeakSelector")) {
174  const std::string file = ps.getParameter<std::string>("file");
175  std::ifstream in(file.c_str(), std::ios_base::in | std::ios_base::binary);
176  if (!in.is_open())
177  throw cms::Exception("FFTJetBadConfig") << "Failed to open file " << file << std::endl;
179  if (!ptr->isValid())
180  throw cms::Exception("FFTJetBadConfig") << "Failed to read file " << file << std::endl;
181  return return_type(ptr);
182  }
183 
184  if (!peakselector_type.compare("EtaAndPtLookupPeakSelector")) {
185  make_param(unsigned, nx);
186  make_param(unsigned, ny);
187  make_param(double, xmin);
188  make_param(double, xmax);
189  make_param(double, ymin);
190  make_param(double, ymax);
191  make_param(std::vector<double>, data);
192 
193  if (xmin >= xmax || ymin >= ymax || !nx || !ny || data.size() != nx * ny)
194  throw cms::Exception("FFTJetBadConfig") << "Failed to configure EtaAndPtLookupPeakSelector" << std::endl;
195 
196  return return_type(new EtaAndPtLookupPeakSelector(nx, xmin, xmax, ny, ymin, ymax, data));
197  }
198 
199  if (!peakselector_type.compare("SimplePeakSelector")) {
200  const double magCut = ps.getParameter<double>("magCut");
201  const double driftSpeedCut = ps.getParameter<double>("driftSpeedCut");
202  const double magSpeedCut = ps.getParameter<double>("magSpeedCut");
203  const double lifeTimeCut = ps.getParameter<double>("lifeTimeCut");
204  const double NNDCut = ps.getParameter<double>("NNDCut");
205  const double etaCut = ps.getParameter<double>("etaCut");
206  const double splitTimeCut = ps.getParameter<double>("splitTimeCut");
207  const double mergeTimeCut = ps.getParameter<double>("mergeTimeCut");
208 
209  return return_type(new fftjet::SimplePeakSelector(
211  }
212 
213  if (!peakselector_type.compare("ScalePowerPeakSelector")) {
214  const double a = ps.getParameter<double>("a");
215  const double p = ps.getParameter<double>("p");
216  const double b = ps.getParameter<double>("b");
217  const double etaCut = ps.getParameter<double>("etaCut");
218 
219  return return_type(new fftjet::ScalePowerPeakSelector(a, p, b, etaCut));
220  }
221 
222  return return_type(nullptr);
223  }

References a, b, data, fftjetproducer_cfi::driftSpeedCut, fftjetproducer_cfi::etaCut, FrontierConditions_GlobalTag_cff::file, edm::ParameterSet::getParameter(), recoMuon::in, fftjetcms::EtaAndPtDependentPeakSelector::isValid(), fftjetproducer_cfi::lifeTimeCut, fftjetproducer_cfi::magCut, fftjetproducer_cfi::magSpeedCut, make_param, fftjetproducer_cfi::mergeTimeCut, fftjetproducer_cfi::NNDCut, AlCaHLTBitMon_ParallelJobs::p, fftjetproducer_cfi::splitTimeCut, AlCaHLTBitMon_QueryRunRegistry::string, TrackerOfflineValidation_Dqm_cff::xmax, TrackerOfflineValidation_Dqm_cff::xmin, L1TOccupancyClient_cfi::ymax, and L1TOccupancyClient_cfi::ymin.

Referenced by FFTJetPatRecoProducer::FFTJetPatRecoProducer(), and FFTJetProducer::parse_peakSelector().

◆ fftjet_PileupCalculator_parser()

std::unique_ptr< AbsPileupCalculator > fftjetcms::fftjet_PileupCalculator_parser ( const edm::ParameterSet ps)

Definition at line 747 of file FFTJetParameterParser.cc.

747  {
748  typedef std::unique_ptr<AbsPileupCalculator> return_type;
749 
750  const std::string fcn_type = ps.getParameter<std::string>("Class");
751 
752  if (!fcn_type.compare("EtaDependentPileup")) {
753  std::unique_ptr<fftjet::LinearInterpolator2d> interp =
755  const double inputRhoFactor = ps.getParameter<double>("inputRhoFactor");
756  const double outputRhoFactor = ps.getParameter<double>("outputRhoFactor");
757 
758  const fftjet::LinearInterpolator2d* ip = interp.get();
759  if (ip)
760  return return_type(new EtaDependentPileup(*ip, inputRhoFactor, outputRhoFactor));
761  else
762  return return_type(nullptr);
763  }
764 
765  if (!fcn_type.compare("PileupGrid2d")) {
766  std::unique_ptr<fftjet::Grid2d<Real> > grid = fftjet_Grid2d_parser(ps.getParameter<edm::ParameterSet>("Grid2d"));
767  const double rhoFactor = ps.getParameter<double>("rhoFactor");
768 
769  const fftjet::Grid2d<Real>* g = grid.get();
770  if (g)
771  return return_type(new PileupGrid2d(*g, rhoFactor));
772  else
773  return return_type(nullptr);
774  }
775 
776  return return_type(nullptr);
777  }

References fftjet_Grid2d_parser(), fftjet_LinearInterpolator2d_parser(), g, edm::ParameterSet::getParameter(), getRunAppsInfo::grid, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetProducer::parse_pileupDensityCalc().

◆ fftjet_ScaleSet_parser()

std::unique_ptr< std::vector< double > > fftjetcms::fftjet_ScaleSet_parser ( const edm::ParameterSet ps)

Definition at line 348 of file FFTJetParameterParser.cc.

348  {
349  typedef std::unique_ptr<std::vector<double> > return_type;
350 
351  const std::string className = ps.getParameter<std::string>("Class");
352 
353  if (!className.compare("EquidistantInLinearSpace") || !className.compare("EquidistantInLogSpace")) {
354  const double minScale = ps.getParameter<double>("minScale");
355  const double maxScale = ps.getParameter<double>("maxScale");
356  const unsigned nScales = ps.getParameter<unsigned>("nScales");
357 
358  if (minScale <= 0.0 || maxScale <= 0.0 || nScales == 0 || minScale == maxScale)
359  return return_type(nullptr);
360 
361  // Can't return pointers to EquidistantInLinearSpace
362  // or EquidistantInLogSpace directly because std::vector
363  // destructor is not virtual.
364  if (!className.compare("EquidistantInLinearSpace"))
365  return return_type(new std::vector<double>(fftjet::EquidistantInLinearSpace(minScale, maxScale, nScales)));
366  else
367  return return_type(new std::vector<double>(fftjet::EquidistantInLogSpace(minScale, maxScale, nScales)));
368  }
369 
370  if (!className.compare("UserSet")) {
371  return_type scales(new std::vector<double>(ps.getParameter<std::vector<double> >("scales")));
372 
373  // Verify that all scales are positive and unique
374  const unsigned nscales = scales->size();
375  for (unsigned i = 0; i < nscales; ++i)
376  if ((*scales)[i] <= 0.0)
377  return return_type(nullptr);
378 
379  for (unsigned i = 1; i < nscales; ++i)
380  for (unsigned j = 0; j < i; ++j)
381  if ((*scales)[i] == (*scales)[j])
382  return return_type(nullptr);
383 
384  return scales;
385  }
386 
387  return return_type(nullptr);
388  }

References className(), edm::ParameterSet::getParameter(), mps_fire::i, dqmiolumiharvest::j, fftjetcommon_cfi::maxScale, fftjetcommon_cfi::minScale, fftjetcommon_cfi::nScales, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FFTJetDijetFilter::FFTJetDijetFilter(), FFTJetEFlowSmoother::FFTJetEFlowSmoother(), FFTJetPatRecoProducer::FFTJetPatRecoProducer(), FFTJetProducer::FFTJetProducer(), and FFTJetTreeDump::FFTJetTreeDump().

◆ jetFromStorable()

template<class Real >
fftjet::RecombinedJet< VectorLike > fftjetcms::jetFromStorable ( const reco::FFTJet< Real > &  jet)

Definition at line 65 of file jetConverters.h.

65  {
66  typedef reco::PattRecoPeak<Real> StoredPeak;
67  typedef fftjet::RecombinedJet<VectorLike> RecoFFTJet;
68 
69  double hessian[3] = {0., 0., 0.};
70  const StoredPeak& p(jet.f_precluster());
71  p.hessian(hessian);
72  const double pileupPt = jet.f_pileup().Pt();
73 
74  fftjet::Peak peak(p.eta(),
75  p.phi(),
76  p.magnitude(),
77  hessian,
78  p.driftSpeed(),
79  p.magSpeed(),
80  p.lifetime(),
81  p.scale(),
82  p.nearestNeighborDistance(),
83  jet.f_membershipFactor(),
84  jet.f_recoScale(),
85  jet.f_recoScaleRatio(),
86  p.clusterRadius(),
87  p.clusterSeparation(),
88  jet.f_code(),
89  jet.f_status());
90  peak.setSplitTime(p.splitTime());
91  peak.setMergeTime(p.mergeTime());
92 
93  return RecoFFTJet(peak,
94  jet.f_vec(),
95  jet.f_ncells(),
96  jet.f_etSum(),
97  jet.f_centroidEta(),
98  jet.f_centroidPhi(),
99  jet.f_etaWidth(),
100  jet.f_phiWidth(),
101  jet.f_etaPhiCorr(),
102  jet.f_fuzziness(),
103  pileupPt,
104  0.0,
105  jet.f_convergenceDistance());
106  }

References metsig::jet, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by FFTJetProducer::genJetPreclusters().

◆ jetToStorable()

template<class Real >
reco::FFTJet< Real > fftjetcms::jetToStorable ( const fftjet::RecombinedJet< VectorLike > &  jet)

Definition at line 27 of file jetConverters.h.

27  {
28  typedef reco::PattRecoPeak<Real> StoredPeak;
29 
30  double hessian[3] = {0., 0., 0.};
31  const fftjet::Peak& peak(jet.precluster());
32  peak.hessian(hessian);
33 
34  return reco::FFTJet<Real>(StoredPeak(peak.eta(),
35  peak.phi(),
36  peak.magnitude(),
37  hessian,
38  peak.driftSpeed(),
39  peak.magSpeed(),
40  peak.lifetime(),
41  peak.scale(),
42  peak.nearestNeighborDistance(),
43  peak.clusterRadius(),
44  peak.clusterSeparation(),
45  peak.splitTime(),
46  peak.mergeTime()),
47  jet.vec(),
48  jet.ncells(),
49  jet.etSum(),
50  jet.centroidEta(),
51  jet.centroidPhi(),
52  jet.etaWidth(),
53  jet.phiWidth(),
54  jet.etaPhiCorr(),
55  jet.fuzziness(),
56  jet.convergenceDistance(),
57  jet.recoScale(),
58  jet.recoScaleRatio(),
59  jet.membershipFactor(),
60  jet.code(),
61  jet.status());
62  }

References reco::PattRecoPeak< Real >::hessian(), and metsig::jet.

◆ matchOneToOne()

template<class T1 , class T2 , class DistanceCalculator >
unsigned fftjetcms::matchOneToOne ( const std::vector< T1 > &  v1,
const std::vector< T2 > &  v2,
const DistanceCalculator &  calc,
std::vector< int > *  matchFrom1To2,
const double  maxMatchingDistance = 1.0e300 
)

Definition at line 38 of file matchOneToOne.h.

42  {
43  unsigned nused = 0;
44  matchFrom1To2->clear();
45 
46  const unsigned n1 = v1.size();
47  if (n1) {
48  matchFrom1To2->reserve(n1);
49  for (unsigned i1 = 0; i1 < n1; ++i1)
50  matchFrom1To2->push_back(-1);
51 
52  const unsigned n2 = v2.size();
53  if (n2) {
54  const unsigned nmatches = n1 * n2;
55  std::vector<Private::matchOneToOne_MatchInfo> distanceTable(nmatches);
56  std::vector<int> taken2(n2);
57 
58  for (unsigned i2 = 0; i2 < n2; ++i2)
59  taken2[i2] = 0;
60 
61  Private::matchOneToOne_MatchInfo* m;
62  for (unsigned i1 = 0; i1 < n1; ++i1)
63  for (unsigned i2 = 0; i2 < n2; ++i2) {
64  m = &distanceTable[i1 * n2 + i2];
65  m->distance = calc(v1[i1], v2[i2]);
66  m->i1 = i1;
67  m->i2 = i2;
68  }
69 
70  std::sort(distanceTable.begin(), distanceTable.end());
71  for (unsigned i = 0; i < nmatches && nused < n1 && nused < n2; ++i) {
72  m = &distanceTable[i];
73  if (m->distance > maxMatchingDistance)
74  break;
75  if ((*matchFrom1To2)[m->i1] < 0 && !taken2[m->i2]) {
76  (*matchFrom1To2)[m->i1] = static_cast<int>(m->i2);
77  taken2[m->i2] = 1;
78  ++nused;
79  }
80  }
81  }
82  }
83 
84  return nused;
85  }

References mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, and visualization-live-secondInstance_cfg::m.

Referenced by FFTJetProducer::removeFakePreclusters().

◆ parseJetType()

JetType fftjetcms::parseJetType ( const std::string &  name)

Definition at line 5 of file JetType.cc.

5  {
6  if (!name.compare("BasicJet"))
7  return BASICJET;
8  else if (!name.compare("GenJet"))
9  return GENJET;
10  else if (!name.compare("CaloJet"))
11  return CALOJET;
12  else if (!name.compare("PFJet"))
13  return PFJET;
14  else if (!name.compare("TrackJet"))
15  return TRACKJET;
16  else if (!name.compare("JPTJet"))
17  return JPTJET;
18  else
19  throw cms::Exception("FFTJetBadConfig")
20  << "In parseJetType: unsupported jet type specification \"" << name << "\"\n";
21  }

References BASICJET, CALOJET, Exception, GENJET, JPTJET, Skims_PA_cff::name, PFJET, and TRACKJET.

◆ sparsePeakTreeFromStorable()

template<class Real >
void fftjetcms::sparsePeakTreeFromStorable ( const reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > &  in,
const std::vector< double > *  scaleSetIfNotAdaptive,
double  completeEventScale,
fftjet::SparseClusteringTree< fftjet::Peak, long > *  out 
)

Definition at line 133 of file clusteringTreeConverters.h.

136  {
137  typedef fftjet::SparseClusteringTree<fftjet::Peak, long> SparseTree;
138  typedef reco::PattRecoPeak<Real> StoredPeak;
139  typedef reco::PattRecoNode<StoredPeak> StoredNode;
140  typedef reco::PattRecoTree<Real, StoredPeak> StoredTree;
141 
142  if (!in.isSparse())
143  throw cms::Exception("FFTJetBadConfig") << "can't restore sparse clustering tree"
144  << " from densely stored record" << std::endl;
145 
146  assert(out);
147  out->clear();
148 
149  const std::vector<StoredNode>& nodes(in.getNodes());
150  const unsigned n = nodes.size();
151  out->reserveNodes(n + 1U);
152 
153  double hessian[3] = {0., 0., 0.};
154 
155  for (unsigned i = 0; i < n; ++i) {
156  const StoredNode& snode(nodes[i]);
157  const StoredPeak& p(snode.getCluster());
158  p.hessian(hessian);
159  fftjet::Peak peak(p.eta(),
160  p.phi(),
161  p.magnitude(),
162  hessian,
163  p.driftSpeed(),
164  p.magSpeed(),
165  p.lifetime(),
166  p.scale(),
167  p.nearestNeighborDistance(),
168  1.0,
169  0.0,
170  0.0,
171  p.clusterRadius(),
172  p.clusterSeparation());
173  peak.setSplitTime(p.splitTime());
174  peak.setMergeTime(p.mergeTime());
175  const SparseTree::Node node(peak, snode.originalLevel(), snode.mask());
176  out->addNode(node, snode.parent());
177  }
178 
179  const std::vector<Real>& storedScales(in.getScales());
180  if (!storedScales.empty()) {
181  const unsigned nsc = storedScales.size();
182  out->reserveScales(nsc + 1U);
183  out->addScale(DBL_MAX);
184  const Real* scales = &storedScales[0];
185  for (unsigned i = 0; i < nsc; ++i)
186  out->addScale(scales[i]);
187  } else if (scaleSetIfNotAdaptive && !scaleSetIfNotAdaptive->empty()) {
188  const unsigned nsc = scaleSetIfNotAdaptive->size();
189  // There may be the "complete event" scale added at the end.
190  // Reserve a sufficient number of scales to take this into
191  // account.
192  if (completeEventScale)
193  out->reserveScales(nsc + 2U);
194  else
195  out->reserveScales(nsc + 1U);
196  out->addScale(DBL_MAX);
197  const double* scales = &(*scaleSetIfNotAdaptive)[0];
198  for (unsigned i = 0; i < nsc; ++i)
199  out->addScale(scales[i]);
200  if (completeEventScale)
201  out->addScale(completeEventScale);
202  } else {
203  throw cms::Exception("FFTJetBadConfig") << "can't restore sparse clustering tree scales" << std::endl;
204  }
205  }

References cms::cuda::assert(), fftjetdijetfilter_cfi::completeEventScale, Exception, mps_fire::i, recoMuon::in, dqmiodumpmetadata::n, class-composition::nodes, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_ParallelJobs::p, and mitigatedMETSequence_cff::U.

Referenced by FFTJetPatRecoProducer::buildSparseProduct(), FFTJetDijetFilter::filter(), FFTJetProducer::loadSparseTreeData(), and FFTJetTreeDump::processTreeData().

◆ sparsePeakTreeToStorable()

template<class Real >
void fftjetcms::sparsePeakTreeToStorable ( const fftjet::SparseClusteringTree< fftjet::Peak, long > &  in,
bool  writeOutScaleInfo,
reco::PattRecoTree< Real, reco::PattRecoPeak< Real > > *  out 
)

Definition at line 75 of file clusteringTreeConverters.h.

77  {
78  typedef fftjet::SparseClusteringTree<fftjet::Peak, long> SparseTree;
79  typedef reco::PattRecoPeak<Real> StoredPeak;
80  typedef reco::PattRecoNode<StoredPeak> StoredNode;
81  typedef reco::PattRecoTree<Real, StoredPeak> StoredTree;
82 
83  assert(tree);
84 
85  tree->clear();
86  tree->setSparse(true);
87 
88  const unsigned nNodes = sparseTree.size();
89  double hessian[3] = {0., 0., 0.};
90 
91  // Do not write out the meaningless top node
92  tree->reserveNodes(nNodes - 1);
93  for (unsigned i = 1; i < nNodes; ++i) {
94  const SparseTree::Node& node(sparseTree.getNode(i));
95  const fftjet::Peak& peak(node.getCluster());
96  peak.hessian(hessian);
97  StoredNode sn(StoredPeak(peak.eta(),
98  peak.phi(),
99  peak.magnitude(),
100  hessian,
101  peak.driftSpeed(),
102  peak.magSpeed(),
103  peak.lifetime(),
104  peak.scale(),
105  peak.nearestNeighborDistance(),
106  peak.clusterRadius(),
107  peak.clusterSeparation(),
108  peak.splitTime(),
109  peak.mergeTime()),
110  node.originalLevel(),
111  node.mask(),
112  node.parent());
113  tree->addNode(sn);
114  }
115 
116  // Do we want to write out the scales? We will use the following
117  // convention: if the tree is using an adaptive algorithm, the scales
118  // will be written out. If not, they are not going to change from
119  // event to event. In this case the scales would waste disk space
120  // for no particularly good reason, so they will not be written out.
121  if (writeOutScaleInfo) {
122  // Do not write out the meaningless top-level scale
123  const unsigned nScales = sparseTree.nLevels();
124  tree->reserveScales(nScales - 1);
125  for (unsigned i = 1; i < nScales; ++i)
126  tree->addScale(sparseTree.getScale(i));
127  }
128  }

References cms::cuda::assert(), mps_fire::i, and fftjetcommon_cfi::nScales.

Referenced by FFTJetPatRecoProducer::buildSparseProduct().

fftjetcms::PFJET
Definition: JetType.h:7
fftjetcms::fftjet_PeakFunctor_parser
std::unique_ptr< fftjet::Functor1< double, fftjet::Peak > > fftjet_PeakFunctor_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:474
fftjetcms::fftjet_LinearInterpolator2d_parser
std::unique_ptr< fftjet::LinearInterpolator2d > fftjet_LinearInterpolator2d_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:463
dttmaxenums::L
Definition: DTTMax.h:29
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
fftjetcms::TRACKJET
Definition: JetType.h:7
fftjetcommon_cfi.relativePtBandwidth
relativePtBandwidth
Definition: fftjetcommon_cfi.py:223
ALCARECOTkAlBeamHalo_cff.etaMin
etaMin
GeV.
Definition: ALCARECOTkAlBeamHalo_cff.py:32
mps_fire.i
i
Definition: mps_fire.py:355
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
fftjetcommon_cfi.nScales
nScales
Definition: fftjetcommon_cfi.py:111
cms::Node
TGeoNode Node
Definition: DDFilteredView.h:50
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
fftjetcms::ConstDouble
Definition: ScaleCalculators.h:17
multPhiCorr_741_25nsDY_cfi.py
py
Definition: multPhiCorr_741_25nsDY_cfi.py:12
fftjetcommon_cfi.maxScale
maxScale
Definition: fftjetcommon_cfi.py:110
fftjetpatrecoproducer_cfi.maxLevelNumber
maxLevelNumber
Definition: fftjetpatrecoproducer_cfi.py:116
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
tree
Definition: tree.py:1
fftjetcms::fftjet_LinearInterpolator1d_parser
std::unique_ptr< fftjet::LinearInterpolator1d > fftjet_LinearInterpolator1d_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:450
fftjetproducer_cfi.lifeTimeCut
lifeTimeCut
Definition: fftjetproducer_cfi.py:166
fftjetcommon_cfi.kernelParameters
kernelParameters
Definition: fftjetcommon_cfi.py:205
fftjetcms::PeakAbsEta
Definition: JetAbsEta.h:10
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
reco::FFTJet
Storage class for jets reconstructed by FFTJet package.
Definition: FFTJet.h:19
to
getRunAppsInfo.grid
grid
Definition: getRunAppsInfo.py:92
cms::cuda::assert
assert(be >=bs)
fftjetdijetfilter_cfi.completeEventScale
completeEventScale
Definition: fftjetdijetfilter_cfi.py:17
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
fftjetcms::fftjet_Function_parser
std::unique_ptr< fftjet::Functor1< double, double > > fftjet_Function_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:708
fftjetcms::MultiplyByConst
Definition: ScaleCalculators.h:41
fcn
void fcn(int &, double *, double &, double *, int)
Definition: LASBarrelAlgorithm.cc:388
beamerCreator.create
def create(alignables, pedeDump, additionalData, outputFile, config)
Definition: beamerCreator.py:44
fftjetcommon_cfi.minWeight
minWeight
Definition: fftjetcommon_cfi.py:213
RecoFFTJet
fftjet::RecombinedJet< VectorLike > RecoFFTJet
Definition: FFTJetParameterParser.cc:35
fftjetproducer_cfi.subtractPileupAs4Vec
subtractPileupAs4Vec
Definition: fftjetproducer_cfi.py:223
alignCSCRings.s
s
Definition: alignCSCRings.py:92
fftjetproducer_cfi.driftSpeedCut
driftSpeedCut
Definition: fftjetproducer_cfi.py:164
L1TOccupancyClient_cfi.ymax
ymax
Definition: L1TOccupancyClient_cfi.py:43
mixOne_premix_on_sim_cfi.pileup
pileup
Definition: mixOne_premix_on_sim_cfi.py:42
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
fftjetcms::EtaAndPtDependentPeakSelector::isValid
bool isValid() const
Definition: EtaAndPtDependentPeakSelector.h:23
class-composition.nodes
nodes
Definition: class-composition.py:75
fftjetcms::PileupGrid2d
Definition: PileupGrid2d.h:19
fftjetcms::JetEtaDependent
Definition: ScaleCalculators.h:183
DQMScaleToClient_cfi.factor
factor
Definition: DQMScaleToClient_cfi.py:8
fftjetcms::EtaDependentPileup
Definition: EtaDependentPileup.h:17
b
double b
Definition: hdecay.h:118
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
fftjetcms::CALOJET
Definition: JetType.h:7
fftjetcms::Real
double Real
Definition: fftjetTypedefs.h:21
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
fftjetcommon_cfi.phiBin0Edge
phiBin0Edge
Definition: fftjetcommon_cfi.py:31
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
mixed_calib_calo_ttbar_result.leftExtrapolationLinear
leftExtrapolationLinear
Definition: mixed_calib_calo_ttbar_result.py:10
fftjetcommon_cfi.fhigh
fhigh
Definition: fftjetcommon_cfi.py:192
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
fftjetcms::ProportionalToScale
Definition: ScaleCalculators.h:29
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
reco::PattRecoTree
Class for storing FFTJet sparse clustering trees.
Definition: PattRecoTree.h:20
edm::ParameterSet
Definition: ParameterSet.h:36
a
double a
Definition: hdecay.h:119
reco::PattRecoPeak
Preclusters from FFTJet pattern recognition stage.
Definition: PattRecoPeak.h:16
parse_peak_member_function
static bool parse_peak_member_function(const char *fname, fftjet::JetProperty< fftjet::Peak >::JetMemberFunction *f)
Definition: FFTJetParameterParser.cc:37
fftjetproducer_cfi.etaCut
etaCut
Definition: fftjetproducer_cfi.py:168
DeadROC_duringRun.f2
f2
Definition: DeadROC_duringRun.py:220
fftjetproducer_cfi.magSpeedCut
magSpeedCut
Definition: fftjetproducer_cfi.py:165
fftjetproducer_cfi.magCut
magCut
Definition: fftjetproducer_cfi.py:163
recoMuon::in
Definition: RecoMuonEnumerators.h:6
FrontierConditions_GlobalTag_cff.file
file
Definition: FrontierConditions_GlobalTag_cff.py:13
reco::PattRecoNode
Tree nodes for storing FFTJet preclusters.
Definition: PattRecoNode.h:16
make_param
#define make_param(type, varname)
Definition: FFTJetParameterParser.cc:31
fftjetcommon_cfi.minScale
minScale
Definition: fftjetcommon_cfi.py:109
value
Definition: value.py:1
fftjetcommon_cfi.sy
sy
Definition: fftjetcommon_cfi.py:203
fftjetcms::LinInterpolatedTable1D
Definition: LinInterpolatedTable1D.h:24
fftjetcms::PeakEtaDependent
Definition: ScaleCalculators.h:131
fftjetcms::fftjet_Grid2d_parser
std::unique_ptr< fftjet::Grid2d< Real > > fftjet_Grid2d_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:123
fftjetcms::JPTJET
Definition: JetType.h:7
fftjetcms::Polynomial
Definition: ScaleCalculators.h:204
fftjetcms::JetAbsEta
Definition: JetAbsEta.h:15
readEcalDQMStatus.read
read
Definition: readEcalDQMStatus.py:38
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
fftjetcms::MagnitudeDependent
Definition: ScaleCalculators.h:112
cms::cuda::device::unique_ptr
std::unique_ptr< T, impl::DeviceDeleter > unique_ptr
Definition: device_unique_ptr.h:33
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
multPhiCorr_741_25nsDY_cfi.px
px
Definition: multPhiCorr_741_25nsDY_cfi.py:10
fftjetcommon_cfi.flow
flow
Definition: fftjetcommon_cfi.py:191
fftjetcms::copy_Grid2d_data
void copy_Grid2d_data(fftjet::Grid2d< F2 > *to, const fftjet::Grid2d< F1 > &from)
Definition: gridConverters.h:39
L1TOccupancyClient_cfi.ymin
ymin
Definition: L1TOccupancyClient_cfi.py:43
fftjetpatrecoproducer_cfi.filterMask
filterMask
Definition: fftjetpatrecoproducer_cfi.py:117
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
math::XYZTLorentzVector
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
metsig::jet
Definition: SignAlgoResolutions.h:47
L1TMuonDQMOffline_cfi.nEtaBins
nEtaBins
Definition: L1TMuonDQMOffline_cfi.py:21
fftjetcommon_cfi.scalePower
scalePower
Definition: fftjetcommon_cfi.py:204
TrackerOfflineValidation_Dqm_cff.xmax
xmax
Definition: TrackerOfflineValidation_Dqm_cff.py:11
Exception
Definition: hltDiff.cc:246
fftjetcms::ProductFunctor
Definition: ScaleCalculators.h:87
ALCARECOTkAlBeamHalo_cff.etaMax
etaMax
Definition: ALCARECOTkAlBeamHalo_cff.py:33
fftjetpatrecoproducer_cfi.userScales
userScales
Definition: fftjetpatrecoproducer_cfi.py:118
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
bookConverter.prior
prior
Definition: bookConverter.py:146
fftjetproducer_cfi.splitTimeCut
splitTimeCut
Definition: fftjetproducer_cfi.py:169
className
std::string className(const T &t)
Definition: ClassName.h:31
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
fftjetcms::fftjet_LinInterpolatedTable1D_parser
std::unique_ptr< fftjetcms::LinInterpolatedTable1D > fftjet_LinInterpolatedTable1D_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:437
parse_jet_member_function
static bool parse_jet_member_function(const char *fname, fftjet::JetProperty< RecoFFTJet >::JetMemberFunction *f)
Definition: FFTJetParameterParser.cc:78
fftjetcms::fftjet_JetFunctor_parser
std::unique_ptr< fftjet::Functor1< double, fftjet::RecombinedJet< VectorLike > > > fftjet_JetFunctor_parser(const edm::ParameterSet &ps)
Definition: FFTJetParameterParser.cc:590
mps_fire.result
result
Definition: mps_fire.py:303
fftjetcms::EtaAndPtLookupPeakSelector
Definition: EtaAndPtDependentPeakSelector.h:35
cms::Exception
Definition: Exception.h:70
fftjetcms::BASICJET
Definition: JetType.h:7
mixed_calib_calo_ttbar_result.rightExtrapolationLinear
rightExtrapolationLinear
Definition: mixed_calib_calo_ttbar_result.py:11
ecaldqm::binning::nPhiBins
Definition: MESetBinningUtils.h:69
TrackerOfflineValidation_Dqm_cff.xmin
xmin
Definition: TrackerOfflineValidation_Dqm_cff.py:10
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
fftjetcms::EtaAndPtDependentPeakSelector
Definition: EtaAndPtDependentPeakSelector.h:17
fftjetcms::JetConvergenceDistance
Definition: JetConvergenceDistance.h:10
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
fftjetproducer_cfi.NNDCut
NNDCut
Definition: fftjetproducer_cfi.py:167
reco::PattRecoPeak::hessian
void hessian(double hessianArray[3]) const
Definition: PattRecoPeak.h:78
fftjetcommon_cfi.etaToPhiBandwidthRatio
etaToPhiBandwidthRatio
Definition: fftjetcommon_cfi.py:177
fftjetcms::CompositeFunctor
Definition: ScaleCalculators.h:62
g
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
fftjetcms::GENJET
Definition: JetType.h:7
fftjetproducer_cfi.mergeTimeCut
mergeTimeCut
Definition: fftjetproducer_cfi.py:170
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
fftjetcommon_cfi.sx
sx
Definition: fftjetcommon_cfi.py:202