diff --git a/Calibration/HcalAlCaRecoProducers/BuildFile.xml b/Calibration/HcalAlCaRecoProducers/BuildFile.xml
index c47c409b0583e..70a45f24766ba 100644
--- a/Calibration/HcalAlCaRecoProducers/BuildFile.xml
+++ b/Calibration/HcalAlCaRecoProducers/BuildFile.xml
@@ -24,6 +24,7 @@
+
diff --git a/Calibration/HcalAlCaRecoProducers/plugins/AlCaHBHEMuonFilter.cc b/Calibration/HcalAlCaRecoProducers/plugins/AlCaHBHEMuonFilter.cc
index 5c79a9ba8dc5e..d641028461442 100644
--- a/Calibration/HcalAlCaRecoProducers/plugins/AlCaHBHEMuonFilter.cc
+++ b/Calibration/HcalAlCaRecoProducers/plugins/AlCaHBHEMuonFilter.cc
@@ -135,68 +135,72 @@ bool AlCaHBHEMuonFilter::filter(edm::Event& iEvent, edm::EventSetup const& iSetu
<< std::endl;
#endif
//Step1: Find if the event passes one of the chosen triggers
+ bool ok(false);
/////////////////////////////TriggerResults
- edm::Handle triggerResults;
- iEvent.getByToken(tok_trigRes_, triggerResults);
- if (triggerResults.isValid()) {
- bool ok(false);
- std::vector modules;
- const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
- const std::vector& triggerNames_ = triggerNames.triggerNames();
- for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
- int hlt = triggerResults->accept(iHLT);
- for (unsigned int i = 0; i < trigNames_.size(); ++i) {
- if (triggerNames_[iHLT].find(trigNames_[i]) != std::string::npos) {
- if (hlt > 0) {
- ok = true;
- }
+ if (trigNames_.empty()) {
+ ok = true;
+ } else {
+ edm::Handle triggerResults;
+ iEvent.getByToken(tok_trigRes_, triggerResults);
+ if (triggerResults.isValid()) {
+ std::vector modules;
+ const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
+ const std::vector& triggerNames_ = triggerNames.triggerNames();
+ for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
+ int hlt = triggerResults->accept(iHLT);
+ for (unsigned int i = 0; i < trigNames_.size(); ++i) {
+ if (triggerNames_[iHLT].find(trigNames_[i]) != std::string::npos) {
+ if (hlt > 0) {
+ ok = true;
+ }
#ifdef EDM_ML_DEBUG
- edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Trigger " << triggerNames_[iHLT] << " Flag " << hlt
- << ":" << ok << std::endl;
+ edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Trigger " << triggerNames_[iHLT] << " Flag " << hlt
+ << ":" << ok << std::endl;
#endif
+ }
}
}
}
- if (ok) {
- //Step2: Get geometry/B-field information
- const MagneticField* bField = &(iSetup.getData(tok_magField_));
- const CaloGeometry* geo = &(iSetup.getData(tok_geom_));
-
- // Relevant blocks from iEvent
- edm::Handle _Muon;
- iEvent.getByToken(tok_Muon_, _Muon);
+ }
+ if (ok) {
+ //Step2: Get geometry/B-field information
+ const MagneticField* bField = &(iSetup.getData(tok_magField_));
+ const CaloGeometry* geo = &(iSetup.getData(tok_geom_));
+
+ // Relevant blocks from iEvent
+ edm::Handle _Muon;
+ iEvent.getByToken(tok_Muon_, _Muon);
#ifdef EDM_ML_DEBUG
- edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon Handle " << _Muon.isValid() << std::endl;
+ edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon Handle " << _Muon.isValid() << std::endl;
#endif
- if (_Muon.isValid()) {
- for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon != _Muon->end(); ++RecMuon) {
+ if (_Muon.isValid()) {
+ for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon != _Muon->end(); ++RecMuon) {
#ifdef EDM_ML_DEBUG
- edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon:Track " << RecMuon->track().isNonnull()
- << " innerTrack " << RecMuon->innerTrack().isNonnull() << " outerTrack "
- << RecMuon->outerTrack().isNonnull() << " globalTrack "
- << RecMuon->globalTrack().isNonnull() << std::endl;
+ edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Muon:Track " << RecMuon->track().isNonnull()
+ << " innerTrack " << RecMuon->innerTrack().isNonnull() << " outerTrack "
+ << RecMuon->outerTrack().isNonnull() << " globalTrack "
+ << RecMuon->globalTrack().isNonnull() << std::endl;
#endif
- if ((RecMuon->track().isNonnull()) && (RecMuon->innerTrack().isNonnull()) &&
- (RecMuon->outerTrack().isNonnull()) && (RecMuon->globalTrack().isNonnull())) {
- const reco::Track* pTrack = (RecMuon->innerTrack()).get();
- spr::propagatedTrackID trackID = spr::propagateCALO(pTrack, geo, bField, false);
+ if ((RecMuon->track().isNonnull()) && (RecMuon->innerTrack().isNonnull()) &&
+ (RecMuon->outerTrack().isNonnull()) && (RecMuon->globalTrack().isNonnull())) {
+ const reco::Track* pTrack = (RecMuon->innerTrack()).get();
+ spr::propagatedTrackID trackID = spr::propagateCALO(pTrack, geo, bField, false);
#ifdef EDM_ML_DEBUG
- edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Propagate: ECAL " << trackID.okECAL << " to HCAL "
- << trackID.okHCAL << std::endl;
+ edm::LogVerbatim("HBHEMuon") << "AlCaHBHEMuonFilter::Propagate: ECAL " << trackID.okECAL << " to HCAL "
+ << trackID.okHCAL << std::endl;
#endif
- double trackIso = RecMuon->isolationR03().sumPt;
- double caloIso = RecMuon->isolationR03().emEt + RecMuon->isolationR03().hadEt;
- double isolR04 =
- ((RecMuon->pfIsolationR04().sumChargedHadronPt +
- std::max(0.,
- RecMuon->pfIsolationR04().sumNeutralHadronEt + RecMuon->pfIsolationR04().sumPhotonEt -
- (0.5 * RecMuon->pfIsolationR04().sumPUPt))) /
- RecMuon->pt());
- bool isoCut = (pfCut_) ? (isolR04 < pfIsoCut_) : ((trackIso < trackIsoCut_) && (caloIso < caloIsoCut_));
- if ((trackID.okECAL) && (trackID.okHCAL) && isoCut) {
- accept = true;
- break;
- }
+ double trackIso = RecMuon->isolationR03().sumPt;
+ double caloIso = RecMuon->isolationR03().emEt + RecMuon->isolationR03().hadEt;
+ double isolR04 =
+ ((RecMuon->pfIsolationR04().sumChargedHadronPt +
+ std::max(0.,
+ RecMuon->pfIsolationR04().sumNeutralHadronEt + RecMuon->pfIsolationR04().sumPhotonEt -
+ (0.5 * RecMuon->pfIsolationR04().sumPUPt))) /
+ RecMuon->pt());
+ bool isoCut = (pfCut_) ? (isolR04 < pfIsoCut_) : ((trackIso < trackIsoCut_) && (caloIso < caloIsoCut_));
+ if ((trackID.okECAL) && (trackID.okHCAL) && isoCut) {
+ accept = true;
+ break;
}
}
}
@@ -245,8 +249,18 @@ void AlCaHBHEMuonFilter::fillDescriptions(edm::ConfigurationDescriptions& descri
//The following says we do not know what parameters are allowed so do no validation
// Please change this to state exactly what you do use, even if it is no parameters
edm::ParameterSetDescription desc;
- desc.setUnknown();
- descriptions.addDefault(desc);
+ std::vector triggers = {"HLT_IsoMu", "HLT_Mu"};
+ desc.add("ProcessName", "HLT");
+ desc.add("TriggerResultLabel", edm::InputTag("TriggerResults", "", "HLT"));
+ desc.add("MuonLabel", edm::InputTag("muons"));
+ desc.add("MinimumMuonP", 10.0);
+ desc.add >("Triggers", triggers);
+ desc.add("PFCut", true);
+ desc.add("PFIsolationCut", 0.12);
+ desc.add("TrackIsolationCut", 3.0);
+ desc.add("CaloIsolationCut", 5.0);
+ desc.add("PreScale", 2);
+ descriptions.add("AlcaHBHEMuonFilter", desc);
}
//define this as a plug-in
diff --git a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalHBHEMuonFilter_cff.py b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalHBHEMuonFilter_cff.py
index bf0aa48a53f29..451c8900c697b 100644
--- a/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalHBHEMuonFilter_cff.py
+++ b/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalHBHEMuonFilter_cff.py
@@ -9,7 +9,7 @@
throw = False #dont throw except on unknown path name
)
-from Calibration.HcalAlCaRecoProducers.alcaHBHEMuonFilter_cfi import *
+from Calibration.HcalAlCaRecoProducers.AlcaHBHEMuonFilter_cfi import *
seqALCARECOHcalCalHBHEMuonFilter = cms.Sequence(ALCARECOHcalCalHBHEMuonFilterHLT *
AlcaHBHEMuonFilter)
diff --git a/Calibration/HcalAlCaRecoProducers/python/alcaHBHEMuonFilter_cfi.py b/Calibration/HcalAlCaRecoProducers/python/alcaHBHEMuonFilter_cfi.py
deleted file mode 100644
index 577bc5e8daf51..0000000000000
--- a/Calibration/HcalAlCaRecoProducers/python/alcaHBHEMuonFilter_cfi.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import FWCore.ParameterSet.Config as cms
-
-AlcaHBHEMuonFilter = cms.EDFilter("AlCaHBHEMuonFilter",
- ProcessName = cms.string("HLT"),
- TriggerResultLabel= cms.InputTag("TriggerResults","","HLT"),
- MuonLabel = cms.InputTag("muons"),
- MinimumMuonP = cms.double(10.0),
- Triggers = cms.vstring("HLT_IsoMu","HLT_Mu"),
- PFCut = cms.bool(True),
- PFIsolationCut = cms.double(0.12),
- TrackIsolationCut = cms.double(3.0),
- CaloIsolationCut = cms.double(5.0),
- PreScale = cms.int32(2),
- )