00001
00002 class StMuDstMaker;
00003 class HistMaker;
00004
00005 StMuDstMaker* maker;
00006 HistMaker* myHistMaker;
00007
00008 void TestRead(const char* infile, const char* outfile)
00009 {
00010 if (gClassTable->GetID("TTable") < 0) gSystem->Load("libTable");
00011 gSystem->Load("St_base");
00012 gSystem->Load("StChain");
00013 gSystem->Load("St_Tables");
00014 gSystem->Load("StMagF");
00015 gSystem->Load("StUtilities");
00016 gSystem->Load("StTreeMaker");
00017 gSystem->Load("StIOMaker");
00018 gSystem->Load("StarClassLibrary");
00019 gSystem->Load("StTpcDb");
00020 gSystem->Load("StDbUtilities");
00021 gSystem->Load("StEvent");
00022 gSystem->Load("StEventUtilities");
00023 gSystem->Load("StMcEvent");
00024 gSystem->Load("StMcEventMaker");
00025 gSystem->Load("StAssociationMaker");
00026 gSystem->Load("StMcAnalysisMaker");
00027 gSystem->Load("StStrangeMuDstMaker");
00028 gSystem->Load("StMuDSTMaker");
00029 gSystem->Load("JetFinder");
00030
00031 cout << " loading done " << endl;
00032
00033 StMuDebug::setLevel(0);
00034
00035 int iret=0;
00036
00037
00038 double pi=3.14159;
00039 TH2* dEtaVsdPhi = new TH2D("dEtaVsdPhi","#Delta#eta vs #Delta#phi",40, -pi, pi, 40, -1., 1.);
00040
00041 cout <<" --- Set Cuts ---"<<endl;
00042
00043 AnaCuts cuts;
00044 cuts.ptCut = 2.0;
00045 cuts.triggerPtCut = 3.0;
00046 cuts.pseudoRapidityCutOff = 1.0;
00047 cuts.minNumberOfFitPoints = 22;
00048 cuts.minNumberOfPoints = 25;
00049 cuts.verbose=false;
00050
00051 cout <<" --- Create Filter ---"<<endl;
00052
00053 enum ioType {kWrite=0, kRead=1};
00054
00055 cout <<"Read from file:\t"<<infile<<endl;
00056 myFilter = new StJetFilter(kRead, infile);
00057 myFilter->setCuts(cuts);
00058
00059 cout <<" --- Create HistMaker ---"<<endl;
00060 HistMaker* myHister = new HistMaker();
00061 myHister->setCuts(cuts);
00062 myHister->setdEtaVsdPhi(dEtaVsdPhi);
00063
00064 cout <<" --- Loop on events ---"<<endl;
00065 int nEvents=myFilter->nEvents();
00066 for (int iev=0; iev<nEvents; ++iev) {
00067
00068 if (fmod(static_cast<double>(iev),1000.)==0.) {
00069 cout <<"\t --- chugging on event:\t"<<iev<<"\t of :"<<nEvents<<endl;
00070 }
00071 myFilter->fill();
00072
00073
00074 StJetMuEvent* event = myFilter->event();
00075 myHister->fill(event);
00076 }
00077
00078 cout <<" --- Save Histograms --- "<<endl;
00079 TFile* ofile = new TFile(outfile,"RECREATE");
00080 ofile->cd();
00081 dEtaVsdPhi->Write();
00082 ofile->Close();
00083
00084 delete myFilter;
00085 myFilter=0;
00086 delete myHister;
00087 myHister=0;
00088 }
00089