Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:32

0001 // system include files
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 // user include files
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);