New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add offline DQM for NoBPTX EXO triggers #18950
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
b214dbe
add offline DQM for NoBPTX EXO triggers
jalimena a96b7c2
add histograms vs eta, phi, BX
jalimena ff45647
add monitoring of backup paths
jalimena 957a8ba
DQM client change
jalimena c2a0a91
try to resolve conflict
jalimena e6daa6a
fix
jalimena 31778be
updated consumes, changed ints to unsigned ints, made GenericTriggerE…
jalimena 0a1f9be
change guard to DQMOFFLINE_TRIGGER_NOBPTXMONITOR_H, change nbins to u…
jalimena c5cf87c
remove some histograms and change some binning
jalimena f48928f
fix
jalimena File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
#ifndef DQMOFFLINE_TRIGGER_NOBPTXMONITOR_H | ||
#define DQMOFFLINE_TRIGGER_NOBPTXMONITOR_H | ||
|
||
|
||
#include <string> | ||
#include <vector> | ||
#include <map> | ||
|
||
#include "FWCore/Utilities/interface/EDGetToken.h" | ||
#include "FWCore/Framework/interface/Frameworkfwd.h" | ||
#include "FWCore/Framework/interface/Event.h" | ||
#include "FWCore/Framework/interface/MakerMacros.h" | ||
#include "FWCore/Framework/interface/ESHandle.h" | ||
#include "FWCore/Framework/interface/EventSetup.h" | ||
#include "FWCore/ParameterSet/interface/ParameterSet.h" | ||
#include "FWCore/ServiceRegistry/interface/Service.h" | ||
#include "FWCore/MessageLogger/interface/MessageLogger.h" | ||
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" | ||
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" | ||
#include "FWCore/ParameterSet/interface/Registry.h" | ||
|
||
#include "DQMServices/Core/interface/MonitorElement.h" | ||
#include <DQMServices/Core/interface/DQMEDAnalyzer.h> | ||
#include "DQM/TrackingMonitor/interface/GetLumi.h" | ||
|
||
#include "CommonTools/TriggerUtils/interface/GenericTriggerEventFlag.h" | ||
#include "CommonTools/Utils/interface/StringCutObjectSelector.h" | ||
|
||
//DataFormats | ||
#include "DataFormats/JetReco/interface/CaloJet.h" | ||
#include "DataFormats/JetReco/interface/CaloJetCollection.h" | ||
#include "DataFormats/TrackReco/interface/Track.h" | ||
#include "DataFormats/TrackReco/interface/TrackFwd.h" | ||
|
||
class GenericTriggerEventFlag; | ||
|
||
|
||
// | ||
// class declaration | ||
// | ||
|
||
class NoBPTXMonitor : public DQMEDAnalyzer | ||
{ | ||
public: | ||
NoBPTXMonitor( const edm::ParameterSet& ); | ||
~NoBPTXMonitor(); | ||
static void fillDescriptions(edm::ConfigurationDescriptions & descriptions); | ||
static void fillHistoPSetDescription(edm::ParameterSetDescription & pset); | ||
static void fillHistoLSPSetDescription(edm::ParameterSetDescription & pset); | ||
|
||
struct NoBPTXME { | ||
MonitorElement* numerator; | ||
MonitorElement* denominator; | ||
}; | ||
|
||
protected: | ||
|
||
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override; | ||
void bookNoBPTX(DQMStore::IBooker &, NoBPTXME& me, const std::string& histname, const std::string& histtitle, int nbins, double xmin, double xmax); | ||
void bookNoBPTX(DQMStore::IBooker &, NoBPTXME& me, const std::string& histname, const std::string& histtitle, const std::vector<double>& binningX); | ||
void bookNoBPTX(DQMStore::IBooker &, NoBPTXME& me, const std::string& histname, const std::string& histtitle, int nbinsX, double xmin, double xmax, double ymin, double ymax, bool bookDen); | ||
void bookNoBPTX(DQMStore::IBooker &, NoBPTXME& me, const std::string& histname, const std::string& histtitle, int nbinsX, double xmin, double xmax, int nbinsY, double ymin, double ymax); | ||
void bookNoBPTX(DQMStore::IBooker &, NoBPTXME& me, const std::string& histname, const std::string& histtitle, const std::vector<double>& binningX, const std::vector<double>& binningY); | ||
void setNoBPTXTitle(NoBPTXME& me, std::string titleX, std::string titleY, bool bookDen); | ||
|
||
void analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup) override; | ||
|
||
private: | ||
struct NoBPTXbinning { | ||
unsigned int nbins; | ||
double xmin; | ||
double xmax; | ||
}; | ||
|
||
static NoBPTXbinning getHistoPSet (const edm::ParameterSet & pset); | ||
static NoBPTXbinning getHistoLSPSet (const edm::ParameterSet & pset); | ||
|
||
std::string folderName_; | ||
std::string histoSuffix_; | ||
|
||
edm::EDGetTokenT<reco::CaloJetCollection> jetToken_; | ||
edm::EDGetTokenT<reco::TrackCollection> muonToken_; | ||
|
||
std::vector<double> jetE_variable_binning_; | ||
NoBPTXbinning jetE_binning_; | ||
NoBPTXbinning jetEta_binning_; | ||
NoBPTXbinning jetPhi_binning_; | ||
std::vector<double> muonPt_variable_binning_; | ||
NoBPTXbinning muonPt_binning_; | ||
NoBPTXbinning muonEta_binning_; | ||
NoBPTXbinning muonPhi_binning_; | ||
NoBPTXbinning ls_binning_; | ||
NoBPTXbinning bx_binning_; | ||
|
||
NoBPTXME jetENoBPTX_; | ||
NoBPTXME jetENoBPTX_variableBinning_; | ||
NoBPTXME jetEVsLS_; | ||
NoBPTXME jetEVsBX_; | ||
NoBPTXME jetEtaNoBPTX_; | ||
NoBPTXME jetEtaVsLS_; | ||
NoBPTXME jetEtaVsBX_; | ||
NoBPTXME jetPhiNoBPTX_; | ||
NoBPTXME jetPhiVsLS_; | ||
NoBPTXME jetPhiVsBX_; | ||
NoBPTXME muonPtNoBPTX_; | ||
NoBPTXME muonPtNoBPTX_variableBinning_; | ||
NoBPTXME muonPtVsLS_; | ||
NoBPTXME muonPtVsBX_; | ||
NoBPTXME muonEtaNoBPTX_; | ||
NoBPTXME muonEtaVsLS_; | ||
NoBPTXME muonEtaVsBX_; | ||
NoBPTXME muonPhiNoBPTX_; | ||
NoBPTXME muonPhiVsLS_; | ||
NoBPTXME muonPhiVsBX_; | ||
|
||
std::unique_ptr<GenericTriggerEventFlag> num_genTriggerEventFlag_; | ||
std::unique_ptr<GenericTriggerEventFlag> den_genTriggerEventFlag_; | ||
|
||
StringCutObjectSelector<reco::CaloJet,true > jetSelection_; | ||
StringCutObjectSelector<reco::Track,true> muonSelection_; | ||
unsigned int njets_; | ||
unsigned int nmuons_; | ||
|
||
}; | ||
|
||
#endif //DQMOFFLINE_TRIGGER_NOBPTXMONITOR_H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from DQMOffline.Trigger.METMonitor_cff import * | ||
from DQMOffline.Trigger.NoBPTXMonitor_cff import * | ||
|
||
exoticaMonitorHLT = cms.Sequence( | ||
exoHLTMETmonitoring | ||
+ exoHLTNoBPTXmonitoring | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from DQMOffline.Trigger.NoBPTXMonitor_cfi import hltNoBPTXmonitoring | ||
|
||
hltNoBPTXJetE70Monitoring = hltNoBPTXmonitoring.clone() | ||
hltNoBPTXJetE70Monitoring.FolderName = cms.string('HLT/NoBPTX/JetE70/') | ||
hltNoBPTXJetE70Monitoring.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_UncorrectedJetE70_NoBPTX3BX_v*") #HLT_ZeroBias_v* | ||
|
||
hltNoBPTXL2Mu40Monitoring = hltNoBPTXmonitoring.clone() | ||
hltNoBPTXL2Mu40Monitoring.FolderName = cms.string('HLT/NoBPTX/L2Mu40/') | ||
hltNoBPTXL2Mu40Monitoring.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_L2Mu40_NoVertex_3Sta_NoBPTX3BX_v*") #HLT_ZeroBias_v* | ||
|
||
hltNoBPTXL2Mu45Monitoring = hltNoBPTXmonitoring.clone() | ||
hltNoBPTXL2Mu45Monitoring.FolderName = cms.string('HLT/NoBPTX/L2Mu45/') | ||
hltNoBPTXL2Mu45Monitoring.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_L2Mu45_NoVertex_3Sta_NoBPTX3BX_v*") #HLT_ZeroBias_v* | ||
|
||
exoHLTNoBPTXmonitoring = cms.Sequence( | ||
hltNoBPTXmonitoring | ||
+ hltNoBPTXJetE70Monitoring | ||
+ hltNoBPTXL2Mu40Monitoring | ||
+ hltNoBPTXL2Mu45Monitoring | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
import FWCore.ParameterSet.Config as cms | ||
|
||
from DQMOffline.Trigger.NoBPTXMonitoring_cfi import NoBPTXMonitoring | ||
|
||
hltNoBPTXmonitoring = NoBPTXMonitoring.clone() | ||
hltNoBPTXmonitoring.FolderName = cms.string('HLT/NoBPTX/JetE60/') | ||
hltNoBPTXmonitoring.histoPSet.jetEPSet = cms.PSet( | ||
nbins = cms.uint32(100), | ||
xmin = cms.double(-0.5), | ||
xmax = cms.double(999.5), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.jetEtaPSet = cms.PSet( | ||
nbins = cms.uint32(100), | ||
xmin = cms.double(-5.), | ||
xmax = cms.double(5.), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.jetPhiPSet = cms.PSet( | ||
nbins = cms.uint32(64), | ||
xmin = cms.double(-3.2), | ||
xmax = cms.double(3.2), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.muonPtPSet = cms.PSet( | ||
nbins = cms.uint32(100), | ||
xmin = cms.double(-0.5), | ||
xmax = cms.double(999.5), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.muonEtaPSet = cms.PSet( | ||
nbins = cms.uint32(100), | ||
xmin = cms.double(-5.), | ||
xmax = cms.double(5.), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.muonPhiPSet = cms.PSet( | ||
nbins = cms.uint32(64), | ||
xmin = cms.double(-3.2), | ||
xmax = cms.double(3.2), | ||
) | ||
hltNoBPTXmonitoring.histoPSet.bxPSet = cms.PSet( | ||
nbins = cms.uint32(1800), | ||
) | ||
hltNoBPTXmonitoring.jets = cms.InputTag("ak4CaloJets") | ||
hltNoBPTXmonitoring.muons = cms.InputTag("displacedStandAloneMuons") | ||
|
||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.andOr = cms.bool( False ) | ||
#hltNoBPTXmonitoring.numGenericTriggerEventPSet.dbLabel = cms.string("ExoDQMTrigger") # it does not exist yet, we should consider the possibility of using the DB, but as it is now it will need a label per path ! | ||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.andOrHlt = cms.bool(True)# True:=OR; False:=AND | ||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.hltInputTag = cms.InputTag( "TriggerResults::HLT" ) | ||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_UncorrectedJetE60_NoBPTX3BX_v*") # HLT_ZeroBias_v* | ||
#hltNoBPTXmonitoring.numGenericTriggerEventPSet.hltDBKey = cms.string("EXO_HLT_NoBPTX") | ||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.errorReplyHlt = cms.bool( False ) | ||
hltNoBPTXmonitoring.numGenericTriggerEventPSet.verbosityLevel = cms.uint32(1) | ||
|
||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.andOr = cms.bool( False ) | ||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.dcsInputTag = cms.InputTag( "scalersRawToDigi" ) | ||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.dcsPartitions = cms.vint32 ( 24, 25, 26, 27, 28, 29 ) # 24-27: strip, 28-29: pixel, we should add all other detectors ! | ||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.andOrDcs = cms.bool( False ) | ||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.errorReplyDcs = cms.bool( True ) | ||
hltNoBPTXmonitoring.denGenericTriggerEventPSet.verbosityLevel = cms.uint32(1) | ||
|
||
hltNoBPTXmonitoring.muonSelection = cms.string("hitPattern.dtStationsWithValidHits > 3 & hitPattern.numberOfValidMuonRPCHits > 1 & hitPattern.numberOfValidMuonCSCHits < 1") | ||
hltNoBPTXmonitoring.jetSelection = cms.string("abs(eta) < 1.") |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about HLT_UncorrectedJetE70_NoBPTX3BX ?