Back to home page

Project CMSSW displayed by LXR

 
 

    


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   /** \class HcalTBObjectDump
0018       
0019   $Date: 2012/07/20 20:59:13 $
0020   $Revision: 1.8 $
0021   \author J. Mans - Minnesota
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 }  // namespace cms
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);