|
|
#include <AntiElectronIDMVA6.h>
|
| AntiElectronIDMVA6 (const edm::ParameterSet &, edm::ConsumesCollector &&) |
|
void | beginEvent (const edm::Event &, const edm::EventSetup &) |
|
antiElecIDMVA6_blocks::ElecVars | getElecVars (const ElectronRef &theEleRef) |
|
void | getElecVarsHGCalTypeSpecific (const pat::ElectronRef &theEleRef, antiElecIDMVA6_blocks::ElecVars &elecVars) |
|
void | getElecVarsHGCalTypeSpecific (const reco::GsfElectronRef &theEleRef, antiElecIDMVA6_blocks::ElecVars &elecVars) |
|
antiElecIDMVA6_blocks::TauGammaVecs | getTauGammaVecs (const TauType &theTau) |
|
antiElecIDMVA6_blocks::TauVars | getTauVars (const TauType &theTau) |
|
antiElecIDMVA6_blocks::TauVars | getTauVarsTypeSpecific (const pat::Tau &theTau) |
|
antiElecIDMVA6_blocks::TauVars | getTauVarsTypeSpecific (const reco::PFTau &theTau) |
|
double | mvaValue (const antiElecIDMVA6_blocks::TauVars &tauVars, const antiElecIDMVA6_blocks::TauGammaMoms &tauGammaMoms, const antiElecIDMVA6_blocks::ElecVars &elecVars) |
|
double | mvaValue (const antiElecIDMVA6_blocks::TauVars &tauVars, const antiElecIDMVA6_blocks::TauGammaVecs &tauGammaVecs, const antiElecIDMVA6_blocks::ElecVars &elecVars) |
|
double | mvaValue (const TauType &theTau) |
|
double | mvaValue (const TauType &theTau, const ElectronRef &theEleRef) |
|
double | mvaValuePhase2 (const antiElecIDMVA6_blocks::TauVars &tauVars, const antiElecIDMVA6_blocks::TauGammaMoms &tauGammaMoms, const antiElecIDMVA6_blocks::ElecVars &elecVars) |
|
| ~AntiElectronIDMVA6 () |
|
template<class TauType, class ElectronType>
class AntiElectronIDMVA6< TauType, ElectronType >
Definition at line 114 of file AntiElectronIDMVA6.h.
◆ ElectronCollection
template<class TauType , class ElectronType >
◆ ElectronRef
template<class TauType , class ElectronType >
◆ AntiElectronIDMVA6()
template<class TauType , class ElectronType >
Definition at line 37 of file AntiElectronIDMVA6.cc.
56 if (
cfg.exists(
"inputFileName")) {
60 <<
"Requested to load tau MVA input from ROOT file but no file provided in cfg file";
104 for (
const auto&
inputTag :
cfg.getParameter<std::vector<edm::InputTag>>(
"hgcalElectronIDs")) {
References looper::cfg, AntiElectronIDMVA6< TauType, ElectronType >::electronIds_, AntiElectronIDMVA6< TauType, ElectronType >::electronIds_tokens_, Exception, AntiElectronIDMVA6< TauType, ElectronType >::inputFileName_, SimL1EmulatorRepack_Full_cff::inputTag, AntiElectronIDMVA6< TauType, ElectronType >::isPhase2_, AntiElectronIDMVA6< TauType, ElectronType >::loadMVAfromDB_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_wGwoGSF_BL_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_wGwoGSF_EC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_wGwoGSF_VFEC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_woGwoGSF_BL_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_woGwoGSF_EC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_woGwoGSF_VFEC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_wGwGSF_BL_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_wGwGSF_EC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_wGwGSF_VFEC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_woGwGSF_BL_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_woGwGSF_EC_, AntiElectronIDMVA6< TauType, ElectronType >::mvaName_woGwGSF_VFEC_, AlCaHLTBitMon_QueryRunRegistry::string, AntiElectronIDMVA6< TauType, ElectronType >::usePhiAtEcalEntranceExtrapolation_, relativeConstraints::value, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_Barrel_, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_Endcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_VFEndcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_Barrel_, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_Endcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_VFEndcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_wGwGSF_Barrel_, AntiElectronIDMVA6< TauType, ElectronType >::var_wGwGSF_Endcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_wGwGSF_VFEndcap_, AntiElectronIDMVA6< TauType, ElectronType >::var_woGwGSF_Barrel_, AntiElectronIDMVA6< TauType, ElectronType >::var_woGwGSF_Endcap_, and AntiElectronIDMVA6< TauType, ElectronType >::var_woGwGSF_VFEndcap_.
◆ ~AntiElectronIDMVA6()
template<class TauType , class ElectronType >
◆ beginEvent()
template<class TauType , class ElectronType >
◆ dCrackEta()
template<class TauType , class ElectronType >
◆ dCrackPhi()
template<class TauType , class ElectronType >
◆ energyWeightedEtaAndPhiAtECal()
template<class TauType , class ElectronType >
bool AntiElectronIDMVA6< TauType, ElectronType >::energyWeightedEtaAndPhiAtECal |
( |
const pat::Tau & |
theTau, |
|
|
float & |
eta, |
|
|
float & |
phi |
|
) |
| |
|
private |
◆ getElecVars()
template<class TauType , class ElectronType >
Definition at line 915 of file AntiElectronIDMVA6.cc.
918 elecVars.
eta = theEleRef->eta();
919 elecVars.
phi = theEleRef->phi();
923 float elecEgamma = 0.;
928 pfCluster != pfSuperCluster->clustersEnd();
930 double pfClusterEn = (*pfCluster)->energy();
931 if (pfCluster == pfSuperCluster->clustersBegin())
932 elecEe += pfClusterEn;
934 elecEgamma += pfClusterEn;
942 elecVars.
r9 = theEleRef->r9();
946 elecVars.
pIn =
std::sqrt(theEleRef->trackMomentumAtVtx().Mag2());
947 elecVars.
pOut =
std::sqrt(theEleRef->trackMomentumOut().Mag2());
948 elecVars.
eTotOverPin = (elecVars.
pIn > 0.0) ? ((elecEe + elecEgamma) / elecVars.
pIn) : -0.1;
949 elecVars.
eEcal = theEleRef->ecalEnergy();
951 elecVars.
deltaEta = theEleRef->deltaEtaSeedClusterTrackAtCalo();
952 elecVars.
deltaPhi = theEleRef->deltaPhiSeedClusterTrackAtCalo();
954 elecVars.
deltaEta = theEleRef->deltaEtaEleClusterTrackAtCalo();
955 elecVars.
deltaPhi = theEleRef->deltaPhiEleClusterTrackAtCalo();
966 if (theEleRef->gsfTrack().isNonnull()) {
967 elecVars.
chi2NormGSF = theEleRef->gsfTrack()->normalizedChi2();
968 elecVars.
gsfNumHits = theEleRef->gsfTrack()->numberOfValidHits();
969 if (theEleRef->gsfTrack()->pt() > 0.) {
970 elecVars.
gsfTrackResol = theEleRef->gsfTrack()->ptError() / theEleRef->gsfTrack()->pt();
978 if (theEleRef->closestCtfTrackRef().isNonnull()) {
979 elecVars.
chi2NormKF = theEleRef->closestCtfTrackRef()->normalizedChi2();
980 elecVars.
kfNumHits = theEleRef->closestCtfTrackRef()->numberOfValidHits();
989 <<
"Unsupported ElectronType used. You must use either reco::GsfElectron or pat::Electron.";
References antiElecIDMVA6_blocks::ElecVars::chi2NormGSF, antiElecIDMVA6_blocks::ElecVars::chi2NormKF, antiElecIDMVA6_blocks::ElecVars::deltaEta, antiElecIDMVA6_blocks::ElecVars::deltaPhi, antiElecIDMVA6_blocks::ElecVars::eEcal, antiElecIDMVA6_blocks::ElecVars::eSeedClusterOverPout, antiElecIDMVA6_blocks::ElecVars::eta, antiElecIDMVA6_blocks::ElecVars::eTotOverPin, Exception, antiElecIDMVA6_blocks::ElecVars::gsfNumHits, antiElecIDMVA6_blocks::ElecVars::gsfTracklnPt, antiElecIDMVA6_blocks::ElecVars::gsfTrackResol, edm::Ref< C, T, F >::isAvailable(), edm::Ref< C, T, F >::isNonnull(), antiElecIDMVA6_blocks::ElecVars::kfNumHits, dqm-mbProfile::log, antiElecIDMVA6_blocks::ElecVars::mvaInDeltaEta, antiElecIDMVA6_blocks::ElecVars::mvaInHadEnergy, antiElecIDMVA6_blocks::ElecVars::mvaInSigmaEtaEta, antiElecIDMVA6_blocks::ElecVars::phi, antiElecIDMVA6_blocks::ElecVars::pIn, antiElecIDMVA6_blocks::ElecVars::pOut, antiElecIDMVA6_blocks::ElecVars::r9, antiElecIDMVA6_blocks::ElecVars::showerCircularity, antiElecIDMVA6_blocks::ElecVars::sigmaIEtaIEta5x5, antiElecIDMVA6_blocks::ElecVars::sigmaIPhiIPhi5x5, mathSSE::sqrt(), antiElecIDMVA6_blocks::ElecVars::superClusterEtaWidth, antiElecIDMVA6_blocks::ElecVars::superClusterPhiWidth, and relativeConstraints::value.
Referenced by AntiElectronIDMVA6< TauType, ElectronType >::mvaValue().
◆ getElecVarsHGCalTypeSpecific() [1/2]
template<class TauType , class ElectronType >
Definition at line 1296 of file AntiElectronIDMVA6.cc.
1299 if (!theEleRef->hasUserFloat(
"hgcElectronID:sigmaUU"))
1302 elecVars.
hgcalSigmaUU = theEleRef->userFloat(
"hgcElectronID:sigmaUU");
1303 elecVars.
hgcalSigmaVV = theEleRef->userFloat(
"hgcElectronID:sigmaVV");
1304 elecVars.
hgcalSigmaEE = theEleRef->userFloat(
"hgcElectronID:sigmaEE");
1305 elecVars.
hgcalSigmaPP = theEleRef->userFloat(
"hgcElectronID:sigmaPP");
1306 elecVars.
hgcalNLayers = theEleRef->userFloat(
"hgcElectronID:nLayers");
1307 elecVars.
hgcalFirstLayer = theEleRef->userFloat(
"hgcElectronID:firstLayer");
1308 elecVars.
hgcalLastLayer = theEleRef->userFloat(
"hgcElectronID:lastLayer");
1309 elecVars.
hgcalLayerEfrac10 = theEleRef->userFloat(
"hgcElectronID:layerEfrac10");
1310 elecVars.
hgcalLayerEfrac90 = theEleRef->userFloat(
"hgcElectronID:layerEfrac90");
1311 elecVars.
hgcalEcEnergyEE = theEleRef->userFloat(
"hgcElectronID:ecEnergyEE");
1312 elecVars.
hgcalEcEnergyFH = theEleRef->userFloat(
"hgcElectronID:ecEnergyFH");
References antiElecIDMVA6_blocks::ElecVars::hgcalDepthCompatibility, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyEE, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyFH, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedDepth, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedSigma, antiElecIDMVA6_blocks::ElecVars::hgcalFirstLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLastLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac10, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac90, antiElecIDMVA6_blocks::ElecVars::hgcalMeasuredDepth, antiElecIDMVA6_blocks::ElecVars::hgcalNLayers, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaEE, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaPP, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaUU, and antiElecIDMVA6_blocks::ElecVars::hgcalSigmaVV.
◆ getElecVarsHGCalTypeSpecific() [2/2]
template<class TauType , class ElectronType >
Definition at line 1270 of file AntiElectronIDMVA6.cc.
References antiElecIDMVA6_blocks::ElecVars::hgcalDepthCompatibility, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyEE, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyFH, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedDepth, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedSigma, antiElecIDMVA6_blocks::ElecVars::hgcalFirstLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLastLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac10, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac90, antiElecIDMVA6_blocks::ElecVars::hgcalMeasuredDepth, antiElecIDMVA6_blocks::ElecVars::hgcalNLayers, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaEE, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaPP, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaUU, and antiElecIDMVA6_blocks::ElecVars::hgcalSigmaVV.
◆ getTauGammaVecs()
template<class TauType , class ElectronType >
Definition at line 892 of file AntiElectronIDMVA6.cc.
895 float signalrad = std::clamp(3.0 /
std::max(1.0, theTau.pt()), 0.05, 0.10);
896 for (
const auto&
gamma : theTau.signalGammaCands()) {
897 float dR =
deltaR(
gamma->p4(), theTau.leadChargedHadrCand()->p4());
899 if (
dR < signalrad) {
References PbPb_ZMuSkimMuonDPG_cff::deltaR, HGC3DClusterGenMatchSelector_cfi::dR, CustomPhysics_cfi::gamma, antiElecIDMVA6_blocks::TauGammaVecs::gammasdEtaInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdEtaOutSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdPhiInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdPhiOutSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasPtInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasPtOutSigCone, and SiStripPI::max.
Referenced by AntiElectronIDMVA6< TauType, ElectronType >::mvaValue().
◆ getTauVars()
template<class TauType , class ElectronType >
Definition at line 842 of file AntiElectronIDMVA6.cc.
848 <<
"Unsupported TauType used. You must use either reco::PFTau or pat::Tau.";
850 tauVars.
pt = theTau.pt();
854 float signalrad = std::clamp(3.0 /
std::max(1.0, theTau.pt()), 0.05, 0.10);
855 for (
const auto&
gamma : theTau.signalGammaCands()) {
856 float dR =
deltaR(
gamma->p4(), theTau.leadChargedHadrCand()->p4());
858 if (
dR < signalrad) {
859 pfGammaSum +=
gamma->p4();
862 for (
const auto& charged : theTau.signalChargedHadrCands()) {
863 float dR =
deltaR(charged->p4(), theTau.leadChargedHadrCand()->p4());
865 if (
dR < signalrad) {
866 pfChargedSum += charged->p4();
872 if (theTau.leadChargedHadrCand().isNonnull()) {
874 dynamic_cast<const pat::PackedCandidate*>(theTau.leadChargedHadrCand().get());
875 if (packedLeadChCand !=
nullptr) {
880 dynamic_cast<const reco::PFCandidate*>(theTau.leadChargedHadrCand().get());
References funct::abs(), antiElecIDMVA6_blocks::TauVars::dCrackEta, antiElecIDMVA6_blocks::TauVars::dCrackPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, HGC3DClusterGenMatchSelector_cfi::dR, antiElecIDMVA6_blocks::TauVars::etaAtEcalEntrance, Exception, CustomPhysics_cfi::gamma, reco::PFCandidate::gsfTrackRef(), antiElecIDMVA6_blocks::TauVars::hasGsf, edm::Ref< C, T, F >::isNonnull(), EgHLTOffHistBins_cfi::mass, SiStripPI::max, pat::PackedCandidate::pdgId(), antiElecIDMVA6_blocks::TauVars::phi, antiElecIDMVA6_blocks::TauVars::pt, relativeConstraints::value, and antiElecIDMVA6_blocks::TauVars::visMassIn.
Referenced by AntiElectronIDMVA6< TauType, ElectronType >::mvaValue().
◆ getTauVarsTypeSpecific() [1/2]
template<class TauType , class ElectronType >
Definition at line 1093 of file AntiElectronIDMVA6.cc.
1098 tauVars.
phi = theTau.
phi();
1103 float etaAtECal = 0.;
1104 float phiAtECal = 0.;
1107 tauVars.
phi = phiAtECal;
1120 float phiAtECal = 0.;
1121 float etaAtECal = 0.;
References funct::abs(), pat::Tau::ecalEnergyLeadChargedHadrCand(), antiElecIDMVA6_blocks::TauVars::emFraction, pat::Tau::emFraction_MVA(), reco::LeafCandidate::eta(), antiElecIDMVA6_blocks::TauVars::etaAtEcalEntrance, pat::Tau::etaAtEcalEntrance(), pat::Tau::etaAtEcalEntranceLeadChargedCand(), f, edm::Ptr< T >::get(), pat::Tau::hcalEnergyLeadChargedHadrCand(), pat::Tau::leadChargedHadrCand(), antiElecIDMVA6_blocks::TauVars::leadChargedPFCandEtaAtEcalEntrance, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandPt, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrEoP, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrHoP, SiStripPI::max, antiElecIDMVA6_blocks::TauVars::phi, reco::LeafCandidate::phi(), pat::Tau::phiAtEcalEntrance(), pat::Tau::ptLeadChargedCand(), and summarizeEdmComparisonLogfiles::success.
◆ getTauVarsTypeSpecific() [2/2]
template<class TauType , class ElectronType >
Definition at line 1143 of file AntiElectronIDMVA6.cc.
1148 float sumEtaTimesEnergy = 0.;
1149 float sumPhiTimesEnergy = 0.;
1150 float sumEnergy = 0.;
1151 tauVars.
phi = theTau.
phi();
1153 bool isFromPFCands =
1156 for (
const auto& candidate : theTau.
signalCands()) {
1157 float etaAtECalEntrance = candidate->eta();
1158 float phiAtECalEntrance = candidate->phi();
1160 if (isFromPFCands) {
1161 const reco::PFCandidate* pfCandidate = static_cast<const reco::PFCandidate*>(candidate.get());
1169 phiAtECalEntrance = posAtECal.phi();
1172 track = getTrackFromPFCand(pfCandidate);
1177 etaAtECalEntrance = posAtECal.eta();
1178 phiAtECalEntrance = posAtECal.phi();
1180 track = candidate->bestTrack();
1182 if (
track !=
nullptr) {
1188 sumEtaTimesEnergy += etaAtECalEntrance * candidate->energy();
1189 sumPhiTimesEnergy += phiAtECalEntrance * candidate->energy();
1190 sumEnergy += candidate->energy();
1192 if (sumEnergy > 0.) {
1194 tauVars.
phi = sumPhiTimesEnergy / sumEnergy;
1198 for (
const auto& candidate : theTau.
signalCands()) {
1199 float etaAtECalEntrance = candidate->eta();
1201 if (isFromPFCands) {
1202 const reco::PFCandidate* pfCandidate = static_cast<const reco::PFCandidate*>(candidate.get());
1208 etaAtECalEntrance = posAtECal.eta();
1211 track = getTrackFromPFCand(pfCandidate);
1216 etaAtECalEntrance = posAtECal.eta();
1218 track = candidate->bestTrack();
1220 if (
track !=
nullptr) {
1226 sumEtaTimesEnergy += etaAtECalEntrance * candidate->energy();
1227 sumEnergy += candidate->energy();
1229 if (sumEnergy > 0.) {
1232 if (isFromPFCands) {
1240 if (patLeadCandiate !=
nullptr) {
1248 if (isFromPFCands) {
1256 if (patLeadCandiate !=
nullptr) {
1260 (1. - patLeadCandiate->
hcalFraction()) / patLeadCandiate->
p();
References funct::abs(), pat::PackedCandidate::caloFraction(), reco::PFCandidate::ecalEnergy(), antiElecIDMVA6_blocks::TauVars::emFraction, reco::PFTau::emFraction(), pat::PackedCandidate::energy(), reco::LeafCandidate::eta(), antiElecIDMVA6_blocks::TauVars::etaAtEcalEntrance, edm::Ptr< T >::get(), reco::PFCandidate::hcalEnergy(), pat::PackedCandidate::hcalFraction(), edm::Ptr< T >::isNonnull(), reco::PFTau::leadCand(), reco::PFTau::leadChargedHadrCand(), antiElecIDMVA6_blocks::TauVars::leadChargedPFCandEtaAtEcalEntrance, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandPt, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrEoP, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrHoP, SiStripPI::max, reco::LeafCandidate::p(), pat::PackedCandidate::p(), antiElecIDMVA6_blocks::TauVars::phi, reco::LeafCandidate::phi(), reco::PFCandidate::positionAtECALEntrance(), reco::PFTau::signalCands(), summarizeEdmComparisonLogfiles::success, and HLT_FULL_cff::track.
◆ minimum()
template<class TauType , class ElectronType >
◆ mvaValue() [1/4]
template<class TauType , class ElectronType >
Definition at line 276 of file AntiElectronIDMVA6.cc.
280 throw cms::Exception(
"ClassNotInitialized") <<
" AntiElectronMVA6 not properly initialized !!\n";
285 float elecDeltaPinPoutOverPin = (elecVars.
pIn > 0.0) ? (
std::abs(elecVars.
pIn - elecVars.
pOut) / elecVars.
pIn) : 1.0;
286 float elecEecalOverPout = (elecVars.
pOut > 0.0) ? (elecVars.
eEcal / elecVars.
pOut) : 20.0;
287 float elecNumHitsDiffOverSum =
References funct::abs(), antiElecIDMVA6_blocks::ElecVars::chi2NormGSF, antiElecIDMVA6_blocks::ElecVars::chi2NormKF, antiElecIDMVA6_blocks::TauVars::dCrackEta, antiElecIDMVA6_blocks::TauVars::dCrackPhi, antiElecIDMVA6_blocks::ElecVars::deltaEta, antiElecIDMVA6_blocks::ElecVars::deltaPhi, PbPb_ZMuSkimMuonDPG_cff::deltaR, antiElecIDMVA6_blocks::ElecVars::eEcal, antiElecIDMVA6_blocks::TauVars::emFraction, antiElecIDMVA6_blocks::ElecVars::eta, antiElecIDMVA6_blocks::TauVars::etaAtEcalEntrance, antiElecIDMVA6_blocks::ElecVars::eTotOverPin, Exception, f, antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomOut, antiElecIDMVA6_blocks::ElecVars::gsfNumHits, antiElecIDMVA6_blocks::ElecVars::gsfTracklnPt, antiElecIDMVA6_blocks::ElecVars::gsfTrackResol, antiElecIDMVA6_blocks::TauVars::hasGsf, antiElecIDMVA6_blocks::ElecVars::kfNumHits, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandEtaAtEcalEntrance, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandPt, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrEoP, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrHoP, dqm-mbProfile::log, SiStripPI::max, min(), antiElecIDMVA6_blocks::ElecVars::mvaInDeltaEta, antiElecIDMVA6_blocks::ElecVars::mvaInHadEnergy, antiElecIDMVA6_blocks::ElecVars::mvaInSigmaEtaEta, antiElecIDMVA6_blocks::TauVars::phi, antiElecIDMVA6_blocks::ElecVars::phi, antiElecIDMVA6_blocks::ElecVars::pIn, antiElecIDMVA6_blocks::ElecVars::pOut, antiElecIDMVA6_blocks::TauVars::pt, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsIn, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsOut, and antiElecIDMVA6_blocks::TauVars::visMassIn.
◆ mvaValue() [2/4]
template<class TauType , class ElectronType >
Definition at line 208 of file AntiElectronIDMVA6.cc.
225 dEta2 += (pt_i * eta_i * eta_i);
226 dPhi2 += (pt_i * phi_i * phi_i);
230 if (tauVars.
pt > 0.) {
253 dEta2 += (pt_i * eta_i * eta_i);
254 dPhi2 += (pt_i * phi_i * phi_i);
258 if (tauVars.
pt > 0.) {
269 return mvaValue(tauVars, tauGammaMoms, elecVars);
References antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomOut, antiElecIDMVA6_blocks::TauGammaVecs::gammasdEtaInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdEtaOutSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdPhiInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasdPhiOutSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasPtInSigCone, antiElecIDMVA6_blocks::TauGammaVecs::gammasPtOutSigCone, mps_fire::i, M_PI, antiElecIDMVA6_blocks::TauVars::pt, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsIn, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsOut, mathSSE::sqrt(), and TtFullHadEvtBuilder_cfi::sumPt.
◆ mvaValue() [3/4]
template<class TauType , class ElectronType >
◆ mvaValue() [4/4]
template<class TauType , class ElectronType >
◆ mvaValuePhase2()
template<class TauType , class ElectronType >
Definition at line 487 of file AntiElectronIDMVA6.cc.
491 throw cms::Exception(
"ClassNotInitialized") <<
" AntiElectronMVA6 not properly initialized !!\n";
501 float elecDeltaPinPoutOverPin = (elecVars.
pIn > 0.0) ? (
std::abs(elecVars.
pIn - elecVars.
pOut) / elecVars.
pIn) : 1.0;
502 float elecEecalOverPout = (elecVars.
pOut > 0.0) ? (elecVars.
eEcal / elecVars.
pOut) : 20.0;
503 float elecNumHitsDiffOverSum =
References funct::abs(), antiElecIDMVA6_blocks::ElecVars::chi2NormGSF, antiElecIDMVA6_blocks::ElecVars::chi2NormKF, antiElecIDMVA6_blocks::TauVars::dCrackEta, antiElecIDMVA6_blocks::ElecVars::deltaEta, antiElecIDMVA6_blocks::ElecVars::deltaPhi, antiElecIDMVA6_blocks::ElecVars::eEcal, antiElecIDMVA6_blocks::TauVars::emFraction, antiElecIDMVA6_blocks::ElecVars::eSeedClusterOverPout, antiElecIDMVA6_blocks::TauVars::etaAtEcalEntrance, Exception, f, antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEnFracOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaEtaMomOut, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomIn, antiElecIDMVA6_blocks::TauGammaMoms::gammaPhiMomOut, antiElecIDMVA6_blocks::ElecVars::gsfNumHits, antiElecIDMVA6_blocks::ElecVars::gsfTracklnPt, antiElecIDMVA6_blocks::ElecVars::gsfTrackResol, antiElecIDMVA6_blocks::TauVars::hasGsf, antiElecIDMVA6_blocks::ElecVars::hgcalDepthCompatibility, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyEE, antiElecIDMVA6_blocks::ElecVars::hgcalEcEnergyFH, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedDepth, antiElecIDMVA6_blocks::ElecVars::hgcalExpectedSigma, antiElecIDMVA6_blocks::ElecVars::hgcalFirstLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLastLayer, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac10, antiElecIDMVA6_blocks::ElecVars::hgcalLayerEfrac90, antiElecIDMVA6_blocks::ElecVars::hgcalMeasuredDepth, antiElecIDMVA6_blocks::ElecVars::hgcalNLayers, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaEE, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaPP, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaUU, antiElecIDMVA6_blocks::ElecVars::hgcalSigmaVV, antiElecIDMVA6_blocks::ElecVars::kfNumHits, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandEtaAtEcalEntrance, antiElecIDMVA6_blocks::TauVars::leadChargedPFCandPt, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrEoP, antiElecIDMVA6_blocks::TauVars::leadPFChargedHadrHoP, dqm-mbProfile::log, SiStripPI::max, min(), antiElecIDMVA6_blocks::ElecVars::mvaInDeltaEta, antiElecIDMVA6_blocks::ElecVars::mvaInHadEnergy, antiElecIDMVA6_blocks::ElecVars::mvaInSigmaEtaEta, antiElecIDMVA6_blocks::ElecVars::pIn, antiElecIDMVA6_blocks::ElecVars::pOut, antiElecIDMVA6_blocks::TauVars::pt, antiElecIDMVA6_blocks::ElecVars::r9, antiElecIDMVA6_blocks::ElecVars::showerCircularity, antiElecIDMVA6_blocks::ElecVars::sigmaIEtaIEta5x5, antiElecIDMVA6_blocks::ElecVars::sigmaIPhiIPhi5x5, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsIn, antiElecIDMVA6_blocks::TauGammaMoms::signalPFGammaCandsOut, antiElecIDMVA6_blocks::ElecVars::superClusterEtaWidth, antiElecIDMVA6_blocks::ElecVars::superClusterPhiWidth, and antiElecIDMVA6_blocks::TauVars::visMassIn.
◆ ecalBarrelEndcapEtaBorder_
template<class TauType , class ElectronType >
constexpr float AntiElectronIDMVA6< TauType, ElectronType >::ecalBarrelEndcapEtaBorder_ = 1.479 |
|
staticconstexprprivate |
◆ ecalEndcapVFEndcapEtaBorder_
template<class TauType , class ElectronType >
constexpr float AntiElectronIDMVA6< TauType, ElectronType >::ecalEndcapVFEndcapEtaBorder_ = 2.4 |
|
staticconstexprprivate |
◆ electronIds_
template<class TauType , class ElectronType >
◆ electronIds_tokens_
template<class TauType , class ElectronType >
◆ inputFileName_
template<class TauType , class ElectronType >
◆ inputFilesToDelete_
template<class TauType , class ElectronType >
◆ isInitialized_
template<class TauType , class ElectronType >
◆ isPhase2_
template<class TauType , class ElectronType >
◆ loadMVAfromDB_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_wGwoGSF_BL_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_wGwoGSF_EC_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_wGwoGSF_VFEC_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_woGwoGSF_BL_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_woGwoGSF_EC_
template<class TauType , class ElectronType >
◆ mva_NoEleMatch_woGwoGSF_VFEC_
template<class TauType , class ElectronType >
◆ mva_wGwGSF_BL_
template<class TauType , class ElectronType >
◆ mva_wGwGSF_EC_
template<class TauType , class ElectronType >
◆ mva_wGwGSF_VFEC_
template<class TauType , class ElectronType >
◆ mva_woGwGSF_BL_
template<class TauType , class ElectronType >
◆ mva_woGwGSF_EC_
template<class TauType , class ElectronType >
◆ mva_woGwGSF_VFEC_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_wGwoGSF_BL_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_wGwoGSF_EC_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_wGwoGSF_VFEC_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_woGwoGSF_BL_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_woGwoGSF_EC_
template<class TauType , class ElectronType >
◆ mvaName_NoEleMatch_woGwoGSF_VFEC_
template<class TauType , class ElectronType >
std::string AntiElectronIDMVA6< TauType, ElectronType >::mvaName_NoEleMatch_woGwoGSF_VFEC_ |
|
private |
◆ mvaName_wGwGSF_BL_
template<class TauType , class ElectronType >
◆ mvaName_wGwGSF_EC_
template<class TauType , class ElectronType >
◆ mvaName_wGwGSF_VFEC_
template<class TauType , class ElectronType >
◆ mvaName_woGwGSF_BL_
template<class TauType , class ElectronType >
◆ mvaName_woGwGSF_EC_
template<class TauType , class ElectronType >
◆ mvaName_woGwGSF_VFEC_
template<class TauType , class ElectronType >
◆ positionAtECalEntrance_
template<class TauType , class ElectronType >
◆ usePhiAtEcalEntranceExtrapolation_
template<class TauType , class ElectronType >
◆ var_NoEleMatch_wGwoGSF_Barrel_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_Barrel_ |
|
private |
◆ var_NoEleMatch_wGwoGSF_Endcap_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_Endcap_ |
|
private |
◆ var_NoEleMatch_wGwoGSF_VFEndcap_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_wGwoGSF_VFEndcap_ |
|
private |
◆ var_NoEleMatch_woGwoGSF_Barrel_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_Barrel_ |
|
private |
◆ var_NoEleMatch_woGwoGSF_Endcap_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_Endcap_ |
|
private |
◆ var_NoEleMatch_woGwoGSF_VFEndcap_
template<class TauType , class ElectronType >
std::vector<float> AntiElectronIDMVA6< TauType, ElectronType >::var_NoEleMatch_woGwoGSF_VFEndcap_ |
|
private |
◆ var_wGwGSF_Barrel_
template<class TauType , class ElectronType >
◆ var_wGwGSF_Endcap_
template<class TauType , class ElectronType >
◆ var_wGwGSF_VFEndcap_
template<class TauType , class ElectronType >
◆ var_woGwGSF_Barrel_
template<class TauType , class ElectronType >
◆ var_woGwGSF_Endcap_
template<class TauType , class ElectronType >
◆ var_woGwGSF_VFEndcap_
template<class TauType , class ElectronType >
◆ verbosity_
template<class TauType , class ElectronType >
const reco::CandidatePtr leadChargedHadrCand() const
antiElecIDMVA6_blocks::TauGammaVecs getTauGammaVecs(const TauType &theTau)
std::string mvaName_NoEleMatch_wGwoGSF_VFEC_
std::map< std::string, edm::EDGetTokenT< edm::ValueMap< float > > > electronIds_tokens_
void getElecVarsHGCalTypeSpecific(const reco::GsfElectronRef &theEleRef, antiElecIDMVA6_blocks::ElecVars &elecVars)
std::vector< float > gammasdEtaInSigCone
const CandidatePtr & leadCand() const
float leadPFChargedHadrEoP
static constexpr float ecalBarrelEndcapEtaBorder_
std::string mvaName_wGwGSF_EC_
const std::vector< reco::CandidatePtr > & signalCands() const
Candidates in signal region.
double GetClassifier(const float *vector) const
std::vector< float > gammasdPhiOutSigCone
std::string mvaName_NoEleMatch_woGwoGSF_EC_
const GBRForest * mva_NoEleMatch_wGwoGSF_VFEC_
std::vector< float > var_woGwGSF_VFEndcap_
std::vector< float > var_NoEleMatch_woGwoGSF_Endcap_
double p() const override
magnitude of momentum vector
float ecalEnergyLeadChargedHadrCand() const
int pdgId() const override
PDG identifier.
const GBRForest * mva_woGwGSF_VFEC_
float caloFraction() const
Set the fraction of ECAL+HCAL energy over candidate energy.
std::string mvaName_NoEleMatch_woGwoGSF_BL_
PositionAtECalEntranceComputer positionAtECalEntrance_
std::vector< float > var_NoEleMatch_wGwoGSF_VFEndcap_
float emFraction_MVA() const
return emFraction_MVA
const math::XYZPointF & positionAtECALEntrance() const
float eSeedClusterOverPout
std::vector< float > var_wGwGSF_Endcap_
T const * get() const
Returns C++ pointer to the item.
std::map< std::string, edm::Handle< edm::ValueMap< float > > > electronIds_
bool energyWeightedEtaAndPhiAtECal(const pat::Tau &theTau, float &eta, float &phi)
int signalPFGammaCandsOut
std::pair< int, edm::FunctionWithDict > OK
double mvaValuePhase2(const antiElecIDMVA6_blocks::TauVars &tauVars, const antiElecIDMVA6_blocks::TauGammaMoms &tauGammaMoms, const antiElecIDMVA6_blocks::ElecVars &elecVars)
void beginEvent(const edm::EventSetup &)
std::vector< float > var_woGwGSF_Barrel_
float hcalEnergyLeadChargedHadrCand() const
return hcal energy from LeadChargedHadrCand
reco::CandidatePtrVector signalCands() const
float superClusterEtaWidth
double energy() const override
energy
std::vector< TFile * > inputFilesToDelete_
double dCrackPhi(double phi, double eta)
std::vector< float > var_NoEleMatch_wGwoGSF_Endcap_
std::vector< float > var_NoEleMatch_woGwoGSF_VFEndcap_
const GBRForest * mva_NoEleMatch_woGwoGSF_EC_
std::vector< float > var_woGwGSF_Endcap_
const GBRForest * mva_wGwGSF_BL_
const GBRForest * mva_NoEleMatch_woGwoGSF_BL_
float leadPFChargedHadrHoP
std::vector< float > gammasdPhiInSigCone
float hgcalDepthCompatibility
const GBRForest * mva_NoEleMatch_wGwoGSF_EC_
std::vector< float > gammasdEtaOutSigCone
std::string mvaName_NoEleMatch_wGwoGSF_BL_
const CandidatePtr & leadChargedHadrCand() const
std::string mvaName_woGwGSF_VFEC_
LocationCode location() const
Where was the file found?
bool usePhiAtEcalEntranceExtrapolation_
float leadChargedPFCandEtaAtEcalEntrance
std::vector< float > var_NoEleMatch_wGwoGSF_Barrel_
reco::GsfTrackRef gsfTrackRef() const
edm::FileInPath inputFileName_
double eta() const final
momentum pseudorapidity
std::vector< float > gammasPtOutSigCone
float etaAtEcalEntrance() const
return etaAtEcalEntrance
bool isNonnull() const
Checks for non-null.
std::vector< float > var_wGwGSF_Barrel_
const GBRForest * mva_woGwGSF_EC_
float superClusterPhiWidth
antiElecIDMVA6_blocks::TauVars getTauVars(const TauType &theTau)
std::vector< float > var_wGwGSF_VFEndcap_
antiElecIDMVA6_blocks::ElecVars getElecVars(const ElectronRef &theEleRef)
float phiAtEcalEntrance() const
return phiAtEcalEntrance
double ecalEnergy() const
return corrected Ecal energy
std::string mvaName_woGwGSF_BL_
std::string mvaName_NoEleMatch_woGwoGSF_VFEC_
std::string mvaName_woGwGSF_EC_
float hcalFraction() const
std::string mvaName_wGwGSF_VFEC_
double phi() const final
momentum azimuthal angle
double hcalEnergy() const
return corrected Hcal energy
float etaAtEcalEntranceLeadChargedCand() const
return etaAtEcalEntrance from LeadChargedCand
double p() const final
magnitude of momentum vector
static constexpr float ecalEndcapVFEndcapEtaBorder_
const GBRForest * mva_NoEleMatch_woGwoGSF_VFEC_
const GBRForest * mva_NoEleMatch_wGwoGSF_BL_
bool isNonnull() const
Checks for non-null.
double minimum(double a, double b)
std::vector< float > gammasPtInSigCone
float ptLeadChargedCand() const
return pt from LeadChargedCand
Particle reconstructed by the particle flow algorithm.
std::string mvaName_NoEleMatch_wGwoGSF_EC_
double mvaValue(const antiElecIDMVA6_blocks::TauVars &tauVars, const antiElecIDMVA6_blocks::TauGammaVecs &tauGammaVecs, const antiElecIDMVA6_blocks::ElecVars &elecVars)
const GBRForest * mva_wGwGSF_EC_
Abs< T >::type abs(const T &t)
const GBRForest * mva_wGwGSF_VFEC_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
math::XYZPoint Point
point in the space
float leadChargedPFCandPt
antiElecIDMVA6_blocks::TauVars getTauVarsTypeSpecific(const reco::PFTau &theTau)
const GBRForest * mva_woGwGSF_BL_
std::string mvaName_wGwGSF_BL_
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
double dCrackEta(double eta)
std::vector< float > var_NoEleMatch_woGwoGSF_Barrel_
std::string fullPath() const