00001
00002
00003 class StMuDstMaker;
00004
00005 StMuDstMaker* maker;
00006
00007 void example() {
00008 if (gClassTable->GetID("TTable") < 0) {
00009 gSystem->Load("libTable");
00010 gSystem->Load("libPhysics");
00011 }
00012 gROOT->LoadMacro("StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00013 loadSharedLibraries();
00014 cout << " loading done " << endl;
00015
00016 StMuDebug::setLevel(0);
00017
00018 int iret=0;
00019 maker = new StMuDstMaker(0,0,"","test.lis","MuDst.root",2);
00020 StMuDbReader* db = StMuDbReader::instance();
00021
00022
00023
00024 iret = maker->Make();
00025 iret = maker->Make();
00026
00027
00028 StMuEvent* e = maker->muDst()->event();
00029 StL0Trigger t;
00030 StEventInfo info;
00031 if (e) {
00032 t=e->l0Trigger();
00033 info=e->eventInfo();
00034 }
00035
00036 int n = maker->muDst()->primaryTracks()->GetEntries();
00037
00038 for (int i=0; i<n; i++) {
00039 StMuTrack* primaryTrack = maker->muDst()->primaryTracks(i);
00040 StMuTrack* global = primaryTrack->globalTrack();
00041 cout << endl;
00042 StMuTrack* tt = primaryTrack;
00043 printf("primary momentum=%8f first-helix=%8f last-outerHelix=%8f length=%8f lengthMeasured=%8f charge=%d \n",
00044 tt->p().mag(), (tt->firstPoint() - tt->helix().origin()).mag(), (tt->lastPoint() - tt->outerHelix().origin()).mag(), tt->length(), tt->lengthMeasured(), tt->charge() );
00045 StMuTrack* tt = global;
00046 printf("global momentum=%8f first-helix=%8f last-outerHelix=%8f length=%8f lengthMeasured=%8f charge=%d \n",
00047 tt->p().mag(), (tt->firstPoint() - tt->helix().origin()).mag(), (tt->lastPoint() - tt->outerHelix().origin()).mag(), tt->length(), tt->lengthMeasured(), tt->charge() );
00048 }
00049 printf("EVENT id=%d, runId=%d unix time=%d trigWord=0x%0x bXing=%d spinBits=%d nPrim=%d\n", info.id(), info.runId(), info.time(), t.triggerWord(),t.bunchCrossingId(), t.spinBits(),n);
00050
00051
00052 }
00053
00054
00055