File indexing completed on 2023-03-17 11:22:04
0001 #include "RecoTBCalo/HcalTBTools/src/HcalTBTriggerFilter.h"
0002 #include "DataFormats/Common/interface/Handle.h"
0003
0004 HcalTBTriggerFilter::HcalTBTriggerFilter(const edm::ParameterSet& ps)
0005 : allowPedestal_(ps.getParameter<bool>("AllowPedestal")),
0006 allowPedestalInSpill_(ps.getParameter<bool>("AllowPedestalInSpill")),
0007 allowPedestalOutSpill_(ps.getParameter<bool>("AllowPedestalOutSpill")),
0008 allowLaser_(ps.getParameter<bool>("AllowLaser")),
0009 allowLED_(ps.getParameter<bool>("AllowLED")),
0010 allowBeam_(ps.getParameter<bool>("AllowBeam")) {
0011 tok_tb_ = consumes<HcalTBTriggerData>(ps.getParameter<edm::InputTag>("hcalTBTriggerDataTag"));
0012 }
0013
0014 bool HcalTBTriggerFilter::filter(edm::StreamID, edm::Event& e, edm::EventSetup const& c) const {
0015 edm::Handle<HcalTBTriggerData> h;
0016 e.getByToken(tok_tb_, h);
0017
0018 bool allowed = false;
0019
0020 if (h->wasBeamTrigger()) {
0021 allowed = allowBeam_;
0022
0023 }
0024
0025 if (h->wasLEDTrigger()) {
0026 allowed = allowLED_;
0027
0028 }
0029
0030 if (h->wasLaserTrigger()) {
0031 allowed = allowLaser_;
0032
0033 }
0034
0035 if (h->wasInSpillPedestalTrigger() || h->wasOutSpillPedestalTrigger() || h->wasSpillIgnorantPedestalTrigger()) {
0036 allowed = allowPedestal_;
0037
0038 if (allowed && h->wasInSpillPedestalTrigger() && !allowPedestalInSpill_) {
0039 allowed = false;
0040
0041 }
0042 if (allowed && h->wasOutSpillPedestalTrigger() && !allowPedestalOutSpill_) {
0043 allowed = false;
0044
0045 }
0046 }
0047
0048 return allowed;
0049 }