CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
PileupJetIdAlgo Class Reference

#include <PileupJetIdAlgo.h>

Classes

class  AlgoGBRForestsAndConstants
 

Public Types

typedef std::map< std::string, std::pair< float *, float > > variables_list_t
 
enum  version_t { USER = -1, PHILv0 = 0 }
 

Public Member Functions

int computeCutIDflag (float betaStarClassic, float dR2Mean, float nvtx, float jetPt, float jetEta)
 
int computeIDflag (float mva, float jetPt, float jetEta)
 
int computeIDflag (float mva, int ptId, int etaId)
 
PileupJetIdentifier computeIdVariables (const reco::Jet *jet, float jec, const reco::Vertex *, const reco::VertexCollection &, double rho, bool usePuppi)
 
PileupJetIdentifier computeMva ()
 
std::string dumpVariables () const
 
std::pair< int, int > getJetIdKey (float jetPt, float jetEta)
 
float getMVAval (const std::vector< std::string > &, const std::unique_ptr< const GBRForest > &)
 
const variables_list_tgetVariables () const
 const PileupJetIdentifier::variables_list_t & getVariables() const { return variables_; }; More...
 
const std::string method () const
 
 PileupJetIdAlgo (AlgoGBRForestsAndConstants const *cache)
 
void set (const PileupJetIdentifier &)
 
 ~PileupJetIdAlgo ()
 

Protected Member Functions

void initVariables ()
 
void resetVariables ()
 
void runMva ()
 

Protected Attributes

AlgoGBRForestsAndConstants const * cache_
 
PileupJetIdentifier internalId_
 
variables_list_t variables_
 

Detailed Description

Definition at line 22 of file PileupJetIdAlgo.h.

Member Typedef Documentation

◆ variables_list_t

typedef std::map<std::string, std::pair<float*, float> > PileupJetIdAlgo::variables_list_t

Definition at line 41 of file PileupJetIdAlgo.h.

Member Enumeration Documentation

◆ version_t

Enumerator
USER 
PHILv0 

Definition at line 24 of file PileupJetIdAlgo.h.

24 { USER = -1, PHILv0 = 0 };

Constructor & Destructor Documentation

◆ PileupJetIdAlgo()

PileupJetIdAlgo::PileupJetIdAlgo ( AlgoGBRForestsAndConstants const *  cache)

Definition at line 133 of file PileupJetIdAlgo.cc.

133 : cache_(cache) { initVariables(); }

References initVariables().

◆ ~PileupJetIdAlgo()

PileupJetIdAlgo::~PileupJetIdAlgo ( )

Definition at line 136 of file PileupJetIdAlgo.cc.

136 {}

Member Function Documentation

◆ computeCutIDflag()

int PileupJetIdAlgo::computeCutIDflag ( float  betaStarClassic,
float  dR2Mean,
float  nvtx,
float  jetPt,
float  jetEta 
)

Definition at line 219 of file PileupJetIdAlgo.cc.

219  {
220  std::pair<int, int> jetIdKey = getJetIdKey(jetPt, jetEta);
221  float betaStarModified = betaStarClassic / log(nvtx - 0.64);
222  int idFlag(0);
223  if (betaStarModified < cache_->betaStarCut()[PileupJetIdentifier::kTight][jetIdKey.first][jetIdKey.second] &&
224  dR2Mean < cache_->rmsCut()[PileupJetIdentifier::kTight][jetIdKey.first][jetIdKey.second])
225  idFlag += 1 << PileupJetIdentifier::kTight;
226 
227  if (betaStarModified < cache_->betaStarCut()[PileupJetIdentifier::kMedium][jetIdKey.first][jetIdKey.second] &&
228  dR2Mean < cache_->rmsCut()[PileupJetIdentifier::kMedium][jetIdKey.first][jetIdKey.second])
229  idFlag += 1 << PileupJetIdentifier::kMedium;
230 
231  if (betaStarModified < cache_->betaStarCut()[PileupJetIdentifier::kLoose][jetIdKey.first][jetIdKey.second] &&
232  dR2Mean < cache_->rmsCut()[PileupJetIdentifier::kLoose][jetIdKey.first][jetIdKey.second])
233  idFlag += 1 << PileupJetIdentifier::kLoose;
234  return idFlag;
235 }

References getJetIdKey(), reco::btau::jetEta, reco::btau::jetPt, PileupJetIdentifier::kLoose, PileupJetIdentifier::kMedium, PileupJetIdentifier::kTight, and dqm-mbProfile::log.

Referenced by runMva().

◆ computeIDflag() [1/2]

int PileupJetIdAlgo::computeIDflag ( float  mva,
float  jetPt,
float  jetEta 
)

Definition at line 237 of file PileupJetIdAlgo.cc.

237  {
238  std::pair<int, int> jetIdKey = getJetIdKey(jetPt, jetEta);
239  return computeIDflag(mva, jetIdKey.first, jetIdKey.second);
240 }

References getJetIdKey(), reco::btau::jetEta, reco::btau::jetPt, and beam_dqm_sourceclient-live_cfg::mva.

Referenced by runMva().

◆ computeIDflag() [2/2]

int PileupJetIdAlgo::computeIDflag ( float  mva,
int  ptId,
int  etaId 
)

Definition at line 243 of file PileupJetIdAlgo.cc.

243  {
244  int idFlag(0);
245  if (mva > cache_->mvacut()[PileupJetIdentifier::kTight][ptId][etaId])
246  idFlag += 1 << PileupJetIdentifier::kTight;
247  if (mva > cache_->mvacut()[PileupJetIdentifier::kMedium][ptId][etaId])
248  idFlag += 1 << PileupJetIdentifier::kMedium;
249  if (mva > cache_->mvacut()[PileupJetIdentifier::kLoose][ptId][etaId])
250  idFlag += 1 << PileupJetIdentifier::kLoose;
251  return idFlag;
252 }

References cache_, PileupJetIdentifier::kLoose, PileupJetIdentifier::kMedium, PileupJetIdentifier::kTight, beam_dqm_sourceclient-live_cfg::mva, and PileupJetIdAlgo::AlgoGBRForestsAndConstants::mvacut().

◆ computeIdVariables()

PileupJetIdentifier PileupJetIdAlgo::computeIdVariables ( const reco::Jet jet,
float  jec,
const reco::Vertex vtx,
const reco::VertexCollection allvtx,
double  rho,
bool  usePuppi 
)

Definition at line 261 of file PileupJetIdAlgo.cc.

266  {
267  // initialize all variables to 0
268  resetVariables();
269 
270  // loop over constituents, accumulate sums and find leading candidates
271  const pat::Jet* patjet = dynamic_cast<const pat::Jet*>(jet);
272  const reco::PFJet* pfjet = dynamic_cast<const reco::PFJet*>(jet);
273  assert(patjet != nullptr || pfjet != nullptr);
274  if (patjet != nullptr && jec == 0.) { // if this is a pat jet and no jec has been passed take the jec from the object
275  jec = patjet->pt() / patjet->correctedJet(0).pt();
276  }
277  if (jec <= 0.) {
278  jec = 1.;
279  }
280 
281  const reco::Candidate *lLead = nullptr, *lSecond = nullptr, *lLeadNeut = nullptr, *lLeadEm = nullptr,
282  *lLeadCh = nullptr, *lTrail = nullptr;
283  std::vector<float> frac, fracCh, fracEm, fracNeut;
284  float cones[] = {0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7};
285  size_t ncones = sizeof(cones) / sizeof(float);
286  float* coneFracs[] = {&internalId_.frac01_,
293  float* coneEmFracs[] = {&internalId_.emFrac01_,
300  float* coneNeutFracs[] = {&internalId_.neutFrac01_,
307  float* coneChFracs[] = {&internalId_.chFrac01_,
314  TMatrixDSym covMatrix(2);
315  covMatrix = 0.;
316  float jetPt = jet->pt() / jec; // use uncorrected pt for shape variables
317  float sumPt = 0., sumPt2 = 0., sumTkPt = 0., sumPtCh = 0, sumPtNe = 0;
318  float multNeut = 0.0;
319  setPtEtaPhi(
320  *jet, internalId_.jetPt_, internalId_.jetEta_, internalId_.jetPhi_); // use corrected pt for jet kinematics
321  internalId_.jetM_ = jet->mass();
322  internalId_.nvtx_ = allvtx.size();
323  internalId_.rho_ = rho;
324 
325  float dRmin(1000);
326 
327  for (unsigned i = 0; i < jet->numberOfSourceCandidatePtrs(); ++i) {
328  reco::CandidatePtr pfJetConstituent = jet->sourceCandidatePtr(i);
329 
330  const reco::Candidate* icand = pfJetConstituent.get();
331  const pat::PackedCandidate* lPack = dynamic_cast<const pat::PackedCandidate*>(icand);
332  const reco::PFCandidate* lPF = dynamic_cast<const reco::PFCandidate*>(icand);
333  bool isPacked = true;
334  if (lPack == nullptr) {
335  isPacked = false;
336  }
337  float candPuppiWeight = 1.0;
338  if (usePuppi && isPacked)
339  candPuppiWeight = lPack->puppiWeight();
340  float candPt = (icand->pt()) * candPuppiWeight;
341  float candPtFrac = candPt / jetPt;
342  float candDr = reco::deltaR(*icand, *jet);
343  float candDeta = icand->eta() - jet->eta();
344  float candDphi = reco::deltaPhi(*icand, *jet);
345  float candPtDr = candPt * candDr;
346  size_t icone = std::lower_bound(&cones[0], &cones[ncones], candDr) - &cones[0];
347 
348  if (candDr < dRmin)
349  dRmin = candDr;
350 
351  // // all particles
352  if (lLead == nullptr || candPt > lLead->pt()) {
353  lSecond = lLead;
354  lLead = icand;
355  } else if ((lSecond == nullptr || candPt > lSecond->pt()) && (candPt < lLead->pt())) {
356  lSecond = icand;
357  }
358 
359  // // average shapes
360  internalId_.dRMean_ += candPtDr;
361  internalId_.dR2Mean_ += candPtDr * candPtDr;
362  covMatrix(0, 0) += candPt * candPt * candDeta * candDeta;
363  covMatrix(0, 1) += candPt * candPt * candDeta * candDphi;
364  covMatrix(1, 1) += candPt * candPt * candDphi * candDphi;
365  internalId_.ptD_ += candPt * candPt;
366  sumPt += candPt;
367  sumPt2 += candPt * candPt;
368 
369  // single most energetic candiates and jet shape profiles
370  frac.push_back(candPtFrac);
371 
372  if (icone < ncones) {
373  *coneFracs[icone] += candPt;
374  }
375 
376  // neutrals
377  if (abs(icand->pdgId()) == 130) {
378  if (lLeadNeut == nullptr || candPt > lLeadNeut->pt()) {
379  lLeadNeut = icand;
380  }
381  internalId_.dRMeanNeut_ += candPtDr;
382  fracNeut.push_back(candPtFrac);
383  if (icone < ncones) {
384  *coneNeutFracs[icone] += candPt;
385  }
386  internalId_.ptDNe_ += candPt * candPt;
387  sumPtNe += candPt;
388  multNeut += candPuppiWeight;
389  }
390  // EM candidated
391  if (icand->pdgId() == 22) {
392  if (lLeadEm == nullptr || candPt > lLeadEm->pt()) {
393  lLeadEm = icand;
394  }
395  internalId_.dRMeanEm_ += candPtDr;
396  fracEm.push_back(candPtFrac);
397  if (icone < ncones) {
398  *coneEmFracs[icone] += candPt;
399  }
400  internalId_.ptDNe_ += candPt * candPt;
401  sumPtNe += candPt;
402  multNeut += candPuppiWeight;
403  }
404  if ((abs(icand->pdgId()) == 1) || (abs(icand->pdgId()) == 2))
405  multNeut += candPuppiWeight;
406 
407  // Charged particles
408  if (icand->charge() != 0) {
409  if (lLeadCh == nullptr || candPt > lLeadCh->pt()) {
410  lLeadCh = icand;
411 
412  const reco::Track* pfTrk = icand->bestTrack();
413  if (lPF && std::abs(icand->pdgId()) == 13 && pfTrk == nullptr) {
414  reco::MuonRef lmuRef = lPF->muonRef();
415  if (lmuRef.isNonnull()) {
416  const reco::Muon& lmu = *lmuRef.get();
417  pfTrk = lmu.bestTrack();
418  edm::LogWarning("BadMuon")
419  << "Found a PFCandidate muon without a trackRef: falling back to Muon::bestTrack ";
420  }
421  }
422  if (pfTrk == nullptr) { //protection against empty pointers for the miniAOD case
423  //To handle the electron case
424  if (isPacked) {
425  internalId_.d0_ = std::abs(lPack->dxy(vtx->position()));
426  internalId_.dZ_ = std::abs(lPack->dz(vtx->position()));
427  } else if (lPF != nullptr) {
428  pfTrk = (lPF->trackRef().get() == nullptr) ? lPF->gsfTrackRef().get() : lPF->trackRef().get();
429  internalId_.d0_ = std::abs(pfTrk->dxy(vtx->position()));
430  internalId_.dZ_ = std::abs(pfTrk->dz(vtx->position()));
431  }
432  } else {
433  internalId_.d0_ = std::abs(pfTrk->dxy(vtx->position()));
434  internalId_.dZ_ = std::abs(pfTrk->dz(vtx->position()));
435  }
436  }
437  internalId_.dRMeanCh_ += candPtDr;
438  internalId_.ptDCh_ += candPt * candPt;
439  fracCh.push_back(candPtFrac);
440  if (icone < ncones) {
441  *coneChFracs[icone] += candPt;
442  }
443  sumPtCh += candPt;
444  }
445  // // beta and betastar
446  if (icand->charge() != 0) {
447  if (!isPacked) {
448  if (lPF->trackRef().isNonnull()) {
449  float tkpt = candPt;
450  sumTkPt += tkpt;
451  // 'classic' beta definition based on track-vertex association
452  bool inVtx0 = vtx->trackWeight(lPF->trackRef()) > 0;
453 
454  bool inAnyOther = false;
455  // alternative beta definition based on track-vertex distance of closest approach
456  double dZ0 = std::abs(lPF->trackRef()->dz(vtx->position()));
457  double dZ = dZ0;
458  for (reco::VertexCollection::const_iterator vi = allvtx.begin(); vi != allvtx.end(); ++vi) {
459  const reco::Vertex& iv = *vi;
460  if (iv.isFake() || iv.ndof() < 4) {
461  continue;
462  }
463  // the primary vertex may have been copied by the user: check identity by position
464  bool isVtx0 = (iv.position() - vtx->position()).r() < 0.02;
465  // 'classic' beta definition: check if the track is associated with
466  // any vertex other than the primary one
467  if (!isVtx0 && !inAnyOther) {
468  inAnyOther = vtx->trackWeight(lPF->trackRef()) <= 0;
469  }
470  // alternative beta: find closest vertex to the track
471  dZ = std::min(dZ, std::abs(lPF->trackRef()->dz(iv.position())));
472  }
473  // classic beta/betaStar
474  if (inVtx0 && !inAnyOther) {
475  internalId_.betaClassic_ += tkpt;
476  } else if (!inVtx0 && inAnyOther) {
478  }
479  // alternative beta/betaStar
480  if (dZ0 < 0.2) {
481  internalId_.beta_ += tkpt;
482  } else if (dZ < 0.2) {
483  internalId_.betaStar_ += tkpt;
484  }
485  }
486  } else {
487  float tkpt = candPt;
488  sumTkPt += tkpt;
489  bool inVtx0 = false;
490  bool inVtxOther = false;
491  double dZ0 = 9999.;
492  double dZ_tmp = 9999.;
493  for (unsigned vtx_i = 0; vtx_i < allvtx.size(); vtx_i++) {
494  auto iv = allvtx[vtx_i];
495 
496  if (iv.isFake())
497  continue;
498 
499  // Match to vertex in case of copy as above
500  bool isVtx0 = (iv.position() - vtx->position()).r() < 0.02;
501 
502  if (isVtx0) {
503  if (lPack->fromPV(vtx_i) == pat::PackedCandidate::PVUsedInFit)
504  inVtx0 = true;
505  if (lPack->fromPV(vtx_i) == 0)
506  inVtxOther = true;
507  dZ0 = lPack->dz(iv.position());
508  }
509 
510  if (fabs(lPack->dz(iv.position())) < fabs(dZ_tmp)) {
511  dZ_tmp = lPack->dz(iv.position());
512  }
513  }
514  if (inVtx0) {
515  internalId_.betaClassic_ += tkpt;
516  } else if (inVtxOther) {
518  }
519  if (fabs(dZ0) < 0.2) {
520  internalId_.beta_ += tkpt;
521  } else if (fabs(dZ_tmp) < 0.2) {
522  internalId_.betaStar_ += tkpt;
523  }
524  }
525  }
526 
527  // trailing candidate
528  if (lTrail == nullptr || candPt < lTrail->pt()) {
529  lTrail = icand;
530  }
531  }
532 
533  // // Finalize all variables
534  assert(!(lLead == nullptr));
535 
536  if (lSecond == nullptr) {
537  lSecond = lTrail;
538  }
539  if (lLeadNeut == nullptr) {
540  lLeadNeut = lTrail;
541  }
542  if (lLeadEm == nullptr) {
543  lLeadEm = lTrail;
544  }
545  if (lLeadCh == nullptr) {
546  lLeadCh = lTrail;
547  }
548 
549  if (patjet != nullptr) { // to enable running on MiniAOD slimmedJets
552  internalId_.chgEMfrac_ = patjet->chargedEmEnergy() / jet->energy();
553  internalId_.neuEMfrac_ = patjet->neutralEmEnergy() / jet->energy();
554  internalId_.chgHadrfrac_ = patjet->chargedHadronEnergy() / jet->energy();
555  internalId_.neuHadrfrac_ = patjet->neutralHadronEnergy() / jet->energy();
556  if (usePuppi)
557  internalId_.nNeutrals_ = multNeut;
558  } else {
561  internalId_.chgEMfrac_ = pfjet->chargedEmEnergy() / jet->energy();
562  internalId_.neuEMfrac_ = pfjet->neutralEmEnergy() / jet->energy();
563  internalId_.chgHadrfrac_ = pfjet->chargedHadronEnergy() / jet->energy();
564  internalId_.neuHadrfrac_ = pfjet->neutralHadronEnergy() / jet->energy();
565  }
566  internalId_.nParticles_ = jet->nConstituents();
567 
569  float sumW2(0.0);
570  float sum_deta(0.0), sum_dphi(0.0);
571  float ave_deta(0.0), ave_dphi(0.0);
572  for (size_t j = 0; j < jet->numberOfDaughters(); j++) {
573  const auto& part = jet->daughterPtr(j);
574  if (!(part.isAvailable() && part.isNonnull())) {
575  continue;
576  }
577 
578  float partPuppiWeight = 1.0;
579  if (usePuppi) {
580  const pat::PackedCandidate* partpack = dynamic_cast<const pat::PackedCandidate*>(part.get());
581  if (partpack != nullptr)
582  partPuppiWeight = partpack->puppiWeight();
583  }
584 
585  float weight = (part->pt()) * partPuppiWeight;
586  float weight2 = weight * weight;
587  sumW2 += weight2;
588  float deta = part->eta() - jet->eta();
589  float dphi = reco::deltaPhi(*part, *jet);
590  sum_deta += deta * weight2;
591  sum_dphi += dphi * weight2;
592  if (sumW2 > 0) {
593  ave_deta = sum_deta / sumW2;
594  ave_dphi = sum_dphi / sumW2;
595  }
596  }
597 
598  float ddetaR_sum(0.0), ddphiR_sum(0.0), pull_tmp(0.0);
599  for (size_t i = 0; i < jet->numberOfDaughters(); i++) {
600  const auto& part = jet->daughterPtr(i);
601  if (!(part.isAvailable() && part.isNonnull())) {
602  continue;
603  }
604 
605  float partPuppiWeight = 1.0;
606  if (usePuppi) {
607  const pat::PackedCandidate* partpack = dynamic_cast<const pat::PackedCandidate*>(part.get());
608  if (partpack != nullptr)
609  partPuppiWeight = partpack->puppiWeight();
610  }
611 
612  float weight = partPuppiWeight * (part->pt()) * partPuppiWeight * (part->pt());
613  float deta = part->eta() - jet->eta();
614  float dphi = reco::deltaPhi(*part, *jet);
615  float ddeta, ddphi, ddR;
616  ddeta = deta - ave_deta;
617  ddphi = dphi - ave_dphi;
618  ddR = sqrt(ddeta * ddeta + ddphi * ddphi);
619  ddetaR_sum += ddR * ddeta * weight;
620  ddphiR_sum += ddR * ddphi * weight;
621  }
622  if (sumW2 > 0) {
623  float ddetaR_ave = ddetaR_sum / sumW2;
624  float ddphiR_ave = ddphiR_sum / sumW2;
625  pull_tmp = sqrt(ddetaR_ave * ddetaR_ave + ddphiR_ave * ddphiR_ave);
626  }
627  internalId_.pull_ = pull_tmp;
629 
635 
636  std::sort(frac.begin(), frac.end(), std::greater<float>());
637  std::sort(fracCh.begin(), fracCh.end(), std::greater<float>());
638  std::sort(fracEm.begin(), fracEm.end(), std::greater<float>());
639  std::sort(fracNeut.begin(), fracNeut.end(), std::greater<float>());
641  assign(
643  assign(
645  assign(fracNeut,
650 
651  covMatrix(0, 0) /= sumPt2;
652  covMatrix(0, 1) /= sumPt2;
653  covMatrix(1, 1) /= sumPt2;
654  covMatrix(1, 0) = covMatrix(0, 1);
655  internalId_.etaW_ = sqrt(covMatrix(0, 0));
656  internalId_.phiW_ = sqrt(covMatrix(1, 1));
658  TVectorD eigVals(2);
659  eigVals = TMatrixDSymEigen(covMatrix).GetEigenValues();
660  internalId_.majW_ = sqrt(std::abs(eigVals(0)));
661  internalId_.minW_ = sqrt(std::abs(eigVals(1)));
664  }
665 
667  if (lSecond == nullptr) {
668  internalId_.dRLead2nd_ = reco::deltaR(*jet, *lSecond);
669  }
674  internalId_.dR2Mean_ /= sumPt2;
675 
676  for (size_t ic = 0; ic < ncones; ++ic) {
677  *coneFracs[ic] /= jetPt;
678  *coneEmFracs[ic] /= jetPt;
679  *coneNeutFracs[ic] /= jetPt;
680  *coneChFracs[ic] /= jetPt;
681  }
682  //http://jets.physics.harvard.edu/qvg/
683  double ptMean = sumPt / internalId_.nParticles_;
684  double ptRMS = 0;
685  for (unsigned int i0 = 0; i0 < frac.size(); i0++) {
686  ptRMS += (frac[i0] - ptMean) * (frac[i0] - ptMean);
687  }
688  ptRMS /= internalId_.nParticles_;
689  ptRMS = sqrt(ptRMS);
690 
691  internalId_.ptMean_ = ptMean;
692  internalId_.ptRMS_ = ptRMS / jetPt;
698  internalId_.sumChPt_ = sumPtCh;
699  internalId_.sumNePt_ = sumPtNe;
700 
701  internalId_.jetR_ = lLead->pt() / sumPt;
702  internalId_.jetRchg_ = lLeadCh->pt() / sumPt;
703  internalId_.dRMatch_ = dRmin;
704 
705  if (sumTkPt != 0.) {
706  internalId_.beta_ /= sumTkPt;
707  internalId_.betaStar_ /= sumTkPt;
708  internalId_.betaClassic_ /= sumTkPt;
709  internalId_.betaStarClassic_ /= sumTkPt;
710  } else {
713  }
714 
715  if (cache_->runMvas()) {
716  runMva();
717  }
718 
720 }

References funct::abs(), cms::cuda::assert(), assign(), reco::Muon::bestTrack(), reco::Candidate::bestTrack(), StoredPileupJetIdentifier::beta_, StoredPileupJetIdentifier::betaClassic_, StoredPileupJetIdentifier::betaStar_, StoredPileupJetIdentifier::betaStarClassic_, cache_, reco::Candidate::charge(), reco::PFJet::chargedEmEnergy(), pat::Jet::chargedEmEnergy(), reco::PFJet::chargedHadronEnergy(), pat::Jet::chargedHadronEnergy(), reco::PFJet::chargedMultiplicity(), pat::Jet::chargedMultiplicity(), PileupJetIdentifier::chFrac01_, PileupJetIdentifier::chFrac02_, PileupJetIdentifier::chFrac03_, PileupJetIdentifier::chFrac04_, PileupJetIdentifier::chFrac05_, PileupJetIdentifier::chFrac06_, PileupJetIdentifier::chFrac07_, PileupJetIdentifier::chgEMfrac_, PileupJetIdentifier::chgHadrfrac_, pat::Jet::correctedJet(), PileupJetIdentifier::d0_, reco::deltaPhi(), reco::deltaR(), StoredPileupJetIdentifier::dR2Mean_, PileupJetIdentifier::dRLead2nd_, PileupJetIdentifier::dRLeadCent_, StoredPileupJetIdentifier::dRMatch_, StoredPileupJetIdentifier::dRMean_, PileupJetIdentifier::dRMeanCh_, PileupJetIdentifier::dRMeanEm_, PileupJetIdentifier::dRMeanNeut_, reco::TrackBase::dxy(), pat::PackedCandidate::dxy(), reco::TrackBase::dz(), pat::PackedCandidate::dz(), StoredPileupJetIdentifier::dZ_, PileupJetIdentifier::emFrac01_, PileupJetIdentifier::emFrac02_, PileupJetIdentifier::emFrac03_, PileupJetIdentifier::emFrac04_, PileupJetIdentifier::emFrac05_, PileupJetIdentifier::emFrac06_, PileupJetIdentifier::emFrac07_, reco::Candidate::eta(), PileupJetIdentifier::etaW_, PileupJetIdentifier::fourthChFrac_, PileupJetIdentifier::fourthEmFrac_, PileupJetIdentifier::fourthFrac_, PileupJetIdentifier::fourthNeutFrac_, DivergingColor::frac, StoredPileupJetIdentifier::frac01_, StoredPileupJetIdentifier::frac02_, StoredPileupJetIdentifier::frac03_, StoredPileupJetIdentifier::frac04_, StoredPileupJetIdentifier::frac05_, StoredPileupJetIdentifier::frac06_, StoredPileupJetIdentifier::frac07_, pat::PackedCandidate::fromPV(), edm::Ptr< T >::get(), edm::Ref< C, T, F >::get(), reco::PFCandidate::gsfTrackRef(), mps_fire::i, internalId_, edm::Ref< C, T, F >::isNonnull(), gpuVertexFinder::iv, dqmiolumiharvest::j, jetMETDQMOfflineSource_cff::jec, metsig::jet, StoredPileupJetIdentifier::jetEta_, PileupJetIdentifier::jetM_, PileupJetIdentifier::jetPhi_, reco::btau::jetPt, StoredPileupJetIdentifier::jetPt_, StoredPileupJetIdentifier::jetR_, StoredPileupJetIdentifier::jetRchg_, PileupJetIdentifier::jetW_, PileupJetIdentifier::leadChEta_, PileupJetIdentifier::leadChFrac_, PileupJetIdentifier::leadChPhi_, PileupJetIdentifier::leadChPt_, PileupJetIdentifier::leadEmEta_, PileupJetIdentifier::leadEmFrac_, PileupJetIdentifier::leadEmPhi_, PileupJetIdentifier::leadEmPt_, PileupJetIdentifier::leadEta_, PileupJetIdentifier::leadFrac_, PileupJetIdentifier::leadNeutEta_, PileupJetIdentifier::leadNeutFrac_, PileupJetIdentifier::leadNeutPhi_, PileupJetIdentifier::leadNeutPt_, PileupJetIdentifier::leadPhi_, PileupJetIdentifier::leadPt_, pfDeepBoostedJetPreprocessParams_cfi::lower_bound, StoredPileupJetIdentifier::majW_, min(), StoredPileupJetIdentifier::minW_, reco::PFCandidate::muonRef(), StoredPileupJetIdentifier::nCharged_, PileupJetIdentifier::neuEMfrac_, PileupJetIdentifier::neuHadrfrac_, PileupJetIdentifier::neutFrac01_, PileupJetIdentifier::neutFrac02_, PileupJetIdentifier::neutFrac03_, PileupJetIdentifier::neutFrac04_, PileupJetIdentifier::neutFrac05_, PileupJetIdentifier::neutFrac06_, PileupJetIdentifier::neutFrac07_, reco::PFJet::neutralEmEnergy(), pat::Jet::neutralEmEnergy(), reco::PFJet::neutralHadronEnergy(), pat::Jet::neutralHadronEnergy(), reco::PFJet::neutralMultiplicity(), pat::Jet::neutralMultiplicity(), StoredPileupJetIdentifier::nNeutrals_, StoredPileupJetIdentifier::nParticles_, StoredPileupJetIdentifier::nvtx_, reco::Candidate::pdgId(), PileupJetIdentifier::phiW_, DiDispStaMuonMonitor_cfi::pt, reco::Candidate::pt(), reco::LeafCandidate::pt(), PileupJetIdentifier::pt2A_, StoredPileupJetIdentifier::ptD_, PileupJetIdentifier::ptDCh_, PileupJetIdentifier::ptDNe_, PileupJetIdentifier::ptMean_, PileupJetIdentifier::ptRMS_, StoredPileupJetIdentifier::pull_, pat::PackedCandidate::puppiWeight(), pat::PackedCandidate::PVUsedInFit, alignCSCRings::r, resetVariables(), rho, StoredPileupJetIdentifier::rho_, runMva(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::runMvas(), PileupJetIdentifier::secondChFrac_, PileupJetIdentifier::secondEmFrac_, PileupJetIdentifier::secondEta_, PileupJetIdentifier::secondFrac_, PileupJetIdentifier::secondNeutFrac_, PileupJetIdentifier::secondPhi_, PileupJetIdentifier::secondPt_, setPtEtaPhi(), jetUpdater_cfi::sort, mathSSE::sqrt(), PileupJetIdentifier::sumChPt_, PileupJetIdentifier::sumNePt_, TtFullHadEvtBuilder_cfi::sumPt, PileupJetIdentifier::sumPt_, std::swap(), PileupJetIdentifier::thirdChFrac_, PileupJetIdentifier::thirdEmFrac_, PileupJetIdentifier::thirdFrac_, PileupJetIdentifier::thirdNeutFrac_, reco::PFCandidate::trackRef(), PileupJetID_cfi::usePuppi, extraflags_cff::vtx, and mps_merge::weight.

Referenced by PileupJetIdProducer::produce().

◆ computeMva()

PileupJetIdentifier PileupJetIdAlgo::computeMva ( )

Definition at line 255 of file PileupJetIdAlgo.cc.

255  {
256  runMva();
258 }

References internalId_, and runMva().

Referenced by PileupJetIdProducer::produce().

◆ dumpVariables()

std::string PileupJetIdAlgo::dumpVariables ( ) const

Definition at line 723 of file PileupJetIdAlgo.cc.

723  {
724  std::stringstream out;
725  for (variables_list_t::const_iterator it = variables_.begin(); it != variables_.end(); ++it) {
726  out << std::setw(15) << it->first << std::setw(3) << "=" << std::setw(5) << *it->second.first << " ("
727  << std::setw(5) << it->second.second << ")" << std::endl;
728  }
729  return out.str();
730 }

References MillePedeFileConverter_cfg::out, and variables_.

◆ getJetIdKey()

std::pair< int, int > PileupJetIdAlgo::getJetIdKey ( float  jetPt,
float  jetEta 
)

Definition at line 197 of file PileupJetIdAlgo.cc.

197  {
198  int ptId = 0;
199  if (jetPt >= 10 && jetPt < 20)
200  ptId = 1;
201  if (jetPt >= 20 && jetPt < 30)
202  ptId = 2;
203  if (jetPt >= 30 && jetPt < 40)
204  ptId = 3;
205  if (jetPt >= 40)
206  ptId = 4;
207 
208  int etaId = 0;
209  if (std::abs(jetEta) >= 2.5 && std::abs(jetEta) < 2.75)
210  etaId = 1;
211  if (std::abs(jetEta) >= 2.75 && std::abs(jetEta) < 3.0)
212  etaId = 2;
213  if (std::abs(jetEta) >= 3.0 && std::abs(jetEta) < 5.0)
214  etaId = 3;
215 
216  return std::pair<int, int>(ptId, etaId);
217 }

References funct::abs(), reco::btau::jetEta, and reco::btau::jetPt.

Referenced by computeCutIDflag(), and computeIDflag().

◆ getMVAval()

float PileupJetIdAlgo::getMVAval ( const std::vector< std::string > &  varList,
const std::unique_ptr< const GBRForest > &  reader 
)

Definition at line 158 of file PileupJetIdAlgo.cc.

159  {
160  std::vector<float> vars;
161  for (std::vector<std::string>::const_iterator it = varList.begin(); it != varList.end(); ++it) {
162  std::pair<float*, float> var = variables_.at(*it);
163  vars.push_back(*var.first);
164  }
165  return reader->GetClassifier(vars.data());
166 }

References DQM::reader, trigObjTnPSource_cfi::var, and variables_.

Referenced by runMva().

◆ getVariables()

const variables_list_t& PileupJetIdAlgo::getVariables ( ) const
inline

const PileupJetIdentifier::variables_list_t & getVariables() const { return variables_; };

Definition at line 49 of file PileupJetIdAlgo.h.

49 { return variables_; };

References variables_.

◆ initVariables()

void PileupJetIdAlgo::initVariables ( )
protected

Definition at line 746 of file PileupJetIdAlgo.cc.

746  {
747  internalId_.idFlag_ = 0;
748  INIT_VARIABLE(mva, "", -100.);
749  //INIT_VARIABLE(jetPt , "jspt_1", 0.);
750  //INIT_VARIABLE(jetEta , "jseta_1", large_val);
751  INIT_VARIABLE(jetPt, "", 0.);
753  INIT_VARIABLE(jetPhi, "jsphi_1", large_val);
754  INIT_VARIABLE(jetM, "jm_1", 0.);
755 
756  INIT_VARIABLE(nCharged, "", 0.);
757  INIT_VARIABLE(nNeutrals, "", 0.);
758 
759  INIT_VARIABLE(chgEMfrac, "", 0.);
760  INIT_VARIABLE(neuEMfrac, "", 0.);
761  INIT_VARIABLE(chgHadrfrac, "", 0.);
762  INIT_VARIABLE(neuHadrfrac, "", 0.);
763 
764  INIT_VARIABLE(d0, "jd0_1", -1000.);
765  INIT_VARIABLE(dZ, "jdZ_1", -1000.);
766  //INIT_VARIABLE(nParticles , "npart_1" , 0.);
767  INIT_VARIABLE(nParticles, "", 0.);
768 
769  INIT_VARIABLE(leadPt, "lpt_1", 0.);
770  INIT_VARIABLE(leadEta, "leta_1", large_val);
771  INIT_VARIABLE(leadPhi, "lphi_1", large_val);
772  INIT_VARIABLE(secondPt, "spt_1", 0.);
773  INIT_VARIABLE(secondEta, "seta_1", large_val);
774  INIT_VARIABLE(secondPhi, "sphi_1", large_val);
775  INIT_VARIABLE(leadNeutPt, "lnept_1", 0.);
776  INIT_VARIABLE(leadNeutEta, "lneeta_1", large_val);
777  INIT_VARIABLE(leadNeutPhi, "lnephi_1", large_val);
778  INIT_VARIABLE(leadEmPt, "lempt_1", 0.);
779  INIT_VARIABLE(leadEmEta, "lemeta_1", large_val);
780  INIT_VARIABLE(leadEmPhi, "lemphi_1", large_val);
781  INIT_VARIABLE(leadChPt, "lchpt_1", 0.);
782  INIT_VARIABLE(leadChEta, "lcheta_1", large_val);
783  INIT_VARIABLE(leadChPhi, "lchphi_1", large_val);
784  INIT_VARIABLE(leadFrac, "lLfr_1", 0.);
785 
786  INIT_VARIABLE(dRLeadCent, "drlc_1", 0.);
787  INIT_VARIABLE(dRLead2nd, "drls_1", 0.);
788  INIT_VARIABLE(dRMean, "drm_1", 0.);
789  INIT_VARIABLE(dRMean, "", 0.);
790  INIT_VARIABLE(pull, "", 0.);
791  INIT_VARIABLE(dRMeanNeut, "drmne_1", 0.);
792  INIT_VARIABLE(dRMeanEm, "drem_1", 0.);
793  INIT_VARIABLE(dRMeanCh, "drch_1", 0.);
794  INIT_VARIABLE(dR2Mean, "", 0.);
795 
796  INIT_VARIABLE(ptD, "", 0.);
797  INIT_VARIABLE(ptMean, "", 0.);
798  INIT_VARIABLE(ptRMS, "", 0.);
799  INIT_VARIABLE(pt2A, "", 0.);
800  INIT_VARIABLE(ptDCh, "", 0.);
801  INIT_VARIABLE(ptDNe, "", 0.);
802  INIT_VARIABLE(sumPt, "", 0.);
803  INIT_VARIABLE(sumChPt, "", 0.);
804  INIT_VARIABLE(sumNePt, "", 0.);
805 
806  INIT_VARIABLE(secondFrac, "", 0.);
807  INIT_VARIABLE(thirdFrac, "", 0.);
808  INIT_VARIABLE(fourthFrac, "", 0.);
809 
810  INIT_VARIABLE(leadChFrac, "", 0.);
811  INIT_VARIABLE(secondChFrac, "", 0.);
812  INIT_VARIABLE(thirdChFrac, "", 0.);
813  INIT_VARIABLE(fourthChFrac, "", 0.);
814 
815  INIT_VARIABLE(leadNeutFrac, "", 0.);
816  INIT_VARIABLE(secondNeutFrac, "", 0.);
817  INIT_VARIABLE(thirdNeutFrac, "", 0.);
818  INIT_VARIABLE(fourthNeutFrac, "", 0.);
819 
820  INIT_VARIABLE(leadEmFrac, "", 0.);
821  INIT_VARIABLE(secondEmFrac, "", 0.);
822  INIT_VARIABLE(thirdEmFrac, "", 0.);
823  INIT_VARIABLE(fourthEmFrac, "", 0.);
824 
825  INIT_VARIABLE(jetW, "", 1.);
826  INIT_VARIABLE(etaW, "", 1.);
827  INIT_VARIABLE(phiW, "", 1.);
828 
829  INIT_VARIABLE(majW, "", 1.);
830  INIT_VARIABLE(minW, "", 1.);
831 
832  INIT_VARIABLE(frac01, "", 0.);
833  INIT_VARIABLE(frac02, "", 0.);
834  INIT_VARIABLE(frac03, "", 0.);
835  INIT_VARIABLE(frac04, "", 0.);
836  INIT_VARIABLE(frac05, "", 0.);
837  INIT_VARIABLE(frac06, "", 0.);
838  INIT_VARIABLE(frac07, "", 0.);
839 
840  INIT_VARIABLE(chFrac01, "", 0.);
841  INIT_VARIABLE(chFrac02, "", 0.);
842  INIT_VARIABLE(chFrac03, "", 0.);
843  INIT_VARIABLE(chFrac04, "", 0.);
844  INIT_VARIABLE(chFrac05, "", 0.);
845  INIT_VARIABLE(chFrac06, "", 0.);
846  INIT_VARIABLE(chFrac07, "", 0.);
847 
848  INIT_VARIABLE(neutFrac01, "", 0.);
849  INIT_VARIABLE(neutFrac02, "", 0.);
850  INIT_VARIABLE(neutFrac03, "", 0.);
851  INIT_VARIABLE(neutFrac04, "", 0.);
852  INIT_VARIABLE(neutFrac05, "", 0.);
853  INIT_VARIABLE(neutFrac06, "", 0.);
854  INIT_VARIABLE(neutFrac07, "", 0.);
855 
856  INIT_VARIABLE(emFrac01, "", 0.);
857  INIT_VARIABLE(emFrac02, "", 0.);
858  INIT_VARIABLE(emFrac03, "", 0.);
859  INIT_VARIABLE(emFrac04, "", 0.);
860  INIT_VARIABLE(emFrac05, "", 0.);
861  INIT_VARIABLE(emFrac06, "", 0.);
862  INIT_VARIABLE(emFrac07, "", 0.);
863 
864  INIT_VARIABLE(beta, "", 0.);
865  INIT_VARIABLE(betaStar, "", 0.);
866  INIT_VARIABLE(betaClassic, "", 0.);
867  INIT_VARIABLE(betaStarClassic, "", 0.);
868 
869  INIT_VARIABLE(nvtx, "", 0.);
870  INIT_VARIABLE(rho, "", 0.);
871  INIT_VARIABLE(nTrueInt, "", 0.);
872 
873  INIT_VARIABLE(jetR, "", 0.);
874  INIT_VARIABLE(jetRchg, "", 0.);
875  INIT_VARIABLE(dRMatch, "", 0.);
876 }

References HLT_FULL_cff::beta, BeamSpotFakeParameters_cfi::betaStar, d0, METSignificanceParams_cfi::dRMatch, PileupJetIdentifier::idFlag_, INIT_VARIABLE, internalId_, reco::btau::jetEta, reco::btau::jetPhi, reco::btau::jetPt, LHEJetFilter_cfi::jetR, large_val, beam_dqm_sourceclient-live_cfg::mva, HLT_FULL_cff::nCharged, jets_cff::ptD, rho, and TtFullHadEvtBuilder_cfi::sumPt.

Referenced by PileupJetIdAlgo().

◆ method()

const std::string PileupJetIdAlgo::method ( ) const
inline

Definition at line 37 of file PileupJetIdAlgo.h.

37 { return cache_->tmvaMethod(); }

References cache_, and PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaMethod().

◆ resetVariables()

void PileupJetIdAlgo::resetVariables ( )
protected

Definition at line 733 of file PileupJetIdAlgo.cc.

733  {
734  internalId_.idFlag_ = 0;
735  for (variables_list_t::iterator it = variables_.begin(); it != variables_.end(); ++it) {
736  *it->second.first = it->second.second;
737  }
738 }

References PileupJetIdentifier::idFlag_, internalId_, and variables_.

Referenced by computeIdVariables().

◆ runMva()

void PileupJetIdAlgo::runMva ( )
protected

Definition at line 168 of file PileupJetIdAlgo.cc.

168  {
169  if (cache_->cutBased()) {
172  } else {
173  if (std::abs(internalId_.jetEta_) >= 5.0) {
174  internalId_.mva_ = -2.;
175  } else {
176  if (cache_->etaBinnedWeights()) {
177  if (std::abs(internalId_.jetEta_) > cache_->jEtaMax().at(cache_->nEtaBins() - 1)) {
178  internalId_.mva_ = -2.;
179  } else {
180  for (int v = 0; v < cache_->nEtaBins(); v++) {
181  if (std::abs(internalId_.jetEta_) >= cache_->jEtaMin().at(v) &&
184  break;
185  }
186  }
187  }
188  } else {
190  }
191  }
193  }
194 }

References funct::abs(), StoredPileupJetIdentifier::betaStarClassic_, cache_, computeCutIDflag(), computeIDflag(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::cutBased(), StoredPileupJetIdentifier::dR2Mean_, PileupJetIdAlgo::AlgoGBRForestsAndConstants::etaBinnedWeights(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::etaReader(), getMVAval(), PileupJetIdentifier::idFlag_, internalId_, PileupJetIdAlgo::AlgoGBRForestsAndConstants::jEtaMax(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::jEtaMin(), StoredPileupJetIdentifier::jetEta_, StoredPileupJetIdentifier::jetPt_, PileupJetIdentifier::mva_, PileupJetIdAlgo::AlgoGBRForestsAndConstants::nEtaBins(), StoredPileupJetIdentifier::nvtx_, PileupJetIdAlgo::AlgoGBRForestsAndConstants::reader(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaEtaVariables(), PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaVariables(), and findQualityFiles::v.

Referenced by computeIdVariables(), and computeMva().

◆ set()

void PileupJetIdAlgo::set ( const PileupJetIdentifier id)

Definition at line 154 of file PileupJetIdAlgo.cc.

154 { internalId_ = id; }

References triggerObjects_cff::id, and internalId_.

Referenced by PileupJetIdProducer::produce().

Member Data Documentation

◆ cache_

AlgoGBRForestsAndConstants const* PileupJetIdAlgo::cache_
protected

Definition at line 106 of file PileupJetIdAlgo.h.

Referenced by computeIDflag(), computeIdVariables(), method(), and runMva().

◆ internalId_

PileupJetIdentifier PileupJetIdAlgo::internalId_
protected

◆ variables_

variables_list_t PileupJetIdAlgo::variables_
protected

Definition at line 105 of file PileupJetIdAlgo.h.

Referenced by dumpVariables(), getMVAval(), getVariables(), and resetVariables().

PileupJetIdentifier::chFrac03_
float chFrac03_
Definition: PileupJetIdentifier.h:165
StoredPileupJetIdentifier::dR2Mean_
float dR2Mean_
Definition: PileupJetIdentifier.h:40
reco::PFCandidate::trackRef
reco::TrackRef trackRef() const
Definition: PFCandidate.cc:408
reco::btau::jetPt
Definition: TaggingVariable.h:32
PileupJetIdAlgo::resetVariables
void resetVariables()
Definition: PileupJetIdAlgo.cc:733
StoredPileupJetIdentifier::frac05_
float frac05_
Definition: PileupJetIdentifier.h:53
PileupJetIdentifier::jetW_
float jetW_
Definition: PileupJetIdentifier.h:156
PileupJetIdentifier::dRMeanEm_
float dRMeanEm_
Definition: PileupJetIdentifier.h:124
PileupJetIdentifier::thirdNeutFrac_
float thirdNeutFrac_
Definition: PileupJetIdentifier.h:148
PileupJetIdentifier::leadNeutPt_
float leadNeutPt_
Definition: PileupJetIdentifier.h:111
mps_fire.i
i
Definition: mps_fire.py:428
PileupJetIdentifier::secondEta_
float secondEta_
Definition: PileupJetIdentifier.h:109
PileupJetIdentifier::d0_
float d0_
Definition: PileupJetIdentifier.h:104
PileupJetIdAlgo::USER
Definition: PileupJetIdAlgo.h:24
PileupJetIdAlgo::initVariables
void initVariables()
Definition: PileupJetIdAlgo.cc:746
PileupJetIdentifier::sumChPt_
float sumChPt_
Definition: PileupJetIdentifier.h:133
PileupJetIdAlgo::AlgoGBRForestsAndConstants::runMvas
bool runMvas() const
Definition: PileupJetIdAlgo.h:64
HLT_FULL_cff.nCharged
nCharged
Definition: HLT_FULL_cff.py:33268
jets_cff.ptD
ptD
Definition: jets_cff.py:149
StoredPileupJetIdentifier::jetR_
float jetR_
Definition: PileupJetIdentifier.h:64
PileupJetIdentifier::chFrac04_
float chFrac04_
Definition: PileupJetIdentifier.h:166
PileupJetIdentifier::idFlag_
int idFlag_
Definition: PileupJetIdentifier.h:91
BeamSpotFakeParameters_cfi.betaStar
betaStar
Definition: BeamSpotFakeParameters_cfi.py:19
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
min
T min(T a, T b)
Definition: MathUtil.h:58
PileupJetIdentifier::emFrac02_
float emFrac02_
Definition: PileupJetIdentifier.h:180
reco::deltaPhi
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
PileupJetIdentifier::kTight
Definition: PileupJetIdentifier.h:87
reco::Candidate::eta
virtual double eta() const =0
momentum pseudorapidity
HLT_FULL_cff.beta
beta
Definition: HLT_FULL_cff.py:8651
PileupJetIdentifier::leadPhi_
float leadPhi_
Definition: PileupJetIdentifier.h:107
mps_merge.weight
weight
Definition: mps_merge.py:88
PileupJetIdentifier::ptDNe_
float ptDNe_
Definition: PileupJetIdentifier.h:131
PileupJetIdentifier::pt2A_
float pt2A_
Definition: PileupJetIdentifier.h:129
PileupJetIdentifier::emFrac01_
float emFrac01_
Definition: PileupJetIdentifier.h:179
gpuVertexFinder::iv
int32_t *__restrict__ iv
Definition: gpuClusterTracksDBSCAN.h:42
assign
void assign(const std::vector< float > &vec, float &a, float &b, float &c, float &d)
Definition: PileupJetIdAlgo.cc:139
PileupJetIdentifier::leadEmPt_
float leadEmPt_
Definition: PileupJetIdentifier.h:114
METSignificanceParams_cfi.dRMatch
dRMatch
Definition: METSignificanceParams_cfi.py:9
PileupJetIdentifier::mva_
float mva_
Definition: PileupJetIdentifier.h:94
StoredPileupJetIdentifier::rho_
float rho_
Definition: PileupJetIdentifier.h:63
PileupJetIdentifier::fourthEmFrac_
float fourthEmFrac_
Definition: PileupJetIdentifier.h:154
PileupJetIdentifier::sumPt_
float sumPt_
Definition: PileupJetIdentifier.h:132
PileupJetIdentifier::ptDCh_
float ptDCh_
Definition: PileupJetIdentifier.h:130
edm::Ref::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
StoredPileupJetIdentifier::dRMatch_
float dRMatch_
Definition: PileupJetIdentifier.h:66
reco::Candidate::pt
virtual double pt() const =0
transverse momentum
cms::cuda::assert
assert(be >=bs)
PileupJetIdentifier::jetM_
float jetM_
Definition: PileupJetIdentifier.h:97
PileupJetIdentifier::thirdFrac_
float thirdFrac_
Definition: PileupJetIdentifier.h:138
LHEJetFilter_cfi.jetR
jetR
Definition: LHEJetFilter_cfi.py:5
edm::Ptr::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ptr.h:139
PileupJetIdAlgo::AlgoGBRForestsAndConstants::jEtaMax
std::vector< double > const & jEtaMax() const
Definition: PileupJetIdAlgo.h:67
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
StoredPileupJetIdentifier::dRMean_
float dRMean_
Definition: PileupJetIdentifier.h:44
findQualityFiles.v
v
Definition: findQualityFiles.py:179
beam_dqm_sourceclient-live_cfg.mva
mva
Definition: beam_dqm_sourceclient-live_cfg.py:132
PileupJetIdentifier::chFrac07_
float chFrac07_
Definition: PileupJetIdentifier.h:169
PileupJetIdentifier::chgHadrfrac_
float chgHadrfrac_
Definition: PileupJetIdentifier.h:101
StoredPileupJetIdentifier::dZ_
float dZ_
Definition: PileupJetIdentifier.h:37
PileupJetIdentifier::fourthChFrac_
float fourthChFrac_
Definition: PileupJetIdentifier.h:144
StoredPileupJetIdentifier::minW_
float minW_
Definition: PileupJetIdentifier.h:47
PileupJetIdentifier::neuHadrfrac_
float neuHadrfrac_
Definition: PileupJetIdentifier.h:102
PileupJetIdentifier::leadChEta_
float leadChEta_
Definition: PileupJetIdentifier.h:118
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
PileupJetIdentifier::thirdEmFrac_
float thirdEmFrac_
Definition: PileupJetIdentifier.h:153
large_val
const float large_val
Definition: PileupJetIdAlgo.cc:18
PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaVariables
std::vector< std::string > const & tmvaVariables() const
Definition: PileupJetIdAlgo.h:70
reco::Muon
Definition: Muon.h:27
edm::Ref< MuonCollection >
TtFullHadEvtBuilder_cfi.sumPt
sumPt
Definition: TtFullHadEvtBuilder_cfi.py:38
pat::PackedCandidate::PVUsedInFit
Definition: PackedCandidate.h:704
StoredPileupJetIdentifier::jetPt_
float jetPt_
Definition: PileupJetIdentifier.h:32
trigObjTnPSource_cfi.var
var
Definition: trigObjTnPSource_cfi.py:21
reco::PFJet::chargedHadronEnergy
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: PFJet.h:95
PileupJetIdAlgo::getJetIdKey
std::pair< int, int > getJetIdKey(float jetPt, float jetEta)
Definition: PileupJetIdAlgo.cc:197
PileupJetIdentifier::chFrac05_
float chFrac05_
Definition: PileupJetIdentifier.h:167
pat::Jet
Analysis-level calorimeter jet class.
Definition: Jet.h:77
PileupJetIdAlgo::PHILv0
Definition: PileupJetIdAlgo.h:24
reco::PFCandidate::muonRef
reco::MuonRef muonRef() const
Definition: PFCandidate.cc:421
part
part
Definition: HCALResponse.h:20
PileupJetIdentifier::emFrac05_
float emFrac05_
Definition: PileupJetIdentifier.h:183
PileupJetIdentifier::neutFrac04_
float neutFrac04_
Definition: PileupJetIdentifier.h:174
DivergingColor.frac
float frac
Definition: DivergingColor.py:175
PileupJetIdAlgo::cache_
AlgoGBRForestsAndConstants const * cache_
Definition: PileupJetIdAlgo.h:106
pat::Jet::chargedHadronEnergy
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: Jet.h:696
PileupJetIdentifier::emFrac06_
float emFrac06_
Definition: PileupJetIdentifier.h:184
std::swap
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Definition: DataFrameContainer.h:209
vars
vars
Definition: DeepTauId.cc:164
DQM.reader
reader
Definition: DQM.py:105
reco::Candidate::charge
virtual int charge() const =0
electric charge
StoredPileupJetIdentifier::jetEta_
float jetEta_
Definition: PileupJetIdentifier.h:31
PileupJetIdentifier::leadNeutPhi_
float leadNeutPhi_
Definition: PileupJetIdentifier.h:113
reco::PFJet::chargedMultiplicity
int chargedMultiplicity() const
chargedMultiplicity
Definition: PFJet.h:152
PileupJetIdentifier::emFrac03_
float emFrac03_
Definition: PileupJetIdentifier.h:181
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
PileupJetIdentifier::phiW_
float phiW_
Definition: PileupJetIdentifier.h:158
PileupJetIdentifier::fourthFrac_
float fourthFrac_
Definition: PileupJetIdentifier.h:139
pat::Jet::neutralEmEnergy
float neutralEmEnergy() const
neutralEmEnergy
Definition: Jet.h:726
pat::PackedCandidate::dz
virtual float dz(size_t ipv=0) const
dz with respect to the PV[ipv]
Definition: PackedCandidate.h:746
reco::Track
Definition: Track.h:27
PileupJetIdAlgo::computeCutIDflag
int computeCutIDflag(float betaStarClassic, float dR2Mean, float nvtx, float jetPt, float jetEta)
Definition: PileupJetIdAlgo.cc:219
reco::PFJet::chargedEmEnergy
float chargedEmEnergy() const
chargedEmEnergy
Definition: PFJet.h:139
PileupJetIdentifier::fourthNeutFrac_
float fourthNeutFrac_
Definition: PileupJetIdentifier.h:149
PileupJetIdentifier::leadChFrac_
float leadChFrac_
Definition: PileupJetIdentifier.h:141
PileupJetIdentifier::dRMeanNeut_
float dRMeanNeut_
Definition: PileupJetIdentifier.h:123
StoredPileupJetIdentifier::frac02_
float frac02_
Definition: PileupJetIdentifier.h:50
reco::TrackBase::dz
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:622
PileupJetIdAlgo::computeIDflag
int computeIDflag(float mva, float jetPt, float jetEta)
Definition: PileupJetIdAlgo.cc:237
PileupJetIdentifier::secondEmFrac_
float secondEmFrac_
Definition: PileupJetIdentifier.h:152
pat::Jet::chargedMultiplicity
int chargedMultiplicity() const
chargedMultiplicity
Definition: Jet.h:746
StoredPileupJetIdentifier::pull_
float pull_
Definition: PileupJetIdentifier.h:70
utilities.cache
def cache(function)
Definition: utilities.py:3
PileupJetIdentifier::dRLead2nd_
float dRLead2nd_
Definition: PileupJetIdentifier.h:122
pat::PackedCandidate::fromPV
const PVAssoc fromPV(size_t ipv=0) const
Definition: PackedCandidate.h:705
StoredPileupJetIdentifier::nParticles_
float nParticles_
Definition: PileupJetIdentifier.h:38
DDAxes::rho
PileupJetIdentifier::secondNeutFrac_
float secondNeutFrac_
Definition: PileupJetIdentifier.h:147
PileupJetIdentifier::neutFrac03_
float neutFrac03_
Definition: PileupJetIdentifier.h:173
pat::Jet::neutralHadronEnergy
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: Jet.h:706
PileupJetIdentifier::secondChFrac_
float secondChFrac_
Definition: PileupJetIdentifier.h:142
reco::btau::jetPhi
Definition: TaggingVariable.h:36
pfDeepBoostedJetPreprocessParams_cfi.lower_bound
lower_bound
Definition: pfDeepBoostedJetPreprocessParams_cfi.py:15
PileupJetIdentifier::secondPt_
float secondPt_
Definition: PileupJetIdentifier.h:108
StoredPileupJetIdentifier::nvtx_
float nvtx_
Definition: PileupJetIdentifier.h:69
pat::Jet::chargedEmEnergy
float chargedEmEnergy() const
chargedEmEnergy
Definition: Jet.h:716
PileupJetIdAlgo::AlgoGBRForestsAndConstants::jEtaMin
std::vector< double > const & jEtaMin() const
Definition: PileupJetIdAlgo.h:66
reco::btau::jetEta
Definition: TaggingVariable.h:34
StoredPileupJetIdentifier::betaStar_
float betaStar_
Definition: PileupJetIdentifier.h:58
StoredPileupJetIdentifier::frac04_
float frac04_
Definition: PileupJetIdentifier.h:52
PileupJetIdentifier::etaW_
float etaW_
Definition: PileupJetIdentifier.h:157
reco::PFCandidate::gsfTrackRef
reco::GsfTrackRef gsfTrackRef() const
Definition: PFCandidate.cc:440
pat::PackedCandidate::puppiWeight
float puppiWeight() const
Definition: PackedCandidate.cc:380
PileupJetIdentifier::thirdChFrac_
float thirdChFrac_
Definition: PileupJetIdentifier.h:143
pat::PackedCandidate
Definition: PackedCandidate.h:22
PileupJetIdAlgo::internalId_
PileupJetIdentifier internalId_
Definition: PileupJetIdAlgo.h:104
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
StoredPileupJetIdentifier::nNeutrals_
float nNeutrals_
Definition: PileupJetIdentifier.h:35
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
PileupJetIdentifier::leadEta_
float leadEta_
Definition: PileupJetIdentifier.h:106
PileupJetIdAlgo::AlgoGBRForestsAndConstants::etaBinnedWeights
bool etaBinnedWeights() const
Definition: PileupJetIdAlgo.h:63
PileupJetIdAlgo::AlgoGBRForestsAndConstants::etaReader
std::vector< std::unique_ptr< const GBRForest > > const & etaReader() const
Definition: PileupJetIdAlgo.h:61
PileupJetIdentifier::neutFrac02_
float neutFrac02_
Definition: PileupJetIdentifier.h:172
pat::Jet::neutralMultiplicity
int neutralMultiplicity() const
neutralMultiplicity
Definition: Jet.h:466
PileupJetIdentifier::leadFrac_
float leadFrac_
Definition: PileupJetIdentifier.h:136
PileupJetIdAlgo::runMva
void runMva()
Definition: PileupJetIdAlgo.cc:168
PileupJetIdentifier::neuEMfrac_
float neuEMfrac_
Definition: PileupJetIdentifier.h:100
PileupJetIdentifier::neutFrac06_
float neutFrac06_
Definition: PileupJetIdentifier.h:176
PileupJetIdentifier::leadNeutFrac_
float leadNeutFrac_
Definition: PileupJetIdentifier.h:146
PileupJetIdentifier
Definition: PileupJetIdentifier.h:74
PileupJetIdentifier::leadEmFrac_
float leadEmFrac_
Definition: PileupJetIdentifier.h:151
PileupJetIdAlgo::AlgoGBRForestsAndConstants::nEtaBins
int nEtaBins() const
Definition: PileupJetIdAlgo.h:65
StoredPileupJetIdentifier::frac03_
float frac03_
Definition: PileupJetIdentifier.h:51
PileupJetIdentifier::chgEMfrac_
float chgEMfrac_
Definition: PileupJetIdentifier.h:99
PileupJetIdentifier::secondFrac_
float secondFrac_
Definition: PileupJetIdentifier.h:137
PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaMethod
std::string const & tmvaMethod() const
Definition: PileupJetIdAlgo.h:69
PileupJetIdentifier::chFrac06_
float chFrac06_
Definition: PileupJetIdentifier.h:168
PileupJetIdentifier::dRMeanCh_
float dRMeanCh_
Definition: PileupJetIdentifier.h:125
PileupJetIdentifier::jetPhi_
float jetPhi_
Definition: PileupJetIdentifier.h:96
reco::Candidate::pdgId
virtual int pdgId() const =0
PDG identifier.
PileupJetIdAlgo::AlgoGBRForestsAndConstants::cutBased
bool cutBased() const
Definition: PileupJetIdAlgo.h:62
StoredPileupJetIdentifier::frac06_
float frac06_
Definition: PileupJetIdentifier.h:54
reco::Muon::bestTrack
const Track * bestTrack() const override
Definition: Muon.h:58
edm::Ptr< Candidate >
reco::Candidate
Definition: Candidate.h:27
alignCSCRings.r
r
Definition: alignCSCRings.py:93
PileupJetIdentifier::dRLeadCent_
float dRLeadCent_
Definition: PileupJetIdentifier.h:121
PileupJetIdentifier::leadEmEta_
float leadEmEta_
Definition: PileupJetIdentifier.h:115
PileupJetIdentifier::sumNePt_
float sumNePt_
Definition: PileupJetIdentifier.h:134
pat::PackedCandidate::dxy
virtual float dxy() const
dxy with respect to the PV ref
Definition: PackedCandidate.h:741
StoredPileupJetIdentifier::jetRchg_
float jetRchg_
Definition: PileupJetIdentifier.h:65
StoredPileupJetIdentifier::betaClassic_
float betaClassic_
Definition: PileupJetIdentifier.h:59
PileupJetIdentifier::kLoose
Definition: PileupJetIdentifier.h:87
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:19
reco::Candidate::bestTrack
virtual const Track * bestTrack() const
Definition: Candidate.h:268
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
reco::PFJet::neutralHadronEnergy
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: PFJet.h:99
metsig::jet
Definition: SignAlgoResolutions.h:47
PileupJetIdentifier::chFrac01_
float chFrac01_
Definition: PileupJetIdentifier.h:163
reco::PFJet::neutralMultiplicity
int neutralMultiplicity() const
neutralMultiplicity
Definition: PFJet.h:154
PileupJetIdentifier::neutFrac01_
float neutFrac01_
Definition: PileupJetIdentifier.h:171
reco::PFJet
Jets made from PFObjects.
Definition: PFJet.h:20
PileupJetIdentifier::secondPhi_
float secondPhi_
Definition: PileupJetIdentifier.h:110
PileupJetIdentifier::emFrac04_
float emFrac04_
Definition: PileupJetIdentifier.h:182
reco::PFJet::neutralEmEnergy
float neutralEmEnergy() const
neutralEmEnergy
Definition: PFJet.h:147
PileupJetIdentifier::chFrac02_
float chFrac02_
Definition: PileupJetIdentifier.h:164
PileupJetIdAlgo::AlgoGBRForestsAndConstants::tmvaEtaVariables
std::vector< std::vector< std::string > > const & tmvaEtaVariables() const
Definition: PileupJetIdAlgo.h:71
StoredPileupJetIdentifier::beta_
float beta_
Definition: PileupJetIdentifier.h:57
pat::Jet::correctedJet
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
PileupJetIdentifier::ptRMS_
float ptRMS_
Definition: PileupJetIdentifier.h:128
PileupJetIdentifier::leadPt_
float leadPt_
Definition: PileupJetIdentifier.h:105
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
StoredPileupJetIdentifier::frac07_
float frac07_
Definition: PileupJetIdentifier.h:55
PileupJetIdAlgo::getMVAval
float getMVAval(const std::vector< std::string > &, const std::unique_ptr< const GBRForest > &)
Definition: PileupJetIdAlgo.cc:158
jetMETDQMOfflineSource_cff.jec
jec
Definition: jetMETDQMOfflineSource_cff.py:27
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:41
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
INIT_VARIABLE
#define INIT_VARIABLE(NAME, TMVANAME, VAL)
Definition: PileupJetIdAlgo.cc:741
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
StoredPileupJetIdentifier::betaStarClassic_
float betaStarClassic_
Definition: PileupJetIdentifier.h:60
PileupJetIdAlgo::variables_
variables_list_t variables_
Definition: PileupJetIdAlgo.h:105
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
PileupJetIdentifier::emFrac07_
float emFrac07_
Definition: PileupJetIdentifier.h:185
PileupJetIdentifier::neutFrac05_
float neutFrac05_
Definition: PileupJetIdentifier.h:175
PileupJetIdentifier::leadNeutEta_
float leadNeutEta_
Definition: PileupJetIdentifier.h:112
PileupJetIdentifier::leadChPt_
float leadChPt_
Definition: PileupJetIdentifier.h:117
PileupJetIdentifier::leadEmPhi_
float leadEmPhi_
Definition: PileupJetIdentifier.h:116
PileupJetIdentifier::kMedium
Definition: PileupJetIdentifier.h:87
StoredPileupJetIdentifier::majW_
float majW_
Definition: PileupJetIdentifier.h:46
d0
static constexpr float d0
Definition: L1EGammaCrystalsEmulatorProducer.cc:85
setPtEtaPhi
void setPtEtaPhi(const reco::Candidate &p, float &pt, float &eta, float &phi)
Definition: PileupJetIdAlgo.cc:147
reco::TrackBase::dxy
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:608
PileupJetIdentifier::neutFrac07_
float neutFrac07_
Definition: PileupJetIdentifier.h:177
PileupJetID_cfi.usePuppi
usePuppi
Definition: PileupJetID_cfi.py:35
PileupJetIdAlgo::AlgoGBRForestsAndConstants::mvacut
array_t const & mvacut() const
Definition: PileupJetIdAlgo.h:74
PileupJetIdentifier::ptMean_
float ptMean_
Definition: PileupJetIdentifier.h:127
StoredPileupJetIdentifier::frac01_
float frac01_
Definition: PileupJetIdentifier.h:49
PileupJetIdAlgo::AlgoGBRForestsAndConstants::reader
std::unique_ptr< const GBRForest > const & reader() const
Definition: PileupJetIdAlgo.h:60
weight
Definition: weight.py:1
reco::Vertex
Definition: Vertex.h:35
StoredPileupJetIdentifier::nCharged_
float nCharged_
Definition: PileupJetIdentifier.h:34
PileupJetIdentifier::leadChPhi_
float leadChPhi_
Definition: PileupJetIdentifier.h:119
StoredPileupJetIdentifier::ptD_
float ptD_
Definition: PileupJetIdentifier.h:62