00001 TObjArray *HList;
00002 class MuEzPanitkinMaker;
00003 MuEzPanitkinMaker *myMk3;
00004
00005
00006 int rdEztPanitkin( int trigID=0,
00007 int nEve=100,
00008 Int_t nFiles =20,
00009 char* file="runList/R7101015.lis",
00010 char* inDir = "./"
00011 ){
00012
00013
00014
00015 inDir=" myMuDst/";
00016 file="st_physics_7166007_raw_1040002.MuDst.root";
00017
00018 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00019 loadSharedLibraries();
00020 cout << " loading done " << endl;
00021 assert( !gSystem->Load("StEEmcPoolmuEztPanitkin"));
00022 assert( !gSystem->Load("StEEmcUtil"));
00023
00024
00025 assert( !gSystem->Load("StDbBroker"));
00026 assert( !gSystem->Load("St_db_Maker"));
00027 assert( !gSystem->Load("StEEmcDbMaker"));
00028
00029
00030 chain = new StChain("StChain");
00031
00032 printf("adding muDst from '%s' ....\n",file);
00033
00034
00035 muMk = new StMuDstMaker(0,0,inDir,file,"MuDst.root",nFiles);
00036 TChain* tree=muMk->chain(); assert(tree);
00037 int nEntries=(int) tree->GetEntries();
00038 printf("total eve in chain =%d\n",nEntries);
00039 printf("in=%s%s=\n",inDir,file);
00040
00041
00042 St_db_Maker *stDb = new St_db_Maker("StarDb", "MySQL:StarDb");
00043 stDb->SetFlavor("onlPed","eemcPMTped");
00044
00045 new StEEmcDbMaker("EEmcDbMaker");
00046
00047 HList=new TObjArray;
00048 myMk3=new MuEzPanitkinMaker("myPanitkin","MuDst");
00049 myMk3->SetHList(HList);
00050 myMk3->SetTrigIdFilter(trigID);
00051
00052
00053
00054
00055
00056
00057
00058
00059 {
00060
00061 int eemcDsmSetup[20];
00062 memset(eemcDsmSetup, 0,sizeof(eemcDsmSetup));
00063 eemcDsmSetup[0]=3;
00064 eemcDsmSetup[1]=12;
00065 eemcDsmSetup[2]=22;
00066 eemcDsmSetup[3]=1;
00067 eemcDsmSetup[4]=17;
00068 eemcDsmSetup[5]=31;
00069 eemcDsmSetup[10]=2;
00070
00071 }
00072
00073
00074 gMessMgr->SwitchOff("D");
00075 gMessMgr->SwitchOn("I");
00076
00077 muMk->SetStatus("*",0);
00078 muMk->SetStatus("EztAll",1);
00079 muMk->SetStatus("MuEvent",1);
00080 chain->Init();
00081 chain->ls(3);
00082
00083
00084 printf("All Ezt-branches set\n");
00085 int eventCounter=0;
00086 int stat=0;
00087 int t1=time(0);
00088 StMuTimer timer;
00089 timer.start();
00090
00091
00092 while ( 1) {
00093 if(eventCounter>=nEve) break;
00094 eventCounter++;
00095 chain->Clear();
00096 stat = chain->Make();
00097 if(stat) break;
00098 if(eventCounter%200!=0)continue;
00099
00100 printf("\n\n ====================%d processing ==============\n", eventCounter);
00101
00102 }
00103 printf("sorting done, nEve=%d of %d\n",nEve, nEntries);
00104 int t2=time(0);
00105 if(t1==t2) t2++;
00106 float rate=1.*eventCounter/(t2-t1);
00107 float nMnts=(t2-t1)/60.;
00108 printf("sorting done %d of nEve=%d, elapsed rate=%.1f Hz, tot %.1f minutes\n",eventCounter,nEntries,rate,nMnts);
00109
00110 if (eventCounter) {
00111 cout << "CPU time/event= " << timer.elapsedTime()/eventCounter << " sec "
00112 << " rate= " << eventCounter/timer.elapsedTime() << " Hz" << endl;
00113 }
00114
00115 myMk3->saveHisto("eemcQA");
00116
00117
00118 }