diff --git a/DQMOffline/Trigger/plugins/BPHMonitor.cc b/DQMOffline/Trigger/plugins/BPHMonitor.cc index 3312f7db43f38..cb5562798ff89 100644 --- a/DQMOffline/Trigger/plugins/BPHMonitor.cc +++ b/DQMOffline/Trigger/plugins/BPHMonitor.cc @@ -34,6 +34,7 @@ BPHMonitor::BPHMonitor( const edm::ParameterSet& iConfig ) : , muoSelection_probe ( iConfig.getParameter("muoSelection_probe") ) , nmuons_ ( iConfig.getParameter("nmuons" ) ) , tnp_ ( iConfig.getParameter("tnp" ) ) + , L3_ ( iConfig.getParameter("L3" ) ) , trOrMu_ ( iConfig.getParameter("trOrMu" ) ) , Jpsi_ ( iConfig.getParameter("Jpsi" ) ) , Upsilon_ ( iConfig.getParameter("Upsilon" ) )//if ==1 path with Upsilon constraint @@ -354,19 +355,21 @@ void BPHMonitor::analyze(edm::Event const& iEvent, edm::EventSetup const& iSetup // edm::Handle const& beamSpot; // Filter out events if Trigger Filtering is requested if (tnp_>0) {//TnP method - if (num_genTriggerEventFlag_->on() && ! num_genTriggerEventFlag_->accept( iEvent, iSetup) ) return; + if (den_genTriggerEventFlag_->on() && ! den_genTriggerEventFlag_->accept( iEvent, iSetup) ) return; iEvent.getByLabel( hltInputTag_, handleTriggerEvent); if (handleTriggerEvent->sizeFilters()== 0)return; std::string hltpath = hltpaths_num[0]; std::vector tagMuons; std::vector probeMuons; for ( auto const & m : *muoHandle ) {//applying tag selection - if(!matchToTrigger(hltpath,m, handleTriggerEvent)) continue; + if(!L3_){//matching does not work for L3 tnp monitoring yet + if(!matchToTrigger(hltpath,m, handleTriggerEvent)) continue;} if ( muoSelection_ref( m ) ) tagMuons.push_back(m); } for (int i = 0; iminmass_&& (tagMuons[i].p4()+m.p4()).M() Fill(m.phi()); @@ -1027,6 +1030,7 @@ void BPHMonitor::fillDescriptions(edm::ConfigurationDescriptions & descriptions) desc.add("nmuons", 1); desc.add( "tnp", 0 ); + desc.add( "L3", 0 ); desc.add( "trOrMu", 0 );//if =0, track param monitoring desc.add( "Jpsi", 0 ); desc.add( "Upsilon", 0 ); @@ -1107,8 +1111,8 @@ void BPHMonitor::fillDescriptions(edm::ConfigurationDescriptions & descriptions) bool BPHMonitor::matchToTrigger(std::string theTriggerName,T t, edm::Handle handleTriggerEvent){ bool matchedToTrigger = false; - const trigger::TriggerObjectCollection & toc(handleTriggerEvent->getObjects());//Handle< trigger::TriggerEvent > handleTriggerEvent; if (handleTriggerEvent->sizeFilters() >0){ + const trigger::TriggerObjectCollection & toc(handleTriggerEvent->getObjects());//Handle< trigger::TriggerEvent > handleTriggerEvent; for ( size_t ia = 0; ia < handleTriggerEvent->sizeFilters(); ++ ia) { std::string fullname = handleTriggerEvent->filterTag(ia).encode(); std::string name; diff --git a/DQMOffline/Trigger/plugins/BPHMonitor.h b/DQMOffline/Trigger/plugins/BPHMonitor.h index f6d158ebdf080..076a7a5d37b7b 100644 --- a/DQMOffline/Trigger/plugins/BPHMonitor.h +++ b/DQMOffline/Trigger/plugins/BPHMonitor.h @@ -158,6 +158,7 @@ METME DiMudR_ ; StringCutObjectSelector muoSelection_probe; int nmuons_; int tnp_; + int L3_; int trOrMu_; int Jpsi_; int Upsilon_; diff --git a/DQMOffline/Trigger/python/BPHMonitor_cff.py b/DQMOffline/Trigger/python/BPHMonitor_cff.py index 7f5f824a78686..671054a2b43f2 100644 --- a/DQMOffline/Trigger/python/BPHMonitor_cff.py +++ b/DQMOffline/Trigger/python/BPHMonitor_cff.py @@ -470,7 +470,9 @@ Dimuon0_L3TnP_Jpsi = hltBPHmonitoring.clone() Dimuon0_L3TnP_Jpsi.FolderName = cms.string('HLT/BPH/DiMu0_L1_L3TnP_Jpsi/') Dimuon0_L3TnP_Jpsi.tnp = cms.int32(1) +Dimuon0_L3TnP_Jpsi.L3 = cms.int32(1) Dimuon0_L3TnP_Jpsi.nofset = cms.int32(1) +##Dimuon0_L3TnP_Jpsi.Jpsi = cms.int32(1) Dimuon0_L3TnP_Jpsi.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu7p5_L2Mu2_Jpsi_v*") Dimuon0_L3TnP_Jpsi.numGenericTriggerEventPSet.l1Algorithms = cms.vstring("L1_DoubleMu0_SQ") Dimuon0_L3TnP_Jpsi.denGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu7p5_L2Mu2_Jpsi_v*") @@ -481,7 +483,8 @@ Dimuon0_L3TnP_Upsilon = hltBPHmonitoring.clone() Dimuon0_L3TnP_Upsilon.FolderName = cms.string('HLT/BPH/DiMu0_L1_L3TnP_Upsilon/') Dimuon0_L3TnP_Upsilon.tnp = cms.int32(1) -Dimuon0_L3TnP_Upsilon.Upsilon = cms.int32(1) +Dimuon0_L3TnP_Upsilon.L3 = cms.int32(1) +##Dimuon0_L3TnP_Upsilon.Upsilon = cms.int32(1) Dimuon0_L3TnP_Upsilon.nofset = cms.int32(1) Dimuon0_L3TnP_Upsilon.numGenericTriggerEventPSet.hltPaths = cms.vstring("HLT_Mu7p5_L2Mu2_Upsilon_v*") Dimuon0_L3TnP_Upsilon.numGenericTriggerEventPSet.l1Algorithms = cms.vstring("L1_DoubleMu0_SQ") diff --git a/DQMOffline/Trigger/python/BPHMonitor_cfi.py b/DQMOffline/Trigger/python/BPHMonitor_cfi.py index 8f9906b8661b6..fbd2899618a50 100644 --- a/DQMOffline/Trigger/python/BPHMonitor_cfi.py +++ b/DQMOffline/Trigger/python/BPHMonitor_cfi.py @@ -79,6 +79,11 @@ hltBPHmonitoring.muons = cms.InputTag("muons") # hltBPHmonitoring.photons = cms.InputTag("photons") # +#hltBPHmonitoring.DMSelection_ref = cms.string("") +#hltBPHmonitoring.muoSelection_ref = cms.string("") +#hltBPHmonitoring.muoSelection_ = cms.string("") + + hltBPHmonitoring.numGenericTriggerEventPSet.andOr = cms.bool( False ) hltBPHmonitoring.numGenericTriggerEventPSet.dbLabel = cms.string("BPHDQMTrigger") # 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 ! hltBPHmonitoring.numGenericTriggerEventPSet.andOrHlt = cms.bool(True)# True:=OR; False:=AND