File indexing completed on 2023-03-17 11:15:54
0001
0002 #include <memory>
0003 #include <string>
0004 #include <iostream>
0005 #include <vector>
0006 #include <TMath.h>
0007 #include <TFile.h>
0008 #include <TH1.h>
0009
0010
0011 #include "FWCore/Framework/interface/Frameworkfwd.h"
0012 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0013 #include "FWCore/Framework/interface/ESHandle.h"
0014 #include "FWCore/Framework/interface/Event.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/Framework/interface/MakerMacros.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018
0019 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0020 #include "DataFormats/Candidate/interface/CandMatchMap.h"
0021
0022 #include "DataFormats/Common/interface/Ref.h"
0023 #include "DataFormats/JetReco/interface/Jet.h"
0024 #include "DataFormats/Candidate/interface/CandMatchMap.h"
0025
0026 using namespace std;
0027 using namespace reco;
0028 using namespace edm;
0029
0030 class printPartonJet : public edm::one::EDAnalyzer<> {
0031 public:
0032 explicit printPartonJet(const edm::ParameterSet&);
0033 ~printPartonJet(){};
0034 void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup);
0035
0036 private:
0037 edm::EDGetTokenT<View<Candidate> > sourceToken_;
0038 string fOutputFileName_;
0039 Handle<View<Candidate> > partonJets;
0040 };
0041
0042 printPartonJet::printPartonJet(const edm::ParameterSet& iConfig) {
0043 sourceToken_ = consumes<View<Candidate> >(iConfig.getParameter<InputTag>("src"));
0044 }
0045
0046 void printPartonJet::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0047 cout << "[printPartonJet] analysing event " << iEvent.id() << endl;
0048
0049 try {
0050 iEvent.getByToken(sourceToken_, partonJets);
0051 } catch (std::exception& ce) {
0052 cerr << "[printPartonJet] caught std::exception " << ce.what() << endl;
0053 return;
0054 }
0055
0056 cout << "************************" << endl;
0057 cout << "* PartonJetCollection *" << endl;
0058 cout << "************************" << endl;
0059 for (size_t j = 0; j != partonJets->size(); ++j) {
0060 printf("[printPartonJet] (pt,eta,phi) = %7.3f %6.3f %6.3f |\n",
0061 (*partonJets)[j].et(),
0062 (*partonJets)[j].eta(),
0063 (*partonJets)[j].phi());
0064 for (Candidate::const_iterator itC = (*partonJets)[j].begin(); itC != (*partonJets)[j].end(); itC++) {
0065 cout << " Constituent (pt,eta,phi,pdgId): " << itC->pt() << " " << itC->eta() << " " << itC->phi()
0066 << " " << itC->pdgId() << endl;
0067 }
0068 }
0069 }
0070
0071 DEFINE_FWK_MODULE(printPartonJet);