00001
00002
00003
00004
00005 class StChain;
00006 StChain *chain;
00007 int total=0;
00008
00009 void RunFastJetReader(
00010 int nevents=10000,
00011 const char* jetInFile = "blah.jets.root",
00012 const char* skimInFile = "blah.skim.root"
00013 )
00014 {
00015 cout <<"hello world"<<endl;
00016 cout <<"Jet tree file:\t"<<jetInFile<<endl;
00017 cout <<"SkimEvent tree file:\t"<<skimInFile<<endl;
00018
00019 gSystem->Load("StJetSkimEvent");
00020 gSystem->Load("StJets");
00021
00022 gROOT->Macro("loadMuDst.C");
00023 gSystem->Load("StTpcDb");
00024 gSystem->Load("StDetectorDbMaker");
00025 gSystem->Load("StDbUtilities");
00026 gSystem->Load("StMcEvent");
00027 gSystem->Load("StMcEventMaker");
00028 gSystem->Load("StMCAsymMaker");
00029 gSystem->Load("StDaqLib");
00030 gSystem->Load("StEmcRawMaker");
00031 gSystem->Load("StEmcADCtoEMaker");
00032 gSystem->Load("StEpcMaker");
00033 gSystem->Load("StEmcSimulatorMaker");
00034 gSystem->Load("StDbBroker");
00035 gSystem->Load("St_db_Maker");
00036 gSystem->Load("StEEmcUtil");
00037 gSystem->Load("StEEmcDbMaker");
00038 gSystem->Load("StSpinDbMaker");
00039 gSystem->Load("StEmcTriggerMaker");
00040 gSystem->Load("StTriggerUtilities");
00041 gSystem->Load("libfastjet.so");
00042 gSystem->Load("StJetFinder");
00043 gSystem->Load("StJetEvent");
00044 gSystem->Load("StRandomSelector");
00045 gSystem->Load("StJetMaker");
00046
00047 cout << " loading done " << endl;
00048
00049 chain= new StChain("StChain");
00050
00051 chain->SetDebug(5);
00052
00053
00054 StJetReader* jetReader = new StJetReader;
00055
00056 chain->Init();
00057
00058
00059
00060 jetReader->InitFile(jetInFile);
00061 jetReader->InitJetSkimFile(skimInFile);
00062 int ready = jetReader->preparedForDualRead();
00063
00064 chain->PrintInfo();
00065
00066 TTree* jetTree = jetReader->tree();
00067 int ntotal = jetTree->GetEntries();
00068
00069 for (Int_t iev=0; iev<nevents && iev<ntotal; iev++) {
00070 cout << "------------------------------- Working on eventNumber " << iev << endl;
00071 chain->Clear();
00072 int iret = chain->Make(iev);
00073 total++;
00074 if (iret) {
00075 cout << "Bad return code!" << endl;
00076 break;
00077 }
00078
00079 jetReader->exampleFastAna();
00080 }
00081 chain->Finish();
00082 cout << "****************************************** " << endl;
00083 cout << "total number of events " << total << endl;
00084 cout << "****************************************** " << endl;
00085
00086 }
00087
00088
00089
00090