File indexing completed on 2024-04-06 12:25:29
0001 {
0002 #include "DataFormats/FWLite/interface/Handle.h"
0003
0004 TFile file("/scratch/ratnikov/data/RelVal152BJets50-120_17X_jettrackassociation2.root");
0005
0006 fwlite::Event ev(&file);
0007 for( ev.toBegin();
0008 ! ev.atEnd();
0009 ++ev) {
0010 fwlite::Handle<reco::CaloJetCollection> jets;
0011 jets.getByLabel(ev,"iterativeCone5CaloJets");
0012 const reco::JetTracksAssociation::Container* jet2tracksVX = reco::JetTracksAssociation::getByLabel (ev,"ic5JetTracksAssociatorAtVertex", 0, 0);;
0013 const reco::JetTracksAssociation::Container* jet2tracksCALO = reco::JetTracksAssociation::getByLabel (ev,"ic5JetTracksAssociatorAtCaloFace", 0, 0);
0014 const reco::JetExtendedAssociation::Container* jetExtend = reco::JetExtendedAssociation::getByLabel (ev,"ic5JetExtender", 0, 0);
0015
0016 std::cout << "Total jets: " << jets->size() << std::endl;
0017 for (unsigned j = 0; j < jets->size(); ++j) {
0018 std::cout << "Jet #" << j << std::endl
0019 << ((*jets)[j]).print() << std::endl;
0020
0021 std::cout << "Associated tracks at VX: " << reco::JetTracksAssociation::tracksNumber (*jet2tracksVX, (*jets)[j])
0022 << ", sumPt: " << reco::JetTracksAssociation::tracksP4 (*jet2tracksVX, (*jets)[j]).pt() << std::endl;
0023 reco::TrackRefVector tracks = reco::JetTracksAssociation::getValue (*jet2tracksVX, (*jets)[j]);
0024 for (unsigned t = 0; t < tracks.size(); ++t) {
0025 std::cout << "track p/pt/eta/phi: " << (tracks[t])->p() << '/' << (tracks[t])->pt() << '/'
0026 << (tracks[t])->eta() << '/' << (tracks[t])->phi() << std::endl;
0027 }
0028
0029 std::cout << "Associated tracks at CALO face: " << reco::JetTracksAssociation::tracksNumber (*jet2tracksCALO, (*jets)[j])
0030 << ", sumPt: " << reco::JetTracksAssociation::tracksP4 (*jet2tracksCALO, (*jets)[j]).pt() << std::endl;
0031 reco::TrackRefVector tracksAtFace = reco::JetTracksAssociation::getValue (*jet2tracksCALO, (*jets)[j]);
0032 for (unsigned t = 0; t < tracksAtFace.size(); ++t) {
0033 std::cout << "track p/pt/eta/phi: " << (tracksAtFace[t])->p() << '/' << (tracksAtFace[t])->pt() << '/'
0034 << (tracksAtFace[t])->eta() << '/' << (tracksAtFace[t])->phi() << std::endl;
0035 }
0036
0037 std::cout << "Jet extended information: "
0038 << " at VX tracks " << reco::JetExtendedAssociation::tracksAtVertexNumber (*jetExtend, (*jets)[j])
0039 << ", sumPt: " << reco::JetExtendedAssociation::tracksAtVertexP4 (*jetExtend, (*jets)[j]).pt()
0040 << "; at CALO tracks " << reco::JetExtendedAssociation::tracksAtCaloNumber (*jetExtend, (*jets)[j])
0041 << ", sumPt: " << reco::JetExtendedAssociation::tracksAtCaloP4 (*jetExtend, (*jets)[j]).pt()
0042 << std::endl;
0043 }
0044 std::cout << "=================== event end ====================" << std::endl;
0045 }
0046 }