Skip to content
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

Update the ADC->fC table, simplify the charge reconstruction algorith… #22974

Merged
merged 8 commits into from
May 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 35 additions & 14 deletions RecoMET/METFilters/plugins/HcalLaserEventFilter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -109,26 +109,24 @@ class HcalLaserEventFilter : public edm::global::EDFilter<> {
HcalLaserEventFilter::HcalLaserEventFilter(const edm::ParameterSet& iConfig)

// Get values from python cfg file
: vetoByRunEventNumber_ (iConfig.getUntrackedParameter<bool>("vetoByRunEventNumber",true))
, vetoByHBHEOccupancy_ (iConfig.getUntrackedParameter<bool>("vetoByHBHEOccupancy",false))
, minOccupiedHBHE_ (iConfig.getUntrackedParameter<unsigned int>("minOccupiedHBHE",5000))
, vetoByLaserMonitor_ (iConfig.getUntrackedParameter<bool>("vetoByLaserMonitor",false))
, minLaserMonitorCharge_ (iConfig.getUntrackedParameter<double>("minLaserMonitorCharge_",1000.))
, debug_ (iConfig.getUntrackedParameter<bool>("debug",false))
, reverseFilter_ (iConfig.getUntrackedParameter<bool>("reverseFilter",false))
: vetoByRunEventNumber_ (iConfig.getParameter<bool>("vetoByRunEventNumber"))
, vetoByHBHEOccupancy_ (iConfig.getParameter<bool>("vetoByHBHEOccupancy"))
, minOccupiedHBHE_ (iConfig.getParameter<unsigned int>("minOccupiedHBHE"))
, vetoByLaserMonitor_ (iConfig.getParameter<bool>("vetoByLaserMonitor"))
, minLaserMonitorCharge_ (iConfig.getParameter<double>("minLaserMonitorCharge"))
, debug_ (iConfig.getParameter<bool>("debug"))
, reverseFilter_ (iConfig.getParameter<bool>("reverseFilter"))
, hbheInputLabel_ (iConfig.getUntrackedParameter<edm::InputTag>("hbheInputLabel",edm::InputTag("hbhereco")))
, hbheToken_ (mayConsume<HBHERecHitCollection>(hbheInputLabel_))
, hcalNoiseSummaryLabel_ (iConfig.getUntrackedParameter<edm::InputTag>("hcalNoiseSummaryLabel",edm::InputTag("hcalnoise")))
, hcalNoiseSummaryToken_ (mayConsume<HcalNoiseSummary>(hcalNoiseSummaryLabel_))
, taggingMode_ (iConfig.getParameter<bool>("taggingMode"))
, forceUseRecHitCollection_ (iConfig.getUntrackedParameter<bool>("forceUseRecHitCollection",false))
, forceUseHcalNoiseSummary_ (iConfig.getUntrackedParameter<bool>("forceUseHcalNoiseSummary",false))
, forceUseRecHitCollection_ (iConfig.getParameter<bool>("forceUseRecHitCollection"))
, forceUseHcalNoiseSummary_ (iConfig.getParameter<bool>("forceUseHcalNoiseSummary"))

{
std::vector<unsigned int> dummy; // dummy empty vector
dummy.clear();

std::vector<unsigned int> temprunevt = iConfig.getUntrackedParameter<std::vector<unsigned int> >("BadRunEventNumbers",dummy);
std::vector<unsigned int> temprunevt = iConfig.getParameter<std::vector<unsigned int> >("BadRunEventNumbers");

// Make (run,evt) pairs for storing bad events
// Make this a map for better search performance?
Expand Down Expand Up @@ -286,8 +284,31 @@ HcalLaserEventFilter::fillDescriptions(edm::ConfigurationDescriptions& descripti
//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);

desc.add<bool>("vetoByRunEventNumber",false)->
setComment("Enable filtering by run number");
desc.add<bool>("vetoByHBHEOccupancy",true)->
setComment("Enable occupancy filtering");
desc.add<unsigned int>("minOccupiedHBHE",4000)->
setComment("Minimum occupancy to filter events");
desc.add<bool>("vetoByLaserMonitor",true)->
setComment("Enable Laser monitoring filtering");
desc.add<double>("minLaserMonitorCharge",5000.)->
setComment("Set minimum laser monitor charge to filter events");
desc.add<bool>("debug",false)->
setComment("Enable debugging messages");
desc.add<bool>("reverseFilter",false)->
setComment("Invert filter decision");
desc.add<bool>("taggingMode", false)->
setComment("do not filter, just tag the event");
desc.add<bool>("forceUseRecHitCollection",false)->
setComment("force the evaluation using RecHit collection");
desc.add<bool>("forceUseHcalNoiseSummary",false)->
setComment("force the evaluation using Noise Summary");
desc.add<std::vector<unsigned int> >("BadRunEventNumbers",{})->
setComment("vector of bad events to filter");

descriptions.add("hcallaserevent", desc);
}

std::vector<int> HcalLaserEventFilter::GetCMSSWVersion(std::string const& instring) const
Expand Down
22 changes: 2 additions & 20 deletions RecoMET/METFilters/python/hcalLaserEventFilter_cfi.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,9 @@
import FWCore.ParameterSet.Config as cms
from RecoMET.METFilters.hcallaserevent_cfi import * # from fillDescriptions

try:
from hcalLaserBadEvents_2011 import badEvents
except:
print "<hcalLaserEventFilter_cfi> WARNING! No explicit list 'badEvents.py' containing bad HCAL laser run/events was found!"
badEvents=[]

hcalLaserEventFilter = cms.EDFilter("HcalLaserEventFilter",
vetoByRunEventNumber=cms.untracked.bool(False),
# Add each bad event as run #, event # in this list
BadRunEventNumbers=cms.untracked.vuint32(badEvents
# badEvents file contains 218 bad events, as of 28 Nov. 2011

),
vetoByHBHEOccupancy=cms.untracked.bool(True),
minOccupiedHBHE=cms.untracked.uint32(4000), # minimum number of HBHErechits that must be present for HBHEOccupancy filter to remove event

debug = cms.untracked.bool(False),
reverseFilter = cms.untracked.bool(False), # if True, will select only events failing filter, rather than events passing
hbheInputLabel=cms.untracked.InputTag("hbhereco"),
hcalNoiseSummaryLabel=cms.untracked.InputTag("hcalnoise"),
taggingMode = cms.bool(False),
maxerrormessage = cms.untracked.int32(5), # max number of error messages to print
forceUseRecHitCollection=cms.untracked.bool(False), # if specified, will attempt to use HBHE RecHit Collection directly; otherwise, will use information as stored in HcalNoiseSummary object for CMSSW_5_2_0 and above. (If CMSSW version is < 5_2_0, RecHit collection will be used automatically, since HcalNoiseSummary in those versions didn't contain this filter info)
forceUseHcalNoiseSummary=cms.untracked.bool(False), # Can likewise specify to force the use of Hcal Noise Summary, regardless of CMSSW version. Perhaps this should be the default, since version checked doesn't allow for comparison of patched older versions with new version?
)
hcalLaserEventFilter = hcallaserevent.clone(BadRunEventNumbers=cms.vuint32(badEvents) )
1 change: 1 addition & 0 deletions RecoMET/METProducers/interface/HcalNoiseInfoProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ namespace reco {

int laserMonitorTSStart_;
int laserMonitorTSEnd_;
unsigned laserMonitorSamples_;

std::vector<float> adc2fC;
std::vector<float> adc2fCHF;
Expand Down
Loading