File indexing completed on 2024-04-06 12:31:13
0001 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0002 #include "FWCore/Framework/interface/Event.h"
0003 #include "DataFormats/Common/interface/Handle.h"
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "FWCore/Utilities/interface/InputTag.h"
0007 #include "TBDataFormats/HcalTBObjects/interface/HcalTBTriggerData.h"
0008 #include "TBDataFormats/HcalTBObjects/interface/HcalTBRunData.h"
0009 #include "TBDataFormats/HcalTBObjects/interface/HcalTBEventPosition.h"
0010 #include "TBDataFormats/HcalTBObjects/interface/HcalTBTiming.h"
0011 #include <iostream>
0012
0013 using namespace std;
0014
0015 namespace cms {
0016
0017
0018
0019
0020
0021
0022
0023 class HcalTBObjectDump : public edm::one::EDAnalyzer<> {
0024 public:
0025 explicit HcalTBObjectDump(edm::ParameterSet const& conf);
0026 ~HcalTBObjectDump() = default;
0027 void analyze(edm::Event const& e, edm::EventSetup const& c) override;
0028
0029 private:
0030 edm::EDGetTokenT<HcalTBTriggerData> tok_tb_;
0031 edm::EDGetTokenT<HcalTBRunData> tok_run_;
0032 edm::EDGetTokenT<HcalTBEventPosition> tok_pos_;
0033 edm::EDGetTokenT<HcalTBTiming> tok_timing_;
0034 };
0035
0036 HcalTBObjectDump::HcalTBObjectDump(edm::ParameterSet const& conf) {
0037 tok_tb_ = consumes<HcalTBTriggerData>(conf.getParameter<edm::InputTag>("hcalTBTriggerDataTag"));
0038 tok_run_ = consumes<HcalTBRunData>(conf.getParameter<edm::InputTag>("hcalTBRunDataTag"));
0039 tok_pos_ = consumes<HcalTBEventPosition>(conf.getParameter<edm::InputTag>("hcalTBEventPositionTag"));
0040 tok_timing_ = consumes<HcalTBTiming>(conf.getParameter<edm::InputTag>("hcalTBTimingTag"));
0041 }
0042
0043 void HcalTBObjectDump::analyze(edm::Event const& e, edm::EventSetup const& c) {
0044 try {
0045 edm::Handle<HcalTBTriggerData> td;
0046
0047 e.getByToken(tok_tb_, td);
0048 const HcalTBTriggerData& info = *(td);
0049
0050 cout << "TRIGGER DATA: ";
0051 cout << info;
0052 } catch (...) {
0053 cout << "No HcalTBTriggerData." << endl;
0054 }
0055
0056 try {
0057 edm::Handle<HcalTBRunData> td;
0058
0059 e.getByToken(tok_run_, td);
0060 const HcalTBRunData& info = *(td);
0061
0062 cout << "RUN DATA: ";
0063 cout << info;
0064 } catch (...) {
0065 cout << "No HcalTBRunData." << endl;
0066 }
0067
0068 try {
0069 edm::Handle<HcalTBEventPosition> td;
0070
0071 e.getByToken(tok_pos_, td);
0072 const HcalTBEventPosition& info = *td;
0073
0074 cout << "Event position info: ";
0075 cout << info;
0076 } catch (...) {
0077 cout << "No HcalTBEventPosition." << endl;
0078 }
0079
0080 try {
0081 edm::Handle<HcalTBTiming> td;
0082
0083 e.getByToken(tok_timing_, td);
0084 const HcalTBTiming& info = *(td);
0085
0086 cout << "Timing: ";
0087 cout << info;
0088
0089 } catch (...) {
0090 cout << "No HcalTBTiming." << endl;
0091 }
0092
0093 cout << endl;
0094 }
0095 }
0096
0097 #include "FWCore/PluginManager/interface/ModuleDef.h"
0098 #include "FWCore/Framework/interface/MakerMacros.h"
0099
0100 using namespace cms;
0101
0102 DEFINE_FWK_MODULE(HcalTBObjectDump);