00001
00002 #include "StjTrackListReader.h"
00003
00004 #include <TTree.h>
00005
00006 ClassImp(StjTrackListReader)
00007
00008 void StjTrackListReader::SetBranchAddress(TTree *tree)
00009 {
00010 tree->SetBranchAddress("eventId" , &_eventId );
00011 tree->SetBranchAddress("nTracks" , &_nTracks );
00012 tree->SetBranchAddress("pt" , _pt );
00013 tree->SetBranchAddress("eta" , _eta );
00014 tree->SetBranchAddress("phi" , _phi );
00015 tree->SetBranchAddress("exitEta" , _exitEta );
00016 tree->SetBranchAddress("exitPhi" , _exitPhi );
00017 tree->SetBranchAddress("trackId" , _trackId );
00018 tree->SetBranchAddress("flag" , _flag );
00019 tree->SetBranchAddress("nHits" , _nHits );
00020 tree->SetBranchAddress("charge" , _charge );
00021 tree->SetBranchAddress("nHitsPoss" , _nHitsPoss );
00022 tree->SetBranchAddress("nHitsDedx" , _nHitsDedx );
00023 tree->SetBranchAddress("nHitsFit" , _nHitsFit );
00024 tree->SetBranchAddress("nSigmaPion" , _nSigmaPion );
00025 tree->SetBranchAddress("Tdca" , _Tdca );
00026 tree->SetBranchAddress("dcaZ" , _dcaZ );
00027 tree->SetBranchAddress("dcaD" , _dcaD );
00028 tree->SetBranchAddress("BField" , &_BField );
00029 tree->SetBranchAddress("bemcRadius" , &_bemcRadius );
00030 tree->SetBranchAddress("dEdx" , _dEdx );
00031 tree->SetBranchAddress("trackIndex" , _trackIndex );
00032 tree->SetBranchAddress("exitDetectorId" , _exitDetectorId );
00033 tree->SetBranchAddress("exitTowerId" , _exitTowerId );
00034 tree->SetBranchAddress("vertexZ" , &_vertexZ );
00035 tree->SetBranchAddress("detectorId" , &_detectorId );
00036 tree->SetBranchAddress("runNumber" , &_runNumber );
00037 }
00038
00039 void StjTrackListReader::clearEntry()
00040 {
00041 _list.clear();
00042 }
00043
00044 void StjTrackListReader::readEntry()
00045 {
00046 clearEntry();
00047
00048 for(int i = 0; i < _nTracks; ++i) {
00049
00050 StjTrack track;
00051
00052 track.runNumber = _runNumber;
00053 track.eventId = _eventId;
00054 track.detectorId = _detectorId;
00055 track.pt = _pt[i];
00056 track.eta = _eta[i];
00057 track.phi = _phi[i];
00058 track.flag = _flag[i];
00059 track.nHits = _nHits[i];
00060 track.charge = _charge[i];
00061 track.nHitsPoss = _nHitsPoss[i];
00062 track.nHitsDedx = _nHitsDedx[i];
00063 track.nHitsFit = _nHitsFit[i];
00064 track.nSigmaPion = _nSigmaPion[i];
00065 track.Tdca = _Tdca[i];
00066 track.dcaZ = _dcaZ[i];
00067 track.dcaD = _dcaD[i];
00068 track.BField = _BField;
00069 track.bemcRadius = _bemcRadius;
00070 track.exitDetectorId = _exitDetectorId[i];
00071 track.exitTowerId = _exitTowerId[i];
00072 track.exitEta = _exitEta[i];
00073 track.exitPhi = _exitPhi[i];
00074 track.dEdx = _dEdx[i];
00075 track.trackIndex = _trackIndex[i];
00076 track.id = _trackId[i];
00077 track.vertexZ = _vertexZ;
00078
00079 _list.push_back(track);
00080 }
00081 }