CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
ParticleNetFeatureEvaluator Class Reference
Inheritance diagram for ParticleNetFeatureEvaluator:
edm::stream::EDProducer<>

Public Member Functions

 ParticleNetFeatureEvaluator (const edm::ParameterSet &)
 
 ~ParticleNetFeatureEvaluator () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

void beginStream (edm::StreamID) override
 
void endStream () override
 
void fillLostTrackFeatures (DeepBoostedJetFeatures &fts, const reco::Jet &jet)
 
void fillParticleFeatures (DeepBoostedJetFeatures &fts, const reco::Jet &jet, const std::vector< math::XYZTLorentzVector > &tau_pfcandidates, const pat::MuonCollection &muons, const pat::ElectronCollection &electrons, const pat::PhotonCollection &photons)
 
void fillSVFeatures (DeepBoostedJetFeatures &fts, const reco::Jet &jet)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
bool useTrackProperties (const pat::PackedCandidate *cand)
 

Private Attributes

edm::EDGetTokenT< pat::ElectronCollectionelectron_token_
 
unsigned int event
 
unsigned int ijet
 
const bool include_neutrals_
 
float jet_eta
 
std::vector< float > jet_losttrack_charge
 
std::vector< float > jet_losttrack_deta
 
std::vector< float > jet_losttrack_dphi
 
std::vector< float > jet_losttrack_dxy
 
std::vector< float > jet_losttrack_dxysig
 
std::vector< float > jet_losttrack_dz
 
std::vector< float > jet_losttrack_dzsig
 
std::vector< float > jet_losttrack_eta
 
std::vector< float > jet_losttrack_etarel
 
std::vector< float > jet_losttrack_frompv
 
std::vector< float > jet_losttrack_npixhits
 
std::vector< float > jet_losttrack_nstriphits
 
std::vector< float > jet_losttrack_pt_log
 
std::vector< float > jet_losttrack_track_chi2
 
std::vector< float > jet_losttrack_track_qual
 
std::vector< float > jet_losttrack_trackjet_d3d
 
std::vector< float > jet_losttrack_trackjet_d3dsig
 
std::vector< float > jet_losttrack_trackjet_decayL
 
std::vector< float > jet_losttrack_trackjet_dist
 
float jet_mass
 
std::vector< float > jet_pfcand_calofraction
 
std::vector< float > jet_pfcand_charge
 
std::vector< float > jet_pfcand_deta
 
std::vector< float > jet_pfcand_dphi
 
std::vector< float > jet_pfcand_dxy
 
std::vector< float > jet_pfcand_dxysig
 
std::vector< float > jet_pfcand_dz
 
std::vector< float > jet_pfcand_dzsig
 
std::vector< float > jet_pfcand_electron_convProb
 
std::vector< float > jet_pfcand_electron_detaIn
 
std::vector< float > jet_pfcand_electron_dphiIn
 
std::vector< float > jet_pfcand_electron_r9
 
std::vector< float > jet_pfcand_electron_sigIetaIeta
 
std::vector< float > jet_pfcand_electron_sigIphiIphi
 
std::vector< float > jet_pfcand_energy_log
 
std::vector< float > jet_pfcand_eta
 
std::vector< float > jet_pfcand_etarel
 
std::vector< float > jet_pfcand_frompv
 
std::vector< float > jet_pfcand_hcalfraction
 
std::vector< float > jet_pfcand_id
 
std::vector< float > jet_pfcand_muon_chi2
 
std::vector< float > jet_pfcand_muon_id
 
std::vector< float > jet_pfcand_muon_isglobal
 
std::vector< float > jet_pfcand_muon_nstation
 
std::vector< float > jet_pfcand_muon_nvalidhit
 
std::vector< float > jet_pfcand_muon_segcomp
 
std::vector< float > jet_pfcand_nlostinnerhits
 
std::vector< float > jet_pfcand_npixhits
 
std::vector< float > jet_pfcand_nstriphits
 
std::vector< float > jet_pfcand_photon_eVeto
 
std::vector< float > jet_pfcand_photon_r9
 
std::vector< float > jet_pfcand_photon_sigIetaIeta
 
std::vector< float > jet_pfcand_ppara_ratio
 
std::vector< float > jet_pfcand_pperp_ratio
 
std::vector< float > jet_pfcand_pt_log
 
std::vector< float > jet_pfcand_puppiw
 
std::vector< float > jet_pfcand_tau_signal
 
std::vector< float > jet_pfcand_track_chi2
 
std::vector< float > jet_pfcand_track_qual
 
std::vector< float > jet_pfcand_trackjet_d3d
 
std::vector< float > jet_pfcand_trackjet_d3dsig
 
std::vector< float > jet_pfcand_trackjet_decayL
 
std::vector< float > jet_pfcand_trackjet_dist
 
float jet_phi
 
float jet_pt
 
float jet_pt_raw
 
const double jet_radius_
 
std::vector< float > jet_sv_chi2
 
std::vector< float > jet_sv_d3d
 
std::vector< float > jet_sv_d3dsig
 
std::vector< float > jet_sv_deta
 
std::vector< float > jet_sv_dphi
 
std::vector< float > jet_sv_dxy
 
std::vector< float > jet_sv_dxysig
 
std::vector< float > jet_sv_eta
 
std::vector< float > jet_sv_mass
 
std::vector< float > jet_sv_ntrack
 
std::vector< float > jet_sv_pt_log
 
edm::EDGetTokenT< edm::View< reco::Jet > > jet_token_
 
edm::EDGetTokenT< pat::PackedCandidateCollectionlosttrack_token_
 
edm::Handle< pat::PackedCandidateCollectionlosttracks_
 
const double max_dr_for_losttrack_
 
const double max_eta_for_taus_
 
const double max_jet_eta_
 
const double min_jet_eta_
 
const double min_jet_pt_
 
const double min_pt_for_losttrack_
 
const double min_pt_for_pfcandidates_
 
const double min_pt_for_taus_
 
const double min_pt_for_track_properties_
 
edm::EDGetTokenT< pat::MuonCollectionmuon_token_
 
edm::EDGetTokenT< edm::View< reco::Candidate > > pfcand_token_
 
edm::Handle< edm::View< reco::Candidate > > pfcands_
 
edm::EDGetTokenT< pat::PhotonCollectionphoton_token_
 
const reco::Vertexpv_ = nullptr
 
edm::EDGetTokenT< reco::VertexCompositePtrCandidateCollectionsv_token_
 
edm::Handle< reco::VertexCompositePtrCandidateCollectionsvs_
 
edm::EDGetTokenT< pat::TauCollectiontau_token_
 
edm::ESHandle< TransientTrackBuildertrack_builder_
 
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecordtrack_builder_token_
 
TTree * tree
 
edm::EDGetTokenT< reco::VertexCollectionvtx_token_
 
edm::Handle< reco::VertexCollectionvtxs_
 

Static Private Attributes

static const std::vector< std::string > losttrack_features_
 
static const std::vector< std::string > particle_features_
 
static const std::vector< std::string > sv_features_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Definition at line 34 of file ParticleNetFeatureEvaluator.cc.

Constructor & Destructor Documentation

◆ ParticleNetFeatureEvaluator()

ParticleNetFeatureEvaluator::ParticleNetFeatureEvaluator ( const edm::ParameterSet iConfig)
explicit

Definition at line 252 of file ParticleNetFeatureEvaluator.cc.

253  : jet_radius_(iConfig.getParameter<double>("jet_radius")),
254  min_jet_pt_(iConfig.getParameter<double>("min_jet_pt")),
255  max_jet_eta_(iConfig.getParameter<double>("max_jet_eta")),
256  min_jet_eta_(iConfig.getParameter<double>("min_jet_eta")),
257  min_pt_for_track_properties_(iConfig.getParameter<double>("min_pt_for_track_properties")),
258  min_pt_for_pfcandidates_(iConfig.getParameter<double>("min_pt_for_pfcandidates")),
259  min_pt_for_losttrack_(iConfig.getParameter<double>("min_pt_for_losttrack")),
260  max_dr_for_losttrack_(iConfig.getParameter<double>("max_dr_for_losttrack")),
261  min_pt_for_taus_(iConfig.getParameter<double>("min_pt_for_taus")),
262  max_eta_for_taus_(iConfig.getParameter<double>("max_eta_for_taus")),
263  include_neutrals_(iConfig.getParameter<bool>("include_neutrals")),
264  muon_token_(consumes<pat::MuonCollection>(iConfig.getParameter<edm::InputTag>("muons"))),
265  electron_token_(consumes<pat::ElectronCollection>(iConfig.getParameter<edm::InputTag>("electrons"))),
266  photon_token_(consumes<pat::PhotonCollection>(iConfig.getParameter<edm::InputTag>("photons"))),
267  tau_token_(consumes<pat::TauCollection>(iConfig.getParameter<edm::InputTag>("taus"))),
268  jet_token_(consumes<edm::View<reco::Jet>>(iConfig.getParameter<edm::InputTag>("jets"))),
269  losttrack_token_(consumes<pat::PackedCandidateCollection>(iConfig.getParameter<edm::InputTag>("losttracks"))),
270  vtx_token_(consumes<reco::VertexCollection>(iConfig.getParameter<edm::InputTag>("vertices"))),
271  sv_token_(consumes<reco::VertexCompositePtrCandidateCollection>(
272  iConfig.getParameter<edm::InputTag>("secondary_vertices"))),
273  pfcand_token_(consumes<edm::View<reco::Candidate>>(iConfig.getParameter<edm::InputTag>("pf_candidates"))),
275  esConsumes<TransientTrackBuilder, TransientTrackRecord>(edm::ESInputTag("", "TransientTrackBuilder"))) {
276  produces<std::vector<reco::DeepBoostedJetTagInfo>>();
277 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::EDGetTokenT< pat::ElectronCollection > electron_token_
edm::EDGetTokenT< pat::TauCollection > tau_token_
edm::EDGetTokenT< pat::MuonCollection > muon_token_
edm::EDGetTokenT< pat::PackedCandidateCollection > losttrack_token_
edm::EDGetTokenT< edm::View< reco::Jet > > jet_token_
edm::EDGetTokenT< reco::VertexCompositePtrCandidateCollection > sv_token_
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > track_builder_token_
edm::EDGetTokenT< pat::PhotonCollection > photon_token_
edm::EDGetTokenT< reco::VertexCollection > vtx_token_
edm::EDGetTokenT< edm::View< reco::Candidate > > pfcand_token_

◆ ~ParticleNetFeatureEvaluator()

ParticleNetFeatureEvaluator::~ParticleNetFeatureEvaluator ( )
override

Definition at line 279 of file ParticleNetFeatureEvaluator.cc.

279 {}

Member Function Documentation

◆ beginStream()

void ParticleNetFeatureEvaluator::beginStream ( edm::StreamID  )
inlineoverrideprivate

Definition at line 42 of file ParticleNetFeatureEvaluator.cc.

42 {}

◆ endStream()

void ParticleNetFeatureEvaluator::endStream ( )
inlineoverrideprivate

Definition at line 44 of file ParticleNetFeatureEvaluator.cc.

44 {}

◆ fillDescriptions()

void ParticleNetFeatureEvaluator::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 281 of file ParticleNetFeatureEvaluator.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

281  {
282  // pfDeepBoostedJetTagInfos
284  desc.add<double>("jet_radius", 0.8);
285  desc.add<double>("min_jet_pt", 150);
286  desc.add<double>("max_jet_eta", 99);
287  desc.add<double>("min_jet_eta", 0.0);
288  desc.add<double>("min_pt_for_track_properties", -1);
289  desc.add<double>("min_pt_for_pfcandidates", -1);
290  desc.add<double>("min_pt_for_losttrack", 1);
291  desc.add<double>("max_dr_for_losttrack", 0.4);
292  desc.add<double>("min_pt_for_taus", 20.);
293  desc.add<double>("max_eta_for_taus", 2.5);
294  desc.add<bool>("include_neutrals", true);
295  desc.add<edm::InputTag>("vertices", edm::InputTag("offlineSlimmedPrimaryVertices"));
296  desc.add<edm::InputTag>("secondary_vertices", edm::InputTag("slimmedSecondaryVertices"));
297  desc.add<edm::InputTag>("pf_candidates", edm::InputTag("packedPFCandidates"));
298  desc.add<edm::InputTag>("losttracks", edm::InputTag("lostTracks"));
299  desc.add<edm::InputTag>("jets", edm::InputTag("slimmedJetsAK8"));
300  desc.add<edm::InputTag>("muons", edm::InputTag("slimmedMuons"));
301  desc.add<edm::InputTag>("taus", edm::InputTag("slimmedTaus"));
302  desc.add<edm::InputTag>("electrons", edm::InputTag("slimmedElectrons"));
303  desc.add<edm::InputTag>("photons", edm::InputTag("slimmedPhotons"));
304  descriptions.add("ParticleNetFeatureEvaluator", desc);
305 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ fillLostTrackFeatures()

void ParticleNetFeatureEvaluator::fillLostTrackFeatures ( DeepBoostedJetFeatures fts,
const reco::Jet jet 
)
private

Definition at line 713 of file ParticleNetFeatureEvaluator.cc.

References a, b, reco::deltaR(), reco::btau::etaRel(), btagbtvdeep::DeepBoostedJetFeatures::fill(), CommonMethods::isnan(), metsig::jet, IPTools::jetTrackDistance(), dqm-mbProfile::log, Skims_PA_cff::name, btagbtvdeep::DeepBoostedJetFeatures::reserve(), IPTools::signedDecayLength3D(), IPTools::signedImpactParameter3D(), Measurement1D::significance(), jetUpdater_cfi::sort, HLT_2023v12_cff::track, and Measurement1D::value().

713  {
714  // some jet properties
715  TVector3 jet_direction(jet.momentum().Unit().x(), jet.momentum().Unit().y(), jet.momentum().Unit().z());
716  GlobalVector jet_ref_track_dir(jet.px(), jet.py(), jet.pz());
717  math::XYZVector jet_dir = jet.momentum().Unit();
718 
719  std::vector<pat::PackedCandidate> jet_lost_tracks;
720  for (size_t itrk = 0; itrk < losttracks_->size(); itrk++) {
721  if (reco::deltaR(losttracks_->at(itrk).p4(), jet.p4()) < max_dr_for_losttrack_ and
722  losttracks_->at(itrk).pt() > min_pt_for_losttrack_) {
723  jet_lost_tracks.push_back(losttracks_->at(itrk));
724  }
725  }
726  std::sort(
727  jet_lost_tracks.begin(), jet_lost_tracks.end(), [](const auto &a, const auto &b) { return a.pt() > b.pt(); });
728 
729  // reserve space
730  for (const auto &name : losttrack_features_)
731  fts.reserve(name, jet_lost_tracks.size());
732 
734  math::XYZPoint pv_ass_pos = pv_ass->position();
735 
736  for (auto const &ltrack : jet_lost_tracks) {
737  fts.fill("jet_losttrack_pt_log", std::isnan(std::log(ltrack.pt())) ? 0 : std::log(ltrack.pt()));
738  fts.fill("jet_losttrack_eta", ltrack.eta());
739  fts.fill("jet_losttrack_charge", ltrack.charge());
740  fts.fill("jet_losttrack_frompv", ltrack.fromPV());
741  fts.fill("jet_losttrack_dz", std::isnan(ltrack.dz(pv_ass_pos)) ? 0 : ltrack.dz(pv_ass_pos));
742  fts.fill("jet_losttrack_dxy", std::isnan(ltrack.dxy(pv_ass_pos)) ? 0 : ltrack.dxy(pv_ass_pos));
743  fts.fill("jet_losttrack_npixhits", ltrack.numberOfPixelHits());
744  fts.fill("jet_losttrack_nstriphits", ltrack.stripLayersWithMeasurement());
745 
746  TVector3 ltrack_momentum(ltrack.momentum().x(), ltrack.momentum().y(), ltrack.momentum().z());
747  fts.fill("jet_losttrack_deta", jet_direction.Eta() - ltrack_momentum.Eta());
748  fts.fill("jet_losttrack_dphi", jet_direction.DeltaPhi(ltrack_momentum));
749  fts.fill("jet_losttrack_etarel",
750  std::isnan(reco::btau::etaRel(jet_dir, ltrack.momentum()))
751  ? 0
752  : reco::btau::etaRel(jet_dir, ltrack.momentum()));
753 
754  const reco::Track *track = ltrack.bestTrack();
755  if (track) {
756  fts.fill("jet_losttrack_track_chi2", track->normalizedChi2());
757  fts.fill("jet_losttrack_track_qual", track->qualityMask());
758  fts.fill("jet_losttrack_dxysig",
759  std::isnan(fabs(ltrack.dxy(pv_ass_pos)) / ltrack.dxyError())
760  ? 0
761  : fabs(ltrack.dxy(pv_ass_pos)) / ltrack.dxyError());
762  fts.fill("jet_losttrack_dzsig",
763  std::isnan(fabs(ltrack.dz(pv_ass_pos)) / ltrack.dzError())
764  ? 0
765  : fabs(ltrack.dz(pv_ass_pos)) / ltrack.dzError());
766 
767  reco::TransientTrack transientTrack = track_builder_->build(*track);
768  Measurement1D meas_ip3d = IPTools::signedImpactParameter3D(transientTrack, jet_ref_track_dir, *pv_).second;
769  Measurement1D meas_jetdist = IPTools::jetTrackDistance(transientTrack, jet_ref_track_dir, *pv_).second;
770  Measurement1D meas_decayl = IPTools::signedDecayLength3D(transientTrack, jet_ref_track_dir, *pv_).second;
771 
772  fts.fill("jet_losttrack_trackjet_d3d", std::isnan(meas_ip3d.value()) ? 0 : meas_ip3d.value());
773  fts.fill("jet_losttrack_trackjet_d3dsig",
774  std::isnan(fabs(meas_ip3d.significance())) ? 0 : fabs(meas_ip3d.significance()));
775  fts.fill("jet_losttrack_trackjet_dist", std::isnan(-meas_jetdist.value()) ? 0 : -meas_jetdist.value());
776  fts.fill("jet_losttrack_trackjet_decayL", std::isnan(meas_decayl.value()) ? 0 : meas_decayl.value());
777  } else {
778  fts.fill("jet_losttrack_track_chi2", 0);
779  fts.fill("jet_losttrack_track_qual", 0);
780  fts.fill("jet_losttrack_dxysig", 0);
781  fts.fill("jet_losttrack_dzsig", 0);
782  fts.fill("jet_losttrack_trackjet_d3d", 0);
783  fts.fill("jet_losttrack_trackjet_d3dsig", 0);
784  fts.fill("jet_losttrack_trackjet_dist", 0);
785  fts.fill("jet_losttrack_trackjet_decayL", 0);
786  }
787 
788  fts.fill("lt_mask", 1);
789  }
790 }
def isnan(num)
edm::Handle< reco::VertexCollection > vtxs_
double etaRel(const math::XYZVector &dir, const math::XYZVector &track)
std::pair< bool, Measurement1D > signedDecayLength3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:105
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
edm::ESHandle< TransientTrackBuilder > track_builder_
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:206
reco::TransientTrack build(const reco::Track *p) const
void reserve(const std::string &name, unsigned capacity)
edm::Handle< pat::PackedCandidateCollection > losttracks_
static const std::vector< std::string > losttrack_features_
edm::Ref< VertexCollection > VertexRef
persistent reference to a Vertex
Definition: VertexFwd.h:13
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double b
Definition: hdecay.h:120
void fill(const std::string &name, float value)
double value() const
Definition: Measurement1D.h:25
double significance() const
Definition: Measurement1D.h:29
double a
Definition: hdecay.h:121

◆ fillParticleFeatures()

void ParticleNetFeatureEvaluator::fillParticleFeatures ( DeepBoostedJetFeatures fts,
const reco::Jet jet,
const std::vector< math::XYZTLorentzVector > &  tau_pfcandidates,
const pat::MuonCollection muons,
const pat::ElectronCollection electrons,
const pat::PhotonCollection photons 
)
private

Definition at line 395 of file ParticleNetFeatureEvaluator.cc.

References a, funct::abs(), b, reco::Muon::CutBasedIdGlobalHighPt, reco::Muon::CutBasedIdLoose, reco::Muon::CutBasedIdMedium, reco::Muon::CutBasedIdTight, reco::Muon::CutBasedIdTrkHighPt, BPhysicsValidation_cfi::daughters, reco::deltaR(), HGC3DClusterGenMatchSelector_cfi::dR, pwdgSkimBPark_cfi::electrons, reco::btau::etaRel(), Exception, btagbtvdeep::DeepBoostedJetFeatures::fill(), spr::find(), HLT_2023v12_cff::full5x5_sigmaIetaIeta, cutBasedMuonId_MuonPOG_V0_cff::globalTrack, mps_fire::i, edm::errors::InvalidReference, CommonMethods::isnan(), metsig::jet, IPTools::jetTrackDistance(), dqm-mbProfile::log, HLT_2023v12_cff::minDR, DiMuonV_cfg::muons, Skims_PA_cff::name, TrackCollections2monitor_cff::normalizedChi2, or, TriggerAnalyzer::passed, BPHMonitor_cfi::photons, btagbtvdeep::DeepBoostedJetFeatures::reserve(), muon::segmentCompatibility(), IPTools::signedDecayLength3D(), IPTools::signedImpactParameter3D(), IPTools::signedTransverseImpactParameter(), Measurement1D::significance(), jetUpdater_cfi::sort, HLT_2023v12_cff::track, TrackInfoProducer_cfi::trackinfo, and Measurement1D::value().

400  {
401  // some jet properties
402  math::XYZVector jet_dir = jet.momentum().Unit();
403  TVector3 jet_direction(jet.momentum().Unit().x(), jet.momentum().Unit().y(), jet.momentum().Unit().z());
404  GlobalVector jet_ref_track_dir(jet.px(), jet.py(), jet.pz());
405  // vertexes
406  reco::VertexRefProd PVRefProd(vtxs_);
407  // track builder
409 
410  // make list of pf-candidates to be considered
411  std::vector<const pat::PackedCandidate *> daughters;
412  for (const auto &dau : jet.daughterPtrVector()) {
413  // remove particles w/ extremely low puppi weights
414  const pat::PackedCandidate *cand = dynamic_cast<const pat::PackedCandidate *>(&(*dau));
415  if (not cand)
416  throw edm::Exception(edm::errors::InvalidReference) << "Cannot convert to either pat::PackedCandidate";
417  // base requirements on PF candidates
418  if (cand->pt() < min_pt_for_pfcandidates_)
419  continue;
420  // charged candidate selection (for Higgs Interaction Net)
421  if (!include_neutrals_ and (cand->charge() == 0 or cand->pt() < min_pt_for_track_properties_))
422  continue;
423  // filling daughters
424  daughters.push_back(cand);
425  }
426 
427  // sort by original pt (not Puppi-weighted)
428  std::sort(daughters.begin(), daughters.end(), [](const auto &a, const auto &b) { return a->pt() > b->pt(); });
429 
430  // reserve space
431  for (const auto &name : particle_features_)
432  fts.reserve(name, daughters.size());
433 
434  // Build observables
435  for (const auto &cand : daughters) {
437  continue;
438 
439  // input particle is a packed PF candidate
440  auto candP4 = cand->p4();
441  auto candP3 = cand->momentum();
442 
443  // candidate track
444  const reco::Track *track = nullptr;
446  track = cand->bestTrack();
447 
448  // reco-vertex association
450  math::XYZPoint pv_ass_pos = pv_ass->position();
451 
452  TVector3 cand_direction(candP3.x(), candP3.y(), candP3.z());
453 
454  fts.fill("jet_pfcand_pt_log", std::isnan(std::log(candP4.pt())) ? 0 : std::log(candP4.pt()));
455  fts.fill("jet_pfcand_energy_log", std::isnan(std::log(candP4.energy())) ? 0 : std::log(candP4.energy()));
456  fts.fill("jet_pfcand_eta", candP4.eta());
457  fts.fill("jet_pfcand_deta", jet_direction.Eta() - cand_direction.Eta());
458  fts.fill("jet_pfcand_dphi", jet_direction.DeltaPhi(cand_direction));
459  fts.fill("jet_pfcand_charge", cand->charge());
460  fts.fill("jet_pfcand_etarel",
461  std::isnan(reco::btau::etaRel(jet_dir, candP3)) ? 0 : reco::btau::etaRel(jet_dir, candP3));
462  fts.fill("jet_pfcand_pperp_ratio",
463  std::isnan(jet_direction.Perp(cand_direction) / cand_direction.Mag())
464  ? 0
465  : jet_direction.Perp(cand_direction) / cand_direction.Mag());
466  fts.fill("jet_pfcand_ppara_ratio",
467  std::isnan(jet_direction.Dot(cand_direction) / cand_direction.Mag())
468  ? 0
469  : jet_direction.Dot(cand_direction) / cand_direction.Mag());
470  fts.fill("jet_pfcand_frompv", cand->fromPV());
471  fts.fill("jet_pfcand_dz", std::isnan(cand->dz(pv_ass_pos)) ? 0 : cand->dz(pv_ass_pos));
472  fts.fill("jet_pfcand_dxy", std::isnan(cand->dxy(pv_ass_pos)) ? 0 : cand->dxy(pv_ass_pos));
473  fts.fill("jet_pfcand_puppiw", cand->puppiWeight());
474  fts.fill("jet_pfcand_nlostinnerhits", cand->lostInnerHits());
475  fts.fill("jet_pfcand_nhits", cand->numberOfHits());
476  fts.fill("jet_pfcand_npixhits", cand->numberOfPixelHits());
477  fts.fill("jet_pfcand_nstriphits", cand->stripLayersWithMeasurement());
478 
479  if (abs(cand->pdgId()) == 11 and cand->charge() != 0)
480  fts.fill("jet_pfcand_id", 0);
481  else if (abs(cand->pdgId()) == 13 and cand->charge() != 0)
482  fts.fill("jet_pfcand_id", 1);
483  else if (abs(cand->pdgId()) == 22 and cand->charge() == 0)
484  fts.fill("jet_pfcand_id", 2);
485  else if (abs(cand->pdgId()) != 22 and cand->charge() == 0 and abs(cand->pdgId()) != 1 and abs(cand->pdgId()) != 2)
486  fts.fill("jet_pfcand_id", 3);
487  else if (abs(cand->pdgId()) != 11 and abs(cand->pdgId()) != 13 and cand->charge() != 0)
488  fts.fill("jet_pfcand_id", 4);
489  else if (cand->charge() == 0 and abs(cand->pdgId()) == 1)
490  fts.fill("jet_pfcand_id", 5);
491  else if (cand->charge() == 0 and abs(cand->pdgId()) == 2)
492  fts.fill("jet_pfcand_id", 6);
493  else
494  fts.fill("jet_pfcand_id", -1);
495 
496  fts.fill("jet_pfcand_hcalfraction", std::isnan(cand->hcalFraction()) ? 0 : cand->hcalFraction());
497  fts.fill("jet_pfcand_calofraction", std::isnan(cand->caloFraction()) ? 0 : cand->caloFraction());
498  fts.fill("pfcand_mask", 1);
499 
500  if (track) {
501  fts.fill(
502  "jet_pfcand_dzsig",
503  std::isnan(fabs(cand->dz(pv_ass_pos)) / cand->dzError()) ? 0 : fabs(cand->dz(pv_ass_pos)) / cand->dzError());
504  fts.fill("jet_pfcand_dxysig",
505  std::isnan(fabs(cand->dxy(pv_ass_pos)) / cand->dxyError())
506  ? 0
507  : fabs(cand->dxy(pv_ass_pos)) / cand->dxyError());
508  fts.fill("jet_pfcand_track_chi2", track->normalizedChi2());
509  fts.fill("jet_pfcand_track_qual", track->qualityMask());
510 
511  reco::TransientTrack transientTrack = track_builder_->build(*track);
512  Measurement1D meas_ip2d =
513  IPTools::signedTransverseImpactParameter(transientTrack, jet_ref_track_dir, *pv_).second;
514  Measurement1D meas_ip3d = IPTools::signedImpactParameter3D(transientTrack, jet_ref_track_dir, *pv_).second;
515  Measurement1D meas_jetdist = IPTools::jetTrackDistance(transientTrack, jet_ref_track_dir, *pv_).second;
516  Measurement1D meas_decayl = IPTools::signedDecayLength3D(transientTrack, jet_ref_track_dir, *pv_).second;
517 
518  fts.fill("jet_pfcand_trackjet_d3d", std::isnan(meas_ip3d.value()) ? 0 : meas_ip3d.value());
519  fts.fill("jet_pfcand_trackjet_d3dsig",
520  std::isnan(fabs(meas_ip3d.significance())) ? 0 : fabs(meas_ip3d.significance()));
521  fts.fill("jet_pfcand_trackjet_dist", std::isnan(-meas_jetdist.value()) ? 0 : -meas_jetdist.value());
522  fts.fill("jet_pfcand_trackjet_decayL", std::isnan(meas_decayl.value()) ? 0 : meas_decayl.value());
523  } else {
524  fts.fill("jet_pfcand_dzsig", 0);
525  fts.fill("jet_pfcand_dxysig", 0);
526  fts.fill("jet_pfcand_track_chi2", 0);
527  fts.fill("jet_pfcand_track_qual", 0);
528  fts.fill("jet_pfcand_trackjet_d3d", 0);
529  fts.fill("jet_pfcand_trackjet_d3dsig", 0);
530  fts.fill("jet_pfcand_trackjet_dist", 0);
531  fts.fill("jet_pfcand_trackjet_decayL", 0);
532  }
533 
534  // muons specific
535  if (abs(cand->pdgId()) == 13) {
536  std::vector<unsigned int> muonsToSkip;
537  int ipos = -1;
538  float minDR = 1000;
539  for (size_t i = 0; i < muons.size(); i++) {
540  if (not muons[i].isPFMuon())
541  continue;
542  if (std::find(muonsToSkip.begin(), muonsToSkip.end(), i) != muonsToSkip.end())
543  continue;
544  float dR = reco::deltaR(muons[i].p4(), candP4);
545  if (dR < jet_radius_ and dR < minDR) {
546  minDR = dR;
547  ipos = i;
548  muonsToSkip.push_back(i);
549  }
550  }
551  if (ipos >= 0) {
552  int muonId = 0;
554  muonId++;
556  muonId++;
558  muonId++;
560  muonId++;
562  muonId++;
563  fts.fill("jet_pfcand_muon_id", muonId);
564  fts.fill("jet_pfcand_muon_isglobal", muons[ipos].isGlobalMuon());
565  fts.fill("jet_pfcand_muon_chi2",
566  (muons[ipos].isGlobalMuon()) ? muons[ipos].globalTrack()->normalizedChi2() : 0);
567  fts.fill("jet_pfcand_muon_nvalidhit",
568  (muons[ipos].isGlobalMuon()) ? muons[ipos].globalTrack()->hitPattern().numberOfValidMuonHits() : 0);
569  fts.fill("jet_pfcand_muon_nstation", muons[ipos].numberOfMatchedStations());
570  fts.fill("jet_pfcand_muon_segcomp", muon::segmentCompatibility(muons[ipos]));
571  } else {
572  fts.fill("jet_pfcand_muon_id", 0);
573  fts.fill("jet_pfcand_muon_isglobal", 0);
574  fts.fill("jet_pfcand_muon_chi2", 0);
575  fts.fill("jet_pfcand_muon_nvalidhit", 0);
576  fts.fill("jet_pfcand_muon_nstation", 0);
577  fts.fill("jet_pfcand_muon_segcomp", 0);
578  }
579  } else {
580  fts.fill("jet_pfcand_muon_id", 0);
581  fts.fill("jet_pfcand_muon_isglobal", 0);
582  fts.fill("jet_pfcand_muon_chi2", 0);
583  fts.fill("jet_pfcand_muon_nvalidhit", 0);
584  fts.fill("jet_pfcand_muon_nstation", 0);
585  fts.fill("jet_pfcand_muon_segcomp", 0);
586  }
587 
588  // electrons specific
589  if (abs(cand->pdgId()) == 11) {
590  int ipos = -1;
591  for (size_t i = 0; i < electrons.size(); i++) {
592  if (electrons[i].isPF()) {
593  for (const auto &element : electrons[i].associatedPackedPFCandidates()) {
594  if (abs(element->pdgId()) == 11 and element->p4() == candP4)
595  ipos = i;
596  }
597  }
598  }
599  if (ipos >= 0) {
600  fts.fill("jet_pfcand_electron_detaIn",
601  std::isnan(electrons[ipos].deltaEtaSuperClusterTrackAtVtx())
602  ? 0
603  : electrons[ipos].deltaEtaSuperClusterTrackAtVtx());
604  fts.fill("jet_pfcand_electron_dphiIn",
605  std::isnan(electrons[ipos].deltaPhiSuperClusterTrackAtVtx())
606  ? 0
607  : electrons[ipos].deltaPhiSuperClusterTrackAtVtx());
608  fts.fill("jet_pfcand_electron_sigIetaIeta",
610  fts.fill("jet_pfcand_electron_sigIphiIphi",
611  std::isnan(electrons[ipos].full5x5_sigmaIphiIphi()) ? 0 : electrons[ipos].full5x5_sigmaIphiIphi());
612  fts.fill("jet_pfcand_electron_r9", std::isnan(electrons[ipos].full5x5_r9()) ? 0 : electrons[ipos].full5x5_r9());
613  fts.fill("jet_pfcand_electron_convProb",
614  std::isnan(electrons[ipos].convVtxFitProb()) ? 0 : electrons[ipos].convVtxFitProb());
615  } else {
616  fts.fill("jet_pfcand_electron_detaIn", 0);
617  fts.fill("jet_pfcand_electron_dphiIn", 0);
618  fts.fill("jet_pfcand_electron_sigIetaIeta", 0);
619  fts.fill("jet_pfcand_electron_sigIphiIphi", 0);
620  fts.fill("jet_pfcand_electron_r9", 0);
621  fts.fill("jet_pfcand_electron_convProb", 0);
622  }
623  } else {
624  fts.fill("jet_pfcand_electron_detaIn", 0);
625  fts.fill("jet_pfcand_electron_dphiIn", 0);
626  fts.fill("jet_pfcand_electron_sigIetaIeta", 0);
627  fts.fill("jet_pfcand_electron_sigIphiIphi", 0);
628  fts.fill("jet_pfcand_electron_r9", 0);
629  fts.fill("jet_pfcand_electron_convProb", 0);
630  }
631 
632  // photons specific
633  if (abs(cand->pdgId()) == 22) {
634  int ipos = -1;
635  for (size_t i = 0; i < photons.size(); i++) {
636  for (const auto &element : photons[i].associatedPackedPFCandidates()) {
637  if (abs(element->pdgId()) == 22 and element->p4() == candP4)
638  ipos = i;
639  }
640  }
641  if (ipos >= 0) {
642  fts.fill("jet_pfcand_photon_sigIetaIeta",
644  fts.fill("jet_pfcand_photon_r9", std::isnan(photons[ipos].full5x5_r9()) ? 0 : photons[ipos].full5x5_r9());
645  fts.fill("jet_pfcand_photon_eVeto", photons[ipos].passElectronVeto());
646  } else {
647  fts.fill("jet_pfcand_photon_sigIetaIeta", 0);
648  fts.fill("jet_pfcand_photon_r9", 0);
649  fts.fill("jet_pfcand_photon_eVeto", 0);
650  }
651  } else {
652  fts.fill("jet_pfcand_photon_sigIetaIeta", 0);
653  fts.fill("jet_pfcand_photon_r9", 0);
654  fts.fill("jet_pfcand_photon_eVeto", 0);
655  }
656 
657  // tau specific prior to any puppi weight application
658  if (std::find(tau_pfcandidates.begin(), tau_pfcandidates.end(), cand->p4()) != tau_pfcandidates.end())
659  fts.fill("jet_pfcand_tau_signal", 1);
660  else
661  fts.fill("jet_pfcand_tau_signal", 0);
662  }
663 }
def isnan(num)
edm::Handle< reco::VertexCollection > vtxs_
double etaRel(const math::XYZVector &dir, const math::XYZVector &track)
std::pair< bool, Measurement1D > signedTransverseImpactParameter(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:57
std::pair< bool, Measurement1D > signedDecayLength3D(const TrajectoryStateOnSurface &state, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:105
std::pair< bool, Measurement1D > signedImpactParameter3D(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:81
edm::ESHandle< TransientTrackBuilder > track_builder_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:212
std::pair< double, Measurement1D > jetTrackDistance(const reco::TransientTrack &track, const GlobalVector &direction, const reco::Vertex &vertex)
Definition: IPTools.cc:206
reco::TransientTrack build(const reco::Track *p) const
static const std::vector< std::string > particle_features_
void reserve(const std::string &name, unsigned capacity)
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< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
edm::Ref< VertexCollection > VertexRef
persistent reference to a Vertex
Definition: VertexFwd.h:13
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double b
Definition: hdecay.h:120
bool useTrackProperties(const pat::PackedCandidate *cand)
void fill(const std::string &name, float value)
double value() const
Definition: Measurement1D.h:25
double significance() const
Definition: Measurement1D.h:29
double a
Definition: hdecay.h:121

◆ fillSVFeatures()

void ParticleNetFeatureEvaluator::fillSVFeatures ( DeepBoostedJetFeatures fts,
const reco::Jet jet 
)
private

Definition at line 665 of file ParticleNetFeatureEvaluator.cc.

References reco::deltaR2(), PVValHelper::dxy, btagbtvdeep::DeepBoostedJetFeatures::fill(), CommonMethods::isnan(), metsig::jet, dqm-mbProfile::log, Skims_PA_cff::name, btagbtvdeep::DeepBoostedJetFeatures::reserve(), VertexDistance3D::signedDistance(), jetUpdater_cfi::sort, pfDeepBoostedJetPreprocessParams_cfi::sv, and btagbtvdeep::sv_vertex_comparator().

665  {
666  // secondary vertexes matching jet
667  std::vector<const reco::VertexCompositePtrCandidate *> jetSVs;
668  for (const auto &sv : *svs_) {
670  jetSVs.push_back(&sv);
671  }
672  }
673 
674  // sort by dxy significance
675  std::sort(jetSVs.begin(),
676  jetSVs.end(),
678  return sv_vertex_comparator(*sva, *svb, *pv_);
679  });
680 
681  // reserve space
682  for (const auto &name : sv_features_)
683  fts.reserve(name, jetSVs.size());
684 
685  GlobalVector jet_global_vec(jet.px(), jet.py(), jet.pz());
686 
687  for (const auto *sv : jetSVs) {
688  fts.fill("sv_mask", 1);
689  fts.fill("jet_sv_pt_log", std::isnan(std::log(sv->pt())) ? 0 : std::log(sv->pt()));
690  fts.fill("jet_sv_eta", sv->eta());
691  fts.fill("jet_sv_mass", sv->mass());
692  fts.fill("jet_sv_deta", sv->eta() - jet.eta());
693  fts.fill("jet_sv_dphi", sv->phi() - jet.phi());
694  fts.fill("jet_sv_ntrack", sv->numberOfDaughters());
695  fts.fill("jet_sv_chi2", sv->vertexNormalizedChi2());
696 
698  sv->fillVertexCovariance(csv);
699  reco::Vertex svtx(sv->vertex(), csv);
700 
702  auto valxy = dxy.signedDistance(svtx, *pv_, jet_global_vec);
703  fts.fill("jet_sv_dxy", std::isnan(valxy.value()) ? 0 : valxy.value());
704  fts.fill("jet_sv_dxysig", std::isnan(fabs(valxy.significance())) ? 0 : fabs(valxy.significance()));
705 
706  VertexDistance3D d3d;
707  auto val3d = d3d.signedDistance(svtx, *pv_, jet_global_vec);
708  fts.fill("jet_sv_d3d", std::isnan(val3d.value()) ? 0 : val3d.value());
709  fts.fill("jet_sv_d3dsig", std::isnan(fabs(val3d.significance())) ? 0 : fabs(val3d.significance()));
710  }
711 }
edm::Handle< reco::VertexCompositePtrCandidateCollection > svs_
def isnan(num)
math::Error< dimension >::type CovarianceMatrix
covariance error matrix (3x3)
Definition: Vertex.h:47
void reserve(const std::string &name, unsigned capacity)
Measurement1D signedDistance(const reco::Vertex &primVtx, const reco::Vertex &secVtx, const GlobalVector &momentum) const override
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
bool sv_vertex_comparator(const SVType &sva, const SVType &svb, const PVType &pv)
Definition: deep_helpers.h:54
void fill(const std::string &name, float value)
static const std::vector< std::string > sv_features_

◆ produce()

void ParticleNetFeatureEvaluator::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 307 of file ParticleNetFeatureEvaluator.cc.

References funct::abs(), pwdgSkimBPark_cfi::electrons, lowptgsfeleseed::features(), edm::EventSetup::getHandle(), iEvent, metsig::jet, PDWG_EXODelayedJetMET_cff::jets, eostools::move(), DiMuonV_cfg::muons, Skims_PA_cff::name, or, pfDeepBoostedJetPreprocessParams_cfi::pfcand, BPHMonitor_cfi::photons, reco::LeafCandidate::pt(), and Tau3MuMonitor_cff::taus.

307  {
308  // output collection
309  auto output_tag_infos = std::make_unique<std::vector<reco::DeepBoostedJetTagInfo>>();
310  // Input jets
311  auto jets = iEvent.getHandle(jet_token_);
312  // Input muons
313  auto muons = iEvent.getHandle(muon_token_);
314  // Input taus
315  auto taus = iEvent.getHandle(tau_token_);
316  // Input electrons
317  auto electrons = iEvent.getHandle(electron_token_);
318  // Input photons
319  auto photons = iEvent.getHandle(photon_token_);
320  // Input lost tracks
321  iEvent.getByToken(losttrack_token_, losttracks_);
322  // Primary vertexes
323  iEvent.getByToken(vtx_token_, vtxs_);
324  if (vtxs_->empty()) {
325  // produce empty TagInfos in case no primary vertex
326  iEvent.put(std::move(output_tag_infos));
327  return; // exit event
328  }
329  // Leading vertex
330  pv_ = &vtxs_->at(0);
331  // Secondary vertexs
332  iEvent.getByToken(sv_token_, svs_);
333  // PF candidates
334  iEvent.getByToken(pfcand_token_, pfcands_);
335  // Track builder
337 
338  // tau signal candidates
339  std::vector<math::XYZTLorentzVector> tau_pfcandidates;
340  for (size_t itau = 0; itau < taus->size(); itau++) {
341  if (taus->at(itau).pt() < min_pt_for_taus_)
342  continue;
343  if (fabs(taus->at(itau).eta()) > max_eta_for_taus_)
344  continue;
345  for (unsigned ipart = 0; ipart < taus->at(itau).signalCands().size(); ipart++) {
347  dynamic_cast<const pat::PackedCandidate *>(taus->at(itau).signalCands()[ipart].get());
348  tau_pfcandidates.push_back(pfcand->p4());
349  }
350  }
351 
352  // Loop over jet
353  for (std::size_t jet_n = 0; jet_n < jets->size(); jet_n++) {
354  const auto &jet = (*jets)[jet_n];
355  edm::RefToBase<reco::Jet> jet_ref(jets, jet_n);
356 
357  // create jet features
359  for (const auto &name : particle_features_)
360  features.add(name);
361  for (const auto &name : sv_features_)
362  features.add(name);
363 
364  // fill values only if above pt threshold and has daughters, otherwise left
365  bool fill_vars = true;
366  if ((jet.pt() < min_jet_pt_ and
367  dynamic_cast<const pat::Jet *>(&jet)->correctedJet("Uncorrected").pt() < min_jet_pt_) or
368  std::abs(jet.eta()) >= max_jet_eta_ or std::abs(jet.eta()) < min_jet_eta_)
369  fill_vars = false;
370  if (jet.numberOfDaughters() == 0)
371  fill_vars = false;
372 
373  // fill features
374  if (fill_vars) {
375  fillParticleFeatures(features, jet, tau_pfcandidates, *muons, *electrons, *photons);
378  features.check_consistency(particle_features_);
379  features.check_consistency(sv_features_);
380  features.check_consistency(losttrack_features_);
381  }
382 
383  // this should always be done even if features are not filled
384  output_tag_infos->emplace_back(features, jet_ref);
385  }
386  // move output collection
387  iEvent.put(std::move(output_tag_infos));
388 }
edm::Handle< reco::VertexCompositePtrCandidateCollection > svs_
double pt() const final
transverse momentum
edm::Handle< reco::VertexCollection > vtxs_
edm::EDGetTokenT< pat::ElectronCollection > electron_token_
edm::Handle< edm::View< reco::Candidate > > pfcands_
edm::ESHandle< TransientTrackBuilder > track_builder_
muons
the two sets of parameters below are mutually exclusive, depending if RECO or ALCARECO is used the us...
Definition: DiMuonV_cfg.py:212
edm::EDGetTokenT< pat::TauCollection > tau_token_
edm::EDGetTokenT< pat::MuonCollection > muon_token_
static const std::vector< std::string > particle_features_
int iEvent
Definition: GenABIO.cc:224
edm::EDGetTokenT< pat::PackedCandidateCollection > losttrack_token_
edm::Handle< pat::PackedCandidateCollection > losttracks_
std::vector< float > features(const reco::PreId &ecal, const reco::PreId &hcal, double rho, const reco::BeamSpot &spot, noZS::EcalClusterLazyTools &ecalTools)
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< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
edm::EDGetTokenT< edm::View< reco::Jet > > jet_token_
static const std::vector< std::string > losttrack_features_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
void fillLostTrackFeatures(DeepBoostedJetFeatures &fts, const reco::Jet &jet)
void fillParticleFeatures(DeepBoostedJetFeatures &fts, const reco::Jet &jet, const std::vector< math::XYZTLorentzVector > &tau_pfcandidates, const pat::MuonCollection &muons, const pat::ElectronCollection &electrons, const pat::PhotonCollection &photons)
edm::EDGetTokenT< reco::VertexCompositePtrCandidateCollection > sv_token_
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > track_builder_token_
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:130
edm::EDGetTokenT< pat::PhotonCollection > photon_token_
Analysis-level calorimeter jet class.
Definition: Jet.h:77
static const std::vector< std::string > sv_features_
edm::EDGetTokenT< reco::VertexCollection > vtx_token_
def move(src, dest)
Definition: eostools.py:511
void fillSVFeatures(DeepBoostedJetFeatures &fts, const reco::Jet &jet)
edm::EDGetTokenT< edm::View< reco::Candidate > > pfcand_token_

◆ useTrackProperties()

bool ParticleNetFeatureEvaluator::useTrackProperties ( const pat::PackedCandidate cand)
private

Definition at line 390 of file ParticleNetFeatureEvaluator.cc.

References HLT_2023v12_cff::track.

390  {
391  const auto *track = cand->bestTrack();
392  return track != nullptr and track->pt() > min_pt_for_track_properties_;
393 };

Member Data Documentation

◆ electron_token_

edm::EDGetTokenT<pat::ElectronCollection> ParticleNetFeatureEvaluator::electron_token_
private

Definition at line 68 of file ParticleNetFeatureEvaluator.cc.

◆ event

unsigned int ParticleNetFeatureEvaluator::event
private

Definition at line 90 of file ParticleNetFeatureEvaluator.cc.

Referenced by Types.EventID::cppID().

◆ ijet

unsigned int ParticleNetFeatureEvaluator::ijet
private

Definition at line 96 of file ParticleNetFeatureEvaluator.cc.

◆ include_neutrals_

const bool ParticleNetFeatureEvaluator::include_neutrals_
private

Definition at line 65 of file ParticleNetFeatureEvaluator.cc.

◆ jet_eta

float ParticleNetFeatureEvaluator::jet_eta
private

Definition at line 93 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_charge

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_charge
private

Definition at line 155 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_deta

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_deta
private

Definition at line 153 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_dphi

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_dphi
private

Definition at line 154 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_dxy

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_dxy
private

Definition at line 160 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_dxysig

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_dxysig
private

Definition at line 162 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_dz

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_dz
private

Definition at line 159 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_dzsig

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_dzsig
private

Definition at line 161 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_eta

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_eta
private

Definition at line 152 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_etarel

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_etarel
private

Definition at line 163 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_frompv

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_frompv
private

Definition at line 156 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_npixhits

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_npixhits
private

Definition at line 168 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_nstriphits

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_nstriphits
private

Definition at line 169 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_pt_log

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_pt_log
private

Definition at line 151 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_track_chi2

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_track_chi2
private

Definition at line 157 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_track_qual

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_track_qual
private

Definition at line 158 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_trackjet_d3d

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_trackjet_d3d
private

Definition at line 164 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_trackjet_d3dsig

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_trackjet_d3dsig
private

Definition at line 165 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_trackjet_decayL

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_trackjet_decayL
private

Definition at line 167 of file ParticleNetFeatureEvaluator.cc.

◆ jet_losttrack_trackjet_dist

std::vector<float> ParticleNetFeatureEvaluator::jet_losttrack_trackjet_dist
private

Definition at line 166 of file ParticleNetFeatureEvaluator.cc.

◆ jet_mass

float ParticleNetFeatureEvaluator::jet_mass
private

Definition at line 95 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_calofraction

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_calofraction
private

Definition at line 121 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_charge

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_charge
private

Definition at line 102 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_deta

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_deta
private

Definition at line 99 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_dphi

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_dphi
private

Definition at line 100 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_dxy

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_dxy
private

Definition at line 109 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_dxysig

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_dxysig
private

Definition at line 110 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_dz

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_dz
private

Definition at line 107 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_dzsig

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_dzsig
private

Definition at line 108 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_convProb

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_convProb
private

Definition at line 135 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_detaIn

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_detaIn
private

Definition at line 130 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_dphiIn

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_dphiIn
private

Definition at line 131 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_r9

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_r9
private

Definition at line 134 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_sigIetaIeta

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_sigIetaIeta
private

Definition at line 132 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_electron_sigIphiIphi

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_electron_sigIphiIphi
private

Definition at line 133 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_energy_log

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_energy_log
private

Definition at line 98 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_eta

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_eta
private

Definition at line 101 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_etarel

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_etarel
private

Definition at line 111 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_frompv

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_frompv
private

Definition at line 103 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_hcalfraction

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_hcalfraction
private

Definition at line 122 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_id

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_id
private

Definition at line 120 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_chi2

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_chi2
private

Definition at line 126 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_id

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_id
private

Definition at line 124 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_isglobal

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_isglobal
private

Definition at line 125 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_nstation

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_nstation
private

Definition at line 129 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_nvalidhit

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_nvalidhit
private

Definition at line 128 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_muon_segcomp

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_muon_segcomp
private

Definition at line 127 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_nlostinnerhits

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_nlostinnerhits
private

Definition at line 104 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_npixhits

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_npixhits
private

Definition at line 117 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_nstriphits

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_nstriphits
private

Definition at line 118 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_photon_eVeto

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_photon_eVeto
private

Definition at line 138 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_photon_r9

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_photon_r9
private

Definition at line 137 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_photon_sigIetaIeta

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_photon_sigIetaIeta
private

Definition at line 136 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_ppara_ratio

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_ppara_ratio
private

Definition at line 113 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_pperp_ratio

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_pperp_ratio
private

Definition at line 112 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_pt_log

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_pt_log
private

Definition at line 97 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_puppiw

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_puppiw
private

Definition at line 123 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_tau_signal

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_tau_signal
private

Definition at line 139 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_track_chi2

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_track_chi2
private

Definition at line 105 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_track_qual

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_track_qual
private

Definition at line 106 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_trackjet_d3d

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_trackjet_d3d
private

Definition at line 114 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_trackjet_d3dsig

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_trackjet_d3dsig
private

Definition at line 115 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_trackjet_decayL

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_trackjet_decayL
private

Definition at line 119 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pfcand_trackjet_dist

std::vector<float> ParticleNetFeatureEvaluator::jet_pfcand_trackjet_dist
private

Definition at line 116 of file ParticleNetFeatureEvaluator.cc.

◆ jet_phi

float ParticleNetFeatureEvaluator::jet_phi
private

Definition at line 94 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pt

float ParticleNetFeatureEvaluator::jet_pt
private

Definition at line 91 of file ParticleNetFeatureEvaluator.cc.

◆ jet_pt_raw

float ParticleNetFeatureEvaluator::jet_pt_raw
private

Definition at line 92 of file ParticleNetFeatureEvaluator.cc.

◆ jet_radius_

const double ParticleNetFeatureEvaluator::jet_radius_
private

Definition at line 55 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_chi2

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_chi2
private

Definition at line 146 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_d3d

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_d3d
private

Definition at line 149 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_d3dsig

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_d3dsig
private

Definition at line 150 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_deta

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_deta
private

Definition at line 142 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_dphi

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_dphi
private

Definition at line 143 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_dxy

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_dxy
private

Definition at line 147 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_dxysig

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_dxysig
private

Definition at line 148 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_eta

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_eta
private

Definition at line 144 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_mass

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_mass
private

Definition at line 141 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_ntrack

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_ntrack
private

Definition at line 145 of file ParticleNetFeatureEvaluator.cc.

◆ jet_sv_pt_log

std::vector<float> ParticleNetFeatureEvaluator::jet_sv_pt_log
private

Definition at line 140 of file ParticleNetFeatureEvaluator.cc.

◆ jet_token_

edm::EDGetTokenT<edm::View<reco::Jet> > ParticleNetFeatureEvaluator::jet_token_
private

Definition at line 71 of file ParticleNetFeatureEvaluator.cc.

◆ losttrack_features_

const std::vector< std::string > ParticleNetFeatureEvaluator::losttrack_features_
staticprivate
Initial value:
{"jet_losttrack_pt_log",
"jet_losttrack_eta",
"jet_losttrack_deta",
"jet_losttrack_dphi",
"jet_losttrack_charge",
"jet_losttrack_frompv",
"jet_losttrack_track_chi2",
"jet_losttrack_track_qual",
"jet_losttrack_dz",
"jet_losttrack_dxy",
"jet_losttrack_dzsig",
"jet_losttrack_dxysig",
"jet_losttrack_etarel",
"jet_losttrack_trackjet_d3d",
"jet_losttrack_trackjet_d3dsig",
"jet_losttrack_trackjet_dist",
"jet_losttrack_trackjet_decayL",
"jet_losttrack_npixhits",
"jet_losttrack_nstriphits",
"lt_mask"}

Definition at line 86 of file ParticleNetFeatureEvaluator.cc.

◆ losttrack_token_

edm::EDGetTokenT<pat::PackedCandidateCollection> ParticleNetFeatureEvaluator::losttrack_token_
private

Definition at line 72 of file ParticleNetFeatureEvaluator.cc.

◆ losttracks_

edm::Handle<pat::PackedCandidateCollection> ParticleNetFeatureEvaluator::losttracks_
private

Definition at line 81 of file ParticleNetFeatureEvaluator.cc.

◆ max_dr_for_losttrack_

const double ParticleNetFeatureEvaluator::max_dr_for_losttrack_
private

Definition at line 62 of file ParticleNetFeatureEvaluator.cc.

◆ max_eta_for_taus_

const double ParticleNetFeatureEvaluator::max_eta_for_taus_
private

Definition at line 64 of file ParticleNetFeatureEvaluator.cc.

◆ max_jet_eta_

const double ParticleNetFeatureEvaluator::max_jet_eta_
private

Definition at line 57 of file ParticleNetFeatureEvaluator.cc.

◆ min_jet_eta_

const double ParticleNetFeatureEvaluator::min_jet_eta_
private

Definition at line 58 of file ParticleNetFeatureEvaluator.cc.

◆ min_jet_pt_

const double ParticleNetFeatureEvaluator::min_jet_pt_
private

Definition at line 56 of file ParticleNetFeatureEvaluator.cc.

◆ min_pt_for_losttrack_

const double ParticleNetFeatureEvaluator::min_pt_for_losttrack_
private

Definition at line 61 of file ParticleNetFeatureEvaluator.cc.

◆ min_pt_for_pfcandidates_

const double ParticleNetFeatureEvaluator::min_pt_for_pfcandidates_
private

Definition at line 60 of file ParticleNetFeatureEvaluator.cc.

◆ min_pt_for_taus_

const double ParticleNetFeatureEvaluator::min_pt_for_taus_
private

Definition at line 63 of file ParticleNetFeatureEvaluator.cc.

◆ min_pt_for_track_properties_

const double ParticleNetFeatureEvaluator::min_pt_for_track_properties_
private

Definition at line 59 of file ParticleNetFeatureEvaluator.cc.

◆ muon_token_

edm::EDGetTokenT<pat::MuonCollection> ParticleNetFeatureEvaluator::muon_token_
private

Definition at line 67 of file ParticleNetFeatureEvaluator.cc.

◆ particle_features_

const std::vector< std::string > ParticleNetFeatureEvaluator::particle_features_
staticprivate

Definition at line 84 of file ParticleNetFeatureEvaluator.cc.

◆ pfcand_token_

edm::EDGetTokenT<edm::View<reco::Candidate> > ParticleNetFeatureEvaluator::pfcand_token_
private

Definition at line 75 of file ParticleNetFeatureEvaluator.cc.

◆ pfcands_

edm::Handle<edm::View<reco::Candidate> > ParticleNetFeatureEvaluator::pfcands_
private

Definition at line 80 of file ParticleNetFeatureEvaluator.cc.

◆ photon_token_

edm::EDGetTokenT<pat::PhotonCollection> ParticleNetFeatureEvaluator::photon_token_
private

Definition at line 69 of file ParticleNetFeatureEvaluator.cc.

◆ pv_

const reco::Vertex* ParticleNetFeatureEvaluator::pv_ = nullptr
private

Definition at line 87 of file ParticleNetFeatureEvaluator.cc.

◆ sv_features_

const std::vector< std::string > ParticleNetFeatureEvaluator::sv_features_
staticprivate
Initial value:
{"jet_sv_pt_log",
"jet_sv_mass",
"jet_sv_deta",
"jet_sv_dphi",
"jet_sv_eta",
"jet_sv_ntrack",
"jet_sv_chi2",
"jet_sv_dxy",
"jet_sv_dxysig",
"jet_sv_d3d",
"jet_sv_d3dsig",
"sv_mask"}

Definition at line 85 of file ParticleNetFeatureEvaluator.cc.

◆ sv_token_

edm::EDGetTokenT<reco::VertexCompositePtrCandidateCollection> ParticleNetFeatureEvaluator::sv_token_
private

Definition at line 74 of file ParticleNetFeatureEvaluator.cc.

◆ svs_

edm::Handle<reco::VertexCompositePtrCandidateCollection> ParticleNetFeatureEvaluator::svs_
private

Definition at line 79 of file ParticleNetFeatureEvaluator.cc.

◆ tau_token_

edm::EDGetTokenT<pat::TauCollection> ParticleNetFeatureEvaluator::tau_token_
private

Definition at line 70 of file ParticleNetFeatureEvaluator.cc.

◆ track_builder_

edm::ESHandle<TransientTrackBuilder> ParticleNetFeatureEvaluator::track_builder_
private

Definition at line 82 of file ParticleNetFeatureEvaluator.cc.

◆ track_builder_token_

edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> ParticleNetFeatureEvaluator::track_builder_token_
private

Definition at line 76 of file ParticleNetFeatureEvaluator.cc.

◆ tree

TTree* ParticleNetFeatureEvaluator::tree
private

◆ vtx_token_

edm::EDGetTokenT<reco::VertexCollection> ParticleNetFeatureEvaluator::vtx_token_
private

Definition at line 73 of file ParticleNetFeatureEvaluator.cc.

◆ vtxs_

edm::Handle<reco::VertexCollection> ParticleNetFeatureEvaluator::vtxs_
private

Definition at line 78 of file ParticleNetFeatureEvaluator.cc.