File indexing completed on 2024-04-06 12:25:57
0001 #include <memory>
0002 #include <iostream>
0003 #include <vector>
0004
0005 #include "FWCore/Framework/interface/Frameworkfwd.h"
0006 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/MakerMacros.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010
0011 #include "DataFormats/ForwardDetId/interface/MTDDetId.h"
0012 #include "DataFormats/FTLRecHit/interface/FTLRecHitCollections.h"
0013
0014 class MTDRecoDump : public edm::one::EDAnalyzer<edm::one::SharedResources> {
0015 public:
0016 explicit MTDRecoDump(const edm::ParameterSet&);
0017 ~MTDRecoDump() override;
0018
0019 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0020
0021 private:
0022 void beginJob() override;
0023 void analyze(const edm::Event&, const edm::EventSetup&) override;
0024 void endJob() override;
0025
0026
0027
0028 edm::EDGetTokenT<FTLRecHitCollection> tok_BTL_reco;
0029 edm::EDGetTokenT<FTLRecHitCollection> tok_ETL_reco;
0030 };
0031
0032 MTDRecoDump::MTDRecoDump(const edm::ParameterSet& iConfig)
0033
0034 {
0035 tok_BTL_reco = consumes<FTLRecHitCollection>(edm::InputTag("mtdRecHits", "FTLBarrel"));
0036 tok_ETL_reco = consumes<FTLRecHitCollection>(edm::InputTag("mtdRecHits", "FTLEndcap"));
0037 }
0038
0039 MTDRecoDump::~MTDRecoDump() {}
0040
0041
0042
0043
0044
0045
0046 void MTDRecoDump::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0047 using namespace std;
0048
0049 edm::Handle<FTLRecHitCollection> h_BTL_reco;
0050 iEvent.getByToken(tok_BTL_reco, h_BTL_reco);
0051
0052 edm::Handle<FTLRecHitCollection> h_ETL_reco;
0053 iEvent.getByToken(tok_ETL_reco, h_ETL_reco);
0054
0055
0056
0057 if (!h_BTL_reco->empty()) {
0058 std::cout << " ----------------------------------------" << std::endl;
0059 std::cout << " BTL RECO collection:" << std::endl;
0060
0061 for (const auto& recHit : *h_BTL_reco) {
0062 MTDDetId mtdDetId(recHit.id());
0063
0064
0065 std::cout << " det ID: det = " << mtdDetId.det() << " subdet = " << mtdDetId.mtdSubDetector()
0066 << " rawID = " << mtdDetId.rawId() << std::endl;
0067
0068 std::cout << " energy = " << recHit.energy() << " time = " << recHit.time()
0069 << " time error = " << recHit.timeError() << std::endl;
0070
0071 }
0072
0073 }
0074
0075
0076
0077 if (!h_ETL_reco->empty()) {
0078 std::cout << " ----------------------------------------" << std::endl;
0079 std::cout << " ETL RECO collection:" << std::endl;
0080
0081 for (const auto& recHit : *h_ETL_reco) {
0082 MTDDetId mtdDetId(recHit.id());
0083
0084
0085 std::cout << " det ID: det = " << mtdDetId.det() << " subdet = " << mtdDetId.mtdSubDetector()
0086 << " rawID = " << mtdDetId.rawId() << std::endl;
0087
0088 std::cout << " energy = " << recHit.energy() << " time = " << recHit.time()
0089 << " time error = " << recHit.timeError() << std::endl;
0090
0091 }
0092
0093 }
0094 }
0095
0096
0097 void MTDRecoDump::beginJob() {}
0098
0099
0100 void MTDRecoDump::endJob() {}
0101
0102
0103 void MTDRecoDump::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
0104
0105
0106 edm::ParameterSetDescription desc;
0107 desc.setUnknown();
0108 descriptions.addDefault(desc);
0109 }
0110
0111
0112 DEFINE_FWK_MODULE(MTDRecoDump);