00001
00002
00003 #include "StjJetListReader.h"
00004
00005 #include <TTree.h>
00006
00007 #include <map>
00008 #include <iostream>
00009
00010 ClassImp(StjJetListReader)
00011
00012 using namespace std;
00013
00014 void StjJetListReader::SetBranchAddress(TTree *jettree, TTree *fourtree)
00015 {
00016 jettree->SetBranchAddress("eventId" , &_jet_eventId );
00017 jettree->SetBranchAddress("nJets" , &_jet_nJets );
00018 jettree->SetBranchAddress("jetId" , _jet_jetId );
00019 jettree->SetBranchAddress("pt" , _jet_pt );
00020 jettree->SetBranchAddress("eta" , _jet_eta );
00021 jettree->SetBranchAddress("detectorEta", _jet_detectorEta );
00022 jettree->SetBranchAddress("phi" , _jet_phi );
00023 jettree->SetBranchAddress("m" , _jet_m );
00024 jettree->SetBranchAddress("neuRt" , _jet_neuRt );
00025 jettree->SetBranchAddress("vertexZ" , &_jet_vertexZ );
00026 jettree->SetBranchAddress("runNumber" , &_jet_runNumber );
00027
00028 fourtree->SetBranchAddress("eventId" , &_four_eventId );
00029 fourtree->SetBranchAddress("nFourVecs" , &_four_nFourVecs );
00030 fourtree->SetBranchAddress("jetId" , _four_jetId );
00031 fourtree->SetBranchAddress("pt" , _four_pt );
00032 fourtree->SetBranchAddress("eta" , _four_eta );
00033 fourtree->SetBranchAddress("phi" , _four_phi );
00034 fourtree->SetBranchAddress("towerId" , _four_towerId );
00035 fourtree->SetBranchAddress("trackId" , _four_trackId );
00036 fourtree->SetBranchAddress("mcparticleId", _four_mcparticleId );
00037 fourtree->SetBranchAddress("m" , _four_m );
00038 fourtree->SetBranchAddress("type" , _four_type );
00039 fourtree->SetBranchAddress("detectorId" , _four_detectorId );
00040 fourtree->SetBranchAddress("fourvecId" , _four_fourvecId );
00041 fourtree->SetBranchAddress("runNumber" , &_four_runNumber );
00042 fourtree->SetBranchAddress("vertexZ" , &_four_vertexZ );
00043 }
00044
00045 void StjJetListReader::clearEntry()
00046 {
00047 _list.clear();
00048 }
00049
00050 void StjJetListReader::readEntry()
00051 {
00052 clearEntry();
00053 for(int i = 0; i < _jet_nJets; ++i) {
00054 StjJet jet;
00055 jet.runNumber = _jet_runNumber;
00056 jet.eventId = _jet_eventId;
00057 jet.jetId = _jet_jetId[i];
00058 jet.pt = _jet_pt[i];
00059 jet.eta = _jet_eta[i];
00060 jet.phi = _jet_phi[i];
00061 jet.m = _jet_m[i];
00062 jet.neuRt = _jet_neuRt[i];
00063 jet.vertexZ = _jet_vertexZ;
00064 jet.detectorEta = _jet_detectorEta[i];
00065
00066 for(int j = 0; j < _four_nFourVecs; ++j) {
00067 if(_four_jetId[j] != jet.jetId) continue;
00068 StjFourVec four;
00069 four.runNumber = _four_runNumber;
00070 four.eventId = _four_eventId;
00071 four.vertexZ = _four_vertexZ;
00072 four.fourvecId = _four_fourvecId[j];
00073 four.type = _four_type[j];
00074 four.detectorId = _four_detectorId[j];
00075 four.trackId = _four_trackId[j];
00076 four.towerId = _four_towerId[j];
00077 four.mcparticleId = _four_mcparticleId[j];
00078 four.pt = _four_pt[j];
00079 four.eta = _four_eta[j];
00080 four.phi = _four_phi[j];
00081 four.m = _four_m[j];
00082 jet.fourVecList.push_back(four);
00083 }
00084 _list.push_back(jet);
00085 }
00086 }