Skip to content

Commit

Permalink
Updated with ext eta thresholds
Browse files Browse the repository at this point in the history
  • Loading branch information
akapoor committed May 10, 2022
1 parent 92f9598 commit 6a3fdfc
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 30 deletions.
20 changes: 10 additions & 10 deletions RecoEgamma/EgammaElectronProducers/plugins/GsfElectronProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -303,18 +303,18 @@ void GsfElectronProducer::fillDescriptions(edm::ConfigurationDescriptions& descr

psd1.add<std::vector<std::string>>(
"modelsFiles",
{"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/lowpT/lowpT_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEB/highpTEB_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEE/highpTEE_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/exteta1/modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/exteta2/modelDNN.pb"});
{"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/lowpT/lowpT_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/highpTEB/highpTEB_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/highpTEE/highpTEE_modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Winter22_122X/exteta1/modelDNN.pb",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Winter22_122X/exteta2/modelDNN.pb"});
psd1.add<std::vector<std::string>>(
"scalersFiles",
{"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/lowpT/lowpT_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEB/highpTEB_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/highpTEE/highpTEE_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/exteta1/scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/v1/exteta2/scaler.txt"});
{"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/lowpT/lowpT_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/highpTEB/highpTEB_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Summer21_120X/highpTEE/highpTEE_scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Winter22_122X/exteta1/scaler.txt",
"RecoEgamma/ElectronIdentification/data/Ele_PFID_dnn/Run3Winter22_122X/exteta2/scaler.txt"});
psd1.add<std::vector<unsigned int>>(
"outputDim",//Number of output nodes for the above models
{5,5,5,5,3});
Expand Down
4 changes: 2 additions & 2 deletions RecoEgamma/EgammaTools/src/EgammaDNNHelper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ void EgammaDNNHelper::initScalerFiles(const std::vector<std::string>& availableV
std::ifstream inputfile_scaler{edm::FileInPath(scaler_file).fullPath()};
int ninputs = 0;
if (inputfile_scaler.fail()) {
throw cms::Exception("MissingFile") << "Scaler file for Electron PFid DNN not found";
throw cms::Exception("MissingFile") << "Scaler file for PFid DNN not found";
} else {
// Now read mean, scale factors for each variable
float par1, par2;
Expand Down Expand Up @@ -164,7 +164,7 @@ std::vector<std::vector<float>> EgammaDNNHelper::evaluate(const std::vector<std:
// Get the output and save the ElectronDNNEstimator::outputDim numbers along with the ele index
const auto& r = output[0].tensor<float, 2>();
// Iterate on the list of elements in the batch --> many electrons
LogDebug("EgammaDNNHelper") << "Model has "<< cfg_.outputDim[m] <<" nodes!";
LogDebug("EgammaDNNHelper") << "Model "<<m<<" has "<< cfg_.outputDim[m] <<" nodes!";
for (uint b = 0; b < counts[m]; b++) {
//auto outputDim=cfg_.outputDim;
std::vector<float> result(cfg_.outputDim[m]);
Expand Down
2 changes: 2 additions & 0 deletions RecoParticleFlow/PFProducer/interface/PFEGammaFilters.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ class PFEGammaFilters {
const bool useElePFidDNN_;
const bool usePhotonPFidDNN_;
const bool useEBModelInGap_;
const float endcapBoundary_;
const float extEtaBoundary_;
const float ele_iso_pt_;
const float ele_iso_mva_eb_;
const float ele_iso_mva_ee_;
Expand Down
8 changes: 4 additions & 4 deletions RecoParticleFlow/PFProducer/python/particleFlow_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@
electronDnnHighPtBarrelThr = cms.double(0.068),
electronDnnHighPtEndcapThr = cms.double(0.056),
electronDnnLowPtThr = cms.double(0.075),
electronDnnExtEta1Thr = cms.double(0.075),
electronDnnExtEta2Thr = cms.double(0.075)
electronDnnExtEta1Thr = cms.double(0.113604),
electronDnnExtEta2Thr = cms.double(0.118044)
)
# Thresholds for electron: Bkg_nonIsolated
particleFlowTmp.PFEGammaFiltersParameters.electronDnnBkgThresholds = cms.PSet(
electronDnnBkgHighPtBarrelThr = cms.double(0.8),
electronDnnBkgHighPtEndcapThr = cms.double(0.75),
electronDnnBkgLowPtThr = cms.double(0.75),
electronDnnBkgExtEta1Thr = cms.double(0.75),
electronDnnBkgExtEta2Thr = cms.double(0.75)
electronDnnBkgExtEta1Thr = cms.double(0.7),
electronDnnBkgExtEta2Thr = cms.double(0.85)
)
# Thresholds for photons
particleFlowTmp.PFEGammaFiltersParameters.photonDnnThresholds = cms.PSet(
Expand Down
32 changes: 18 additions & 14 deletions RecoParticleFlow/PFProducer/src/PFEGammaFilters.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ PFEGammaFilters::PFEGammaFilters(const edm::ParameterSet& cfg)
useElePFidDNN_(cfg.getParameter<bool>("useElePFidDnn")),
usePhotonPFidDNN_(cfg.getParameter<bool>("usePhotonPFidDnn")),
useEBModelInGap_(cfg.getParameter<bool>("useEBModelInGap")),
endcapBoundary_(cfg.getParameter<double>("endcapBoundary")),
extEtaBoundary_(cfg.getParameter<double>("extEtaBoundary")),
ele_iso_pt_(cfg.getParameter<double>("electron_iso_pt")),
ele_iso_mva_eb_(cfg.getParameter<double>("electron_iso_mva_barrel")),
ele_iso_mva_ee_(cfg.getParameter<double>("electron_iso_mva_endcap")),
Expand Down Expand Up @@ -182,7 +184,7 @@ bool PFEGammaFilters::passElectronSelection(const reco::GsfElectron& electron,
const auto dnn_sig = electron.dnn_signal_Isolated() + electron.dnn_signal_nonIsolated();
const auto dnn_bkg = electron.dnn_bkg_nonIsolated();
const auto etaThreshold = (useEBModelInGap_) ? ecalBarrelMaxEtaWithGap : ecalBarrelMaxEtaNoGap;
if (eleEta < 2.5){
if (eleEta < endcapBoundary_){
if (electronPt > ele_iso_pt_) {
// using the Barrel model for electron in the EB-EE gap
if (eleEta <= etaThreshold) { //high pT barrel
Expand All @@ -194,9 +196,9 @@ bool PFEGammaFilters::passElectronSelection(const reco::GsfElectron& electron,
}
}

} else if ((eleEta >= 2.5) && (eleEta <= 2.65)){//First region in extended eta
} else if ((eleEta >= endcapBoundary_) && (eleEta <= extEtaBoundary_)){//First region in extended eta
passEleSelection = (dnn_sig > ele_dnnExtEta1Thr_) && (dnn_bkg < ele_dnnBkgExtEta1Thr_);
} else if (eleEta > 2.65){//Second region in extended eta
} else if (eleEta > extEtaBoundary_){//Second region in extended eta
passEleSelection = (dnn_sig > ele_dnnExtEta2Thr_) && (dnn_bkg < ele_dnnBkgExtEta2Thr_);
}
// TODO: For the moment do not evaluate further conditions on isolation and HCAL cleaning..
Expand Down Expand Up @@ -466,17 +468,17 @@ bool PFEGammaFilters::passGsfElePreSelWithOnlyConeHadem(const reco::GsfElectron&
return passCutBased || passMVA;
}

bool PFEGammaFilters::thisEleIsNotAllowedInPF(const reco::GsfElectron& electron, bool allowEtaExtEleinPF) const {
bool returnVal = false;
if (!allowEtaExtEleinPF) {
const auto nHitGsf = electron.gsfTrack()->numberOfValidHits();
const auto absEleEta = std::abs(electron.eta());
if ((absEleEta > 2.5) && (nHitGsf < 5)) {
returnVal = true;
}
}
return returnVal;
}
// bool PFEGammaFilters::thisEleIsNotAllowedInPF(const reco::GsfElectron& electron, bool allowEtaExtEleinPF) const {
// bool returnVal = false;
// if (!allowEtaExtEleinPF) {
// const auto nHitGsf = electron.gsfTrack()->numberOfValidHits();
// const auto absEleEta = std::abs(electron.eta());
// if ((absEleEta > 2.5) && (nHitGsf < 5)) {
// returnVal = true;
// }
// }
// return returnVal;
// }

void PFEGammaFilters::fillPSetDescription(edm::ParameterSetDescription& iDesc) {
// Electron selection cuts
Expand All @@ -491,6 +493,8 @@ void PFEGammaFilters::fillPSetDescription(edm::ParameterSetDescription& iDesc) {
iDesc.add<double>("electron_maxElePtForOnlyMVAPresel", 50.0);
iDesc.add<bool>("allowEEEinPF", false);
iDesc.add<bool>("useElePFidDnn", false);
iDesc.add<double>("endcapBoundary", 2.5);
iDesc.add<double>("extEtaBoundary", 2.65);
{
edm::ParameterSetDescription psd;
psd.add<double>("electronDnnLowPtThr", 0.5);
Expand Down

0 comments on commit 6a3fdfc

Please sign in to comment.