00001 int rdTrg2Panitkin(int nEve=1000000,
00002 char* file="R7072002",
00003 char *pathIn="//star/data05/scratch/balewski/2006-L2algo-events/2006-data/072/",
00004 char *pathOut="./wrk/hist/"
00005 ){
00006
00007 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00008 loadSharedLibraries();
00009 cout << " loading done " << endl;
00010
00011 assert( !gSystem->Load(".sl305_gcc323/obj/StRoot/StEEmcPool/muEztPanitkin/StEEmcPoolmuEztPanitkin.so"));
00012 assert( !gSystem->Load("StEEmcUtil"));
00013 assert( !gSystem->Load("StEEmcPoolHanksTriggerDataReader"));
00014
00015
00016 chain = new StChain("StChain");
00017
00018 TString iFile=file; iFile+=".dat";
00019 iFile=pathIn+iFile;
00020
00021 trgRd = new StTriggerDataReader("TRGRD");
00022 if (trgRd->OpenFile(iFile.Data())==kStErr){
00023 printf("Error opening data file %s\n",file);
00024 return(kStErr);
00025 }else{
00026 printf("Opening data file %s\n",iFile.Data());
00027 }
00028
00029 HList=new TObjArray;
00030 myMk3=new StTrigOnlyPanitkinMaker("trig2Panitkin","MuDst");
00031 myMk3->SetHList(HList);
00032
00033 chain->Init();
00034 chain->ls(3);
00035
00036 int eventCounter=0;
00037 int stat=0;
00038 int t1=time(0);
00039 StMuTimer timer;
00040 timer.start();
00041
00042 while ( 1) {
00043 if(eventCounter>=nEve) break;
00044 eventCounter++;
00045 chain->Clear();
00046 stat = chain->Make();
00047 if(stat) break;
00048 if(eventCounter%2000!=0)continue;
00049
00050 printf("\n\n ====================%d processing ==============\n", eventCounter);
00051
00052 }
00053
00054 printf("sorting done, nEve=%d \n",nEve);
00055 int t2=time(0);
00056 if(t1==t2) t2++;
00057 float rate=1.*eventCounter/(t2-t1);
00058 float nMnts=(t2-t1)/60.;
00059 printf("sorting done nEve=%d , elapsed rate=%.1f Hz, tot %.1f minutes\n",eventCounter,rate,nMnts);
00060
00061 if (eventCounter) {
00062 cout << "CPU time/event= " << timer.elapsedTime()/eventCounter << " sec "
00063 << " rate= " << eventCounter/timer.elapsedTime() << " Hz" << endl;
00064 }
00065
00066 TString hFile=file;
00067 hFile=pathOut+hFile;
00068 myMk3->saveHisto(hFile);
00069 trgRd->CloseFile();
00070 }