Skip to content

Commit

Permalink
now have high eta photon plots
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam-Harper committed Jun 16, 2017
1 parent 486d29d commit d610c5e
Show file tree
Hide file tree
Showing 4 changed files with 189 additions and 24 deletions.
9 changes: 8 additions & 1 deletion DQMOffline/Trigger/interface/FunctionDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <functional>

#include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
#include "DataFormats/EgammaCandidates/interface/Photon.h"

namespace hltdqm {
//here we define needed functions that otherwise dont exist
Expand Down Expand Up @@ -69,7 +70,13 @@ namespace hltdqm {
else if(varName=="hOverE") varFunc = &reco::GsfElectron::hcalOverEcal;
return varFunc;
}

template<>
std::function<float(const reco::Photon&)> getUnaryFuncExtraFloat<reco::Photon>(const std::string& varName){
std::function<float(const reco::Photon&)> varFunc;
if(varName=="scEta") varFunc = scEtaFunc<reco::Photon>;
else if(varName=="hOverE") varFunc = &reco::Photon::hadTowOverEm;
return varFunc;
}

}

Expand Down
18 changes: 15 additions & 3 deletions DQMOffline/Trigger/python/EgammaMonitoring_Client_cff.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,32 @@ def makeEGEffHistDef(baseName,filterName):
return ["{0}_{1}_vsEt_eff '{1} Efficiency vs E_{{T}};E_{{T}} [GeV];Efficiency' {0}_{1}_vsEt_pass {0}_{1}_vsEt_tot".format(baseName,filterName),
"{0}_{1}_EBvsEt_eff '{1} Barrel Efficiency vs E_{{T}};E_{{T}} [GeV];Efficiency' {0}_{1}_EBvsEt_pass {0}_{1}_EBvsEt_tot".format(baseName,filterName),
"{0}_{1}_EEvsEt_eff '{1} Endcap Efficiency vs E_{{T}};E_{{T}} [GeV];Efficiency' {0}_{1}_EEvsEt_pass {0}_{1}_EEvsEt_tot".format(baseName,filterName),
"{0}_{1}_vsEt_eff '{1} Efficiency vs E_{{T}};E_{{T}} [GeV];Efficiency' {0}_{1}_vsEt_pass {0}_{1}_vsEt_tot".format(baseName,filterName),
"{0}_{1}_vsSCEta_eff '{1} Efficiency vs SC #eta;#eta_{{SC}};Efficiency' {0}_{1}_vsSCEta_pass {0}_{1}_vsSCEta_tot".format(baseName,filterName),
"{0}_{1}_EBvsPhi_eff '{1} Barrel Efficiency vs #phi [rad];#phi [rad];Efficiency' {0}_{1}_EBvsPhi_pass {0}_{1}_EBvsPhi_tot".format(baseName,filterName),
"{0}_{1}_EEvsPhi_eff '{1} Endcap Efficiency vs #phi;#phi [rad];Efficiency' {0}_{1}_EEvsPhi_pass {0}_{1}_EEvsPhi_tot".format(baseName,filterName),
"{0}_{1}_EEvsPhi_eff '{1} Endcap Efficiency vs #phi;#phi [rad];Efficiency' {0}_{1}_EEvsPhi_pass {0}_{1}_EEvsPhi_tot".format(baseName,filterName),
"{0}_{1}_vsPhi_eff '{1} Efficiency vs #phi;#phi [rad];Efficiency' {0}_{1}_vsPhi_pass {0}_{1}_vsPhi_tot".format(baseName,filterName),
"{0}_{1}_vsSCEtaPhi_eff '{1} Efficiency vs SC #eta/#phi;#eta_{{SC}};#phi [rad];' {0}_{1}_vsSCEtaPhi_pass {0}_{1}_vsSCEtaPhi_tot".format(baseName,filterName)]

def makeAllEGEffHistDefs():
baseNames=["eleWPTightTag","eleWPTightTag-HEP17","eleWPTightTag-HEM17"]
filterNames=["hltEle33CaloIdLMWPMS2Filter","hltDiEle33CaloIdLMWPMS2UnseededFilter","hltEG300erFilter","hltEG70HEFilter","hltDiEG70HEUnseededFilter","hltEG85HEFilter","hltDiEG85HEUnseededFilter","hltEG30EIso15HE30EcalIsoLastFilter","hltEG18EIso15HE30EcalIsoUnseededFilter","hltEle23Ele12CaloIdLTrackIdLIsoVLTrackIsoLeg1Filter","hltEle23Ele12CaloIdLTrackIdLIsoVLTrackIsoLeg2Filter","hltEle27WPTightGsfTrackIsoFilter","hltEle32noerWPTightGsfTrackIsoFilter","hltEle35noerWPTightGsfTrackIsoFilter","hltEle38noerWPTightGsfTrackIsoFilter","hltEle27L1DoubleEGWPTightGsfTrackIsoFilter","hltEle32L1DoubleEGWPTightGsfTrackIsoFilter","hltEG33L1EG26HEFilter","hltEG50HEFilter","hltEG75HEFilter","hltEG90HEFilter","hltEG120HEFilter","hltEG150HEFilter","hltEG175HEFilter","hltEG200HEFilter","hltSingleCaloJet500","hltSingleCaloJet550"]

filterNames=["hltEle33CaloIdLMWPMS2Filter","hltDiEle33CaloIdLMWPMS2UnseededFilter","hltEG300erFilter","hltEG70HEFilter","hltDiEG70HEUnseededFilter","hltEG85HEFilter","hltDiEG85HEUnseededFilter","hltEG30EIso15HE30EcalIsoLastFilter","hltEG18EIso15HE30EcalIsoUnseededFilter","hltEle23Ele12CaloIdLTrackIdLIsoVLTrackIsoLeg1Filter","hltEle23Ele12CaloIdLTrackIdLIsoVLTrackIsoLeg2Filter","hltEle27WPTightGsfTrackIsoFilter","hltEle32noerWPTightGsfTrackIsoFilter","hltEle35noerWPTightGsfTrackIsoFilter","hltEle38noerWPTightGsfTrackIsoFilter","hltEle27L1DoubleEGWPTightGsfTrackIsoFilter","hltEle32L1DoubleEGWPTightGsfTrackIsoFilter","hltEG33L1EG26HEFilter","hltEG50HEFilter","hltEG75HEFilter","hltEG90HEFilter","hltEG120HEFilter","hltEG150HEFilter","hltEG175HEFilter","hltEG200HEFilter","hltSingleCaloJet500","hltSingleCaloJet550","hltEle28HighEtaSC20TrackIsoFilter","hltEle50CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle115CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle135CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle145CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle200CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle250CaloIdVTGsfTrkIdTGsfDphiFilter","hltEle300CaloIdVTGsfTrkIdTGsfDphiFilter"
]


histDefs=[]
for baseName in baseNames:
for filterName in filterNames:
histDefs.extend(makeEGEffHistDef(baseName,filterName))

baseNames=["eleWPTightTagPhoProbe","eleWPTightTagPhoProbe-HEM17","eleWPTightTagPhoProbe-HEP17"]
filterNames=["hltEle28HighEtaSC20Mass55Filter","hltEle28HighEtaSC20HcalIsoFilterUnseeded"]

for baseName in baseNames:
for filterName in filterNames:
histDefs.extend(makeEGEffHistDef(baseName,filterName))

# print histDefs
return histDefs


Expand Down
6 changes: 4 additions & 2 deletions DQMOffline/Trigger/python/EgammaMonitoring_cff.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import FWCore.ParameterSet.Config as cms

from DQMOffline.Trigger.HLTEGTnPMonitor_cfi import egmGsfElectronIDsForDQM,egHLTDQMOfflineTnPSource
from DQMOffline.Trigger.HLTEGTnPMonitor_cfi import egmGsfElectronIDsForDQM,egHLTDQMOfflineTnPSource,egmPhotonIDSequenceForDQM,egHLTElePhoDQMOfflineTnPSource,photonIDValueMapProducer,photonMVAValueMapProducer,egmPhotonIDsForDQM

egammaMonitorHLT = cms.Sequence(
egmGsfElectronIDsForDQM*
egHLTDQMOfflineTnPSource
egHLTDQMOfflineTnPSource*
egmPhotonIDSequenceForDQM*
egHLTElePhoDQMOfflineTnPSource
)
180 changes: 162 additions & 18 deletions DQMOffline/Trigger/python/HLTEGTnPMonitor_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,19 @@
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("-2.5:-1.556","1.556:2.5")
)
ecalEndcapHighEtaCut=cms.PSet(
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("-3.0:-2.5","2.5:3.0")
)
ecalEndcapPosHighEtaCut= cms.PSet(
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("2.5:3.0"),
)
ecalEndcapNegHighEtaCut= cms.PSet(
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("-3.0:-2.5"),
)

ecalBarrelAndEndcapEtaCut = cms.PSet(
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("-1.4442:1.4442","-2.5:-1.556","1.556:2.5"),
Expand All @@ -26,6 +39,7 @@
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("1.3:1.4442","1.556:2.5"),
)

hcalNegEtaCut= cms.PSet(
rangeVar=cms.string("scEta"),
allowedRanges=cms.vstring("-2.5:-1.556","-1.4442:-1.3"),
Expand Down Expand Up @@ -83,17 +97,18 @@

tagAndProbeElePhoConfigEle27WPTight = tagAndProbeConfigEle27WPTight.clone(
probeColl=cms.InputTag("gedPhotons"),
probeVIDCuts=cms.InputTag(""),
probeVIDCuts=cms.InputTag("cutBasedPhotonID-Spring16-V2p2-loose"),
probeRangeCuts = cms.VPSet(),
minTagProbeDR=cms.double(0.1)
)
tagAndProbeElePhoConfigEle27WPTightHEP17 = tagAndProbeElePhoConfigEle27WPTight.clone(
probeRangeCuts = cms.VPSet(
hcalPosEtaCut,
ecalEndcapPosHighEtaCut,
hcalPhi17Cut,
))
tagAndProbeElePhoConfigEle27WPTightHEM17 = tagAndProbeElePhoConfigEle27WPTight.clone(
probeRangeCuts = cms.VPSet(
hcalNegEtaCut,
ecalEndcapPosHighEtaCut,
hcalPhi17Cut,
))

Expand Down Expand Up @@ -144,6 +159,39 @@
),

)
egammaHighEtaHistConfigs = cms.VPSet(
cms.PSet(
histType=cms.string("1D"),
vsVar=cms.string("et"),
nameSuffex=cms.string("_vsEt"),
rangeCuts=cms.VPSet(),
binLowEdges=etBinsStd,
),
cms.PSet(
histType=cms.string("1D"),
vsVar=cms.string("scEta"),
nameSuffex=cms.string("_vsSCEta"),
rangeCuts=cms.VPSet(),
binLowEdges=cms.vdouble(-3.0,-2.9,-2.8,-2.7,-2.6,-2.5,2.5,2.6,2.7,2.8,2.9,3.0),
),
cms.PSet(
histType=cms.string("1D"),
vsVar=cms.string("phi"),
nameSuffex=cms.string("_vsPhi"),
rangeCuts=cms.VPSet(),
binLowEdges=phiBinsStd,
),
cms.PSet(
histType=cms.string("2D"),
xVar=cms.string("scEta"),
yVar=cms.string("phi"),
nameSuffex=cms.string("_vsSCEtaPhi"),
rangeCuts=cms.VPSet(),
xBinLowEdges=cms.vdouble(-3.0,-2.9,-2.8,-2.7,-2.6,-2.5,2.5,2.6,2.7,2.8,2.9,3.0),
yBinLowEdges=phiBinsStd,
),

)

egammaStdFiltersToMonitor= cms.VPSet(
cms.PSet(
Expand Down Expand Up @@ -336,10 +384,84 @@
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),

cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele28_HighEta_SC20_Mass55"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("32:99999")),),
filterName = cms.string("hltEle28HighEtaSC20TrackIsoFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele50_CaloIdVT_GsfTrkIdT_PFJet165"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("55:99999")),),
filterName = cms.string("hltEle50CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele115_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("120:99999")),),
filterName = cms.string("hltEle115CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele135_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("140:99999")),),
filterName = cms.string("hltEle135CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele145_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("150:99999")),),
filterName = cms.string("hltEle145CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele200_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("210:99999")),),
filterName = cms.string("hltEle200CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele250_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("260:99999")),),
filterName = cms.string("hltEle250CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele300_CaloIdVT_GsfTrkIdT"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("310:99999")),),
filterName = cms.string("hltEle300CaloIdVTGsfTrkIdTGsfDphiFilter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string(""),
),
)


egammaPhoFiltersToMonitor= cms.VPSet(
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele28_HighEta_SC20_Mass55"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("22:99999")),
ecalEndcapHighEtaCut
),
filterName = cms.string("hltEle28HighEtaSC20Mass55Filter"),
histTitle = cms.string(""),
tagExtraFilter = cms.string("hltEle28HighEtaSC20TrackIsoFilter"),
),
cms.PSet(
folderName = cms.string("HLT/EGTagAndProbeEffs/HLT_Ele28_HighEta_SC20_Mass55"),
rangeCuts = cms.VPSet(etRangeCut.clone(allowedRanges=cms.vstring("22:99999")),
ecalEndcapHighEtaCut
),
filterName = cms.string("hltEle28HighEtaSC20HcalIsoFilterUnseeded"),
histTitle = cms.string(""),
tagExtraFilter = cms.string("hltEle28HighEtaSC20TrackIsoFilter"),
),
)

egHLTDQMOfflineTnPSource = cms.EDAnalyzer("HLTEleTagAndProbeOfflineSource",
tagAndProbeCollections = cms.VPSet(
Expand Down Expand Up @@ -368,26 +490,27 @@
egHLTElePhoDQMOfflineTnPSource = cms.EDAnalyzer("HLTElePhoTagAndProbeOfflineSource",
tagAndProbeCollections = cms.VPSet(
cms.PSet(
tagAndProbeConfigEle27WPTight.clone(probeColl=cms.InputTag("gedPhotons"),
histConfigs = egammaStdHistConfigs,
baseHistName = cms.string("eleWPTightTag_"),
filterConfigs = egammaStdFiltersToMonitor,
tagAndProbeElePhoConfigEle27WPTight,
histConfigs = egammaHighEtaHistConfigs,
baseHistName = cms.string("eleWPTightTagPhoProbe_"),
filterConfigs = egammaPhoFiltersToMonitor,
),
cms.PSet(
tagAndProbeConfigEle27WPTightHEM17,
histConfigs = egammaStdHistConfigs,
baseHistName = cms.string("eleWPTightTag-HEM17_"),
filterConfigs = egammaStdFiltersToMonitor,
tagAndProbeElePhoConfigEle27WPTightHEM17,
histConfigs = egammaHighEtaHistConfigs,
baseHistName = cms.string("eleWPTightTagPhoProbe-HEM17_"),
filterConfigs = egammaPhoFiltersToMonitor,
),
cms.PSet(
tagAndProbeConfigEle27WPTightHEP17,
histConfigs = egammaStdHistConfigs,
baseHistName = cms.string("eleWPTightTag-HEP17_"),
filterConfigs = egammaStdFiltersToMonitor,
tagAndProbeElePhoConfigEle27WPTightHEP17,
histConfigs = egammaHighEtaHistConfigs,
baseHistName = cms.string("eleWPTightTagPhoProbe-HEP17_"),
filterConfigs = egammaPhoFiltersToMonitor,
),

)

)

from RecoEgamma.ElectronIdentification.egmGsfElectronIDs_cff import egmGsfElectronIDs

egmGsfElectronIDsForDQM = egmGsfElectronIDs.clone()
Expand All @@ -403,3 +526,24 @@
item = getattr(idmod,name)
if hasattr(item,'idName') and hasattr(item,'cutFlow'):
setupVIDSelection(egmGsfElectronIDsForDQM,item)


from RecoEgamma.PhotonIdentification.PhotonIDValueMapProducer_cfi import photonIDValueMapProducer
from RecoEgamma.PhotonIdentification.PhotonMVAValueMapProducer_cfi import photonMVAValueMapProducer
from RecoEgamma.PhotonIdentification.egmPhotonIDs_cfi import egmPhotonIDs
egmPhotonIDsForDQM = egmPhotonIDs.clone()
egmPhotonIDsForDQM.physicsObjectsIDs = cms.VPSet()
egmPhotonIDsForDQM.physicsObjectSrc == cms.InputTag('gedPhotons')
#note: be careful here to when selecting new ids that the vid tools dont do extra setup for them
#for example the HEEP cuts need an extra producer which vid tools automatically handles
from PhysicsTools.SelectorUtils.tools.vid_id_tools import setupVIDSelection
my_id_modules = ['RecoEgamma.PhotonIdentification.Identification.cutBasedPhotonID_Spring16_V2p2_cff']
for id_module_name in my_id_modules:
idmod= __import__(id_module_name, globals(), locals(), ['idName','cutFlow'])
for name in dir(idmod):
item = getattr(idmod,name)
if hasattr(item,'idName') and hasattr(item,'cutFlow'):
setupVIDSelection(egmPhotonIDsForDQM,item)
egmPhotonIDSequenceForDQM = cms.Sequence(photonIDValueMapProducer*
photonMVAValueMapProducer*
egmPhotonIDsForDQM)

0 comments on commit d610c5e

Please sign in to comment.