File indexing completed on 2024-04-06 12:27:56
0001
0002
0003
0004
0005
0006
0007
0008 #include <memory>
0009
0010
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012
0013 #include "FWCore/Framework/interface/Event.h"
0014 #include "FWCore/Framework/interface/MakerMacros.h"
0015 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017
0018 #include "RecoTBCalo/EcalTBRecProducers/interface/IsTBH4Type.h"
0019 #include "TBDataFormats/EcalTBObjects/interface/EcalTBEventHeader.h"
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 IsTBH4Type::IsTBH4Type(const edm::ParameterSet& iConfig) {
0033
0034 eventHeaderCollection_ = iConfig.getParameter<std::string>("eventHeaderCollection");
0035 eventHeaderProducer_ = iConfig.getParameter<std::string>("eventHeaderProducer");
0036 typeToFlag_ = iConfig.getParameter<std::string>("typeToFlag");
0037 notFound_ = iConfig.getUntrackedParameter<bool>("ifHeaderNotFound", false);
0038 }
0039
0040
0041
0042
0043
0044
0045 bool IsTBH4Type::filter(edm::StreamID, edm::Event& iEvent, const edm::EventSetup& iSetup) const {
0046 using namespace edm;
0047
0048 Handle<EcalTBEventHeader> pEventHeader;
0049 const EcalTBEventHeader* evtHeader = nullptr;
0050 iEvent.getByLabel(eventHeaderProducer_, pEventHeader);
0051 if (!pEventHeader.isValid()) {
0052 edm::LogError("IsTBH4Type") << "Event Header collection not found";
0053 } else {
0054 evtHeader = pEventHeader.product();
0055 }
0056
0057 if (!evtHeader)
0058 return notFound_;
0059
0060
0061 if (evtHeader->eventType() != typeToFlag_)
0062 return false;
0063
0064 return true;
0065 }