00001
00002 void
00003 loadlibs()
00004 {
00005 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00006 loadSharedLibraries();
00007
00008 gSystem->Load("libmysqlclient");
00009 gSystem->Load("StEvent");
00010 gSystem->Load("StDbLib");
00011 gSystem->Load("StDbBroker");
00012 gSystem->Load("St_db_Maker");
00013
00014 gSystem->Load("StEEmcUtil");
00015 gSystem->Load("StEEmcDbMaker");
00016 gSystem->Load("StEEmcPoolTTM");
00017 }
00018
00019
00020 void
00021 readndst(const char *fName="/star/current/ndst/run*.ndst.root")
00022 {
00023 loadlibs();
00024 TChain *chain = new TChain("ttm");
00025 chain->Add(fName);
00026 Double_t nev = chain->GetEntries();
00027
00028 cerr << nev << endl;
00029
00030 TList *matchlist = new TList;
00031 StEventInfo *evinfo = new StEventInfo();
00032 StEventSummary *evsumm = new StEventSummary();
00033 StMuTriggerIdCollection *evtrig = new StMuTriggerIdCollection();
00034
00035 chain->SetBranchAddress("matches",&matchlist);
00036 chain->SetBranchAddress("info" ,&evinfo);
00037 chain->SetBranchAddress("summary",&evsumm);
00038 chain->SetBranchAddress("trigger",&evtrig);
00039
00040 for(int i=0; i<nev; i++) {
00041 EEmcTTMatch *tmatch;
00042 chain->GetEntry(i);
00043 if(matchlist->IsEmpty()) continue;
00044 StTriggerId &trig = evtrig->nominal();
00045 cerr << "<Event id=\"" << evinfo->id() << "\" run=\" " << evinfo->runId() << "\" >\n";
00046 cerr << "<MagneticField b=\"" << evsumm->magneticField() << "\" >\n";
00047 TIter nextMatch(matchlist);
00048 while ((tmatch = (EEmcTTMatch *) nextMatch()))
00049 tmatch->Out(cerr);
00050 cerr << "</Event>\n" << endl;
00051 }
00052 }