00001
00002
00003 rdEEevent(int neve=300, TString Tname0="/star/u/eemcdb/dataFeb11/run00006.eeTree", int flag=0, float Emax=40.){
00004 TString Tname0="../sim2003/mc_eve2";
00005 gSystem->Load("StRoot/StEEmcUtil/EEevent/libEEevent.so");
00006
00007
00008 gStyle->SetOptStat(111111);
00009
00010 TString Tname;
00011 Tname=Tname0;
00012
00013 printf("read upto %d events from file=%s.root\n",neve,Tname.Data());
00014 TFile *f = new TFile(Tname+".root");
00015 assert(f->IsOpen());
00016 TTree *t4 = (TTree*)f->Get("EEtree");
00017 assert(t4);
00018
00019
00020 EEeventDst *event = new EEeventDst();
00021
00022
00023 TBranch *br = t4->GetBranch("EEdst");
00024 br->SetAddress(&event);
00025 Int_t nevent = (Int_t)t4->GetEntries();
00026 for (Int_t ie=0;ie<nevent;ie++) {
00027 if(ie>=neve) break;
00028 printf("\niEve=%d ---------- \n",ie);
00029 int i;
00030
00031
00032 br->GetEntry(ie);
00033 event->print();
00034
00035 int nSec=event->Sec->GetEntries();
00036 printf("%d sectors with data\n",nSec);
00037
00038 int is;
00039 for(is=0;is<nSec;is++) {
00040 EEsectorDst *sec=(EEsectorDst*)event->Sec->At(is);
00041
00042 TClonesArray *hitA=sec->getTwHits();
00043 assert(hitA);
00044 int ih;
00045 for(ih=0;ih<hitA->GetEntries();ih++) {
00046 char sub;
00047 int eta;
00048 float ener;
00049 EEtwHitDst *hit=(EEtwHitDst*)hitA->At(ih);
00050 hit->get(sub,eta,ener);
00051 if(ie<5) printf(" ih=%d sec=%d sub=%c etaBin=%d ener=%f\n",ih, sec->getID(), sub, eta,ener);
00052
00053 }
00054
00055 }
00056
00057
00058 }
00059
00060 #if 0
00061
00062
00063 TClonesArray *secA=new TClonesArray("EEsectorDst",1000);
00064 TBranch *BRsec = t4->GetBranch("Sec");
00065 BRsec->SetAddress(&secA);
00066
00067 int eveID=0;
00068 TBranch *BRid = t4->GetBranch("ID");
00069 BRid->SetAddress(&eveID);
00070
00071 Int_t nevent = (Int_t)t4->GetEntries();
00072 printf("Total events in TTree=%d\n",nevent);
00073
00074
00075
00076
00077 for (Int_t ie=0;ie<nevent;ie++) {
00078 if(ie>=neve) break;
00079 int i;
00080
00081
00082 BRid->GetEntry(ie);
00083 BRsec->GetEntry(ie);
00084
00085 if(ie%1==0) printf("\n\iEve=%d nSec=%d with data \n",ie,secA->GetEntries());
00086
00087
00088 if(ie%1==0) printf("\n\iEve=%d eveID=%d, nSec=%d with data :\n",ie,eveID,secA->GetEntries());
00089
00090
00091 int is;
00092 for(is=0;is<secA->GetEntries();is++) {
00093 EEsectorDst *sec=(EEsectorDst*)secA->At(is);
00094 if(ie<1) sec->print();
00095
00096 TClonesArray *hitA;
00097 int ih;
00098
00099 TClonesArray *hitAA[]={sec->getPre1Hits(),sec->getPre2Hits(),sec->getTwHits(),sec->getPostHits(),sec->getSmdUHits(),sec->getSmdVHits()};
00100 int iz;
00101 for(iz=0;iz<4;iz++) {
00102 hitA=hitAA[iz];
00103 if(ie<1) printf(" sectorID=%d iz=%d nHit=%d :\n",sec->getID(),iz,hitA->GetEntries());
00104 }
00105
00106
00107 for(iz=4;iz<6;iz++) {
00108 hitA=hitAA[iz];
00109 if(ie<1) printf(" sectorID=%d iz=%d nHit=%d :\n",sec->getID(),iz,hitA->GetEntries());
00110 for(ih=0;ih<hitA->GetEntries();ih++) {
00111 EEsmdHitDst *hit2=(EEsmdHitDst*)hitA->At(ih);
00112 int strip;
00113 float ener;
00114 hit2->get(strip,ener);
00115 if(ie<1) printf(" ih=%d strip=%d etaBin=%d ener=%f\n",ih, sec->getID(), strip,ener);
00116 hit->print();
00117 }
00118 }
00119
00120
00121 }
00122
00123 }
00124 #endif
00125 printf("\n\nTotal events in B TTree=%d\n",nevent);
00126
00127
00128 }
00129
00130
00131
00132
00133