Back to home page

Project CMSSW displayed by LXR

 
 

    


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     //    if (!allowed) std::cout << "Rejecting beam trigger from " << e.id() << std::endl;
0023   }
0024 
0025   if (h->wasLEDTrigger()) {
0026     allowed = allowLED_;
0027     //    if (!allowed) std::cout << "Rejecting LED trigger from " << e.id() << std::endl;
0028   }
0029 
0030   if (h->wasLaserTrigger()) {
0031     allowed = allowLaser_;
0032     //    if (!allowed) std::cout << "Rejecting laser trigger from " << e.id() << std::endl;
0033   }
0034 
0035   if (h->wasInSpillPedestalTrigger() || h->wasOutSpillPedestalTrigger() || h->wasSpillIgnorantPedestalTrigger()) {
0036     allowed = allowPedestal_;
0037     //    if (!allowed) std::cout << "Rejecting pedestal trigger from " << e.id() << std::endl;
0038     if (allowed && h->wasInSpillPedestalTrigger() && !allowPedestalInSpill_) {
0039       allowed = false;
0040       //      if (!allowed) std::cout << "Rejecting in-spill pedestal trigger from " << e.id() << std::endl;
0041     }
0042     if (allowed && h->wasOutSpillPedestalTrigger() && !allowPedestalOutSpill_) {
0043       allowed = false;
0044       //      if (!allowed) std::cout << "Rejecting out-of-spill pedestal trigger from " << e.id() << std::endl;
0045     }
0046   }
0047 
0048   return allowed;
0049 }