00001
00002 #include "TString.h"
00003 void doMuDST2MyEvent(unsigned long nEvents, char *infile,char *jobid,char *flag,char *coll)
00004 {
00005 Bool_t debug=kFALSE;
00006 Bool_t debugg=kFALSE;
00007
00008 gSystem->Load("StarRoot");
00009 gSystem->Load("libTable");
00010 gSystem->Load("libPhysics");
00011 gSystem->Load("St_base");
00012
00013 gSystem->Load("liblog4cxx.so");
00014 gSystem->Load("StStarLogger.so");
00015 StLoggerManager::StarLoggerInit();
00016
00017 gSystem->Load("StChain");
00018 gSystem->Load("St_Tables");
00019 gSystem->Load("StarMagField");
00020 gSystem->Load("StMagF");
00021 gSystem->Load("StUtilities");
00022 gSystem->Load("StTreeMaker");
00023 gSystem->Load("StIOMaker");
00024 gSystem->Load("StarClassLibrary");
00025 gSystem->Load("StTriggerDataMaker");
00026 gSystem->Load("StTpcDb");
00027 gSystem->Load("StDetectorDbMaker");
00028 gSystem->Load("StDbUtilities");
00029 gSystem->Load("StEvent");
00030 gSystem->Load("StEventUtilities");
00031 gSystem->Load("StMcEvent");
00032 gSystem->Load("StMcEventMaker");
00033 gSystem->Load("StAssociationMaker");
00034 gSystem->Load("StStrangeMuDstMaker");
00035 gSystem->Load("StEmcUtil");
00036 gSystem->Load("StEEmcUtil");
00037 gSystem->Load("StPmdUtil");
00038 gSystem->Load("StMuDSTMaker");
00039 gSystem->Load("StBichsel");
00040
00041
00042 gSystem->Load("StDaqLib");
00043 gSystem->Load("StDbLib");
00044 gSystem->Load("StDbBroker");
00045 gSystem->Load("St_db_Maker");
00046 gSystem->Load("StDetectorDbMaker");
00047
00048
00049 gSystem->Load("StEmcRawMaker");
00050 gSystem->Load("StEmcADCtoEMaker");
00051 gSystem->Load("StPreEclMaker");
00052 gSystem->Load("StEpcMaker");
00053
00054 gSystem->Load("/star/u/russcher/MyEvent/MyEvent.so");
00055 gSystem->Load("StMyEventMaker");
00056
00057 cout << "Finished loading libraries " << endl;
00058
00059 StChain* chain = new StChain("bfc");
00060
00061 StEmcADCtoEMaker* adcMaker=0;
00062 StPreEclMaker* preEcl=0;
00063 StEpcMaker *epc=0;
00064 St_db_Maker* dbMk=0;
00065 StDetectorDbMaker *detMk=0;
00066
00067 TString output(jobid);
00068 output.Append("_");
00069 output.Append(coll);
00070 output.Append("_");
00071 output.Append(flag);
00072 output.Append(".root");
00073
00074 TString input(infile);
00075
00076 StIOMaker* ioMaker=0;
00077
00078 StMuDstMaker* mudstMaker = new StMuDstMaker(0,0,"",input.Data(),"",25);
00079 dbMk = new St_db_Maker("db","MySQL:StarDb", "$STAR/StarDb");
00080 detDbMk = new StDetectorDbMaker();
00081
00082 adcMaker=new StEmcADCtoEMaker("adcm");
00083 preEcl = new StPreEclMaker();
00084 epc = new StEpcMaker();
00085 adcMaker->setPrint(debug);
00086 preEcl->setPrint(debug);
00087 epc->setPrint(debug);
00088
00089 StMyEventMaker* myMaker = new StMyEventMaker("myMaker",output.Data(),flag,coll,debugg);
00090 myMaker->setDbMaker(dbMk);
00091 myMaker->setAdcMaker(adcMaker);
00092
00093 chain->Init();
00094
00095 if(preEcl) {
00096 cout<<endl<<"Using old clustering, setting parameters now!"<<endl;
00097 preEcl->SetClusterConditions("bemc", 4, .35, .0350, 0.02, kFALSE);
00098 preEcl->SetClusterConditions("bprs", 1, 500., 500., 501., kFALSE);
00099 preEcl->SetClusterConditions("bsmde", 5, .20, .0005, 0.10, kFALSE);
00100 preEcl->SetClusterConditions("bsmdp", 5, .20, .0005, 0.10, kFALSE);
00101
00102 if(strcmp(coll,"auau200")==0){
00103 preEcl->SetClusterConditions("bemc", 4, .35, .1, 0.02, kFALSE);
00104 preEcl->SetClusterConditions("bprs", 1, 500., 500., 501., kFALSE);
00105 preEcl->SetClusterConditions("bsmde", 5, .20, .0005, 0.10, kFALSE);
00106 preEcl->SetClusterConditions("bsmdp", 5, .20, .0005, 0.10, kFALSE);
00107 }
00108 }
00109
00110 for(unsigned long iev=0;iev<nEvents; iev++)
00111 {
00112 if(iev%100==0) cout<<"processing event: "<<iev<<endl;
00113 chain->Clear();
00114 Int_t iret = chain->Make(iev);
00115 if(iev%500==0){
00116
00117 myMaker->saveHistograms();
00118 }
00119 if(iret==2) cout <<"### Last Event Processed. Status = "<<iret<< endl;
00120 if(iret==3) cout <<"### Error Event Processed. Status = "<<iret<< endl;
00121 if(iret==4) cout <<"### Fatal Event Processed. Status = "<<iret<< endl;
00122 if(iret>1) break;
00123 }
00124 chain->Finish();
00125 }
00126
00127
00128
00129
00130
00131
00132
00133