00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 void makeTimingFiles( Char_t *file="R6020047.lis",
00018 Float_t timing= 8.00,
00019 Int_t adc_cut=25,
00020 Char_t *flavor="tower",
00021 Int_t numberOfFilesInt=100,
00022 Char_t *dir ="./",
00023 Char_t *outdir="towers/"
00024 )
00025 {
00026
00027
00028
00029
00030
00031
00032
00033 if (gClassTable->GetID("TTable") < 0) {
00034 gSystem->Load("libStar");
00035 gSystem->Load("libPhysics");
00036 }
00037 gROOT->LoadMacro("$STAR/StRoot/StMuDSTMaker/COMMON/macros/loadSharedLibraries.C");
00038 loadSharedLibraries();
00039
00040
00041
00042 gSystem->Load("StEEmcPoolTIMING");
00043
00044
00045 StChain *myChain = new StChain("myChain");
00046
00047 StMuDstMaker *muDstMaker = new StMuDstMaker(0,0,dir,file,"MuDst.root",numberOfFilesInt);
00048 TChain* tree=muDstMaker->chain(); assert(tree);
00049 int nEntries=tree->GetEntries();
00050 nEntries = 80000;
00051
00052 StMuEEmcCrateTimingMaker* myEEmcCrateTimingMaker = new StMuEEmcCrateTimingMaker(muDstMaker);
00053 myEEmcCrateTimingMaker->setFlavor(flavor);
00054 myEEmcCrateTimingMaker->setTiming(timing);
00055 myEEmcCrateTimingMaker->setDirectory(outdir);
00056 myEEmcCrateTimingMaker->setNumberOfChannels(adc_cut);
00057 myEEmcCrateTimingMaker->setMinCounts(100);
00058 myEEmcCrateTimingMaker->setPhase(6);
00059
00060 TString myOutName=file;
00061 myOutName.ReplaceAll("lis","");
00062 myOutName.ReplaceAll("MuDst.root","");
00063 myChain->PrintInfo();
00064
00065
00066 muDstMaker->SetStatus("*",0);
00067 muDstMaker->SetStatus("EztAll",1);
00068 if(myChain->Init() != 0) cerr << "Failure during Init()!" << endl;
00069
00070 Int_t iRet = 0, runNumber = -1, nEventsAna = 0;
00071 while (iRet == 0) {
00072 myChain->Clear();
00073 iRet = myChain->Make();
00074 if (iRet) {
00075 cout << "rteutrn valuer snons ZEROOOOOOOOOOOOOOOOOOOOOOOOOOOOO" << endl;
00076 break;
00077 }
00078 if (nEventsAna % 100 == 0) {
00079 cout << "Analyzing event " << nEventsAna << endl;
00080 }
00081 nEventsAna++;
00082 if (nEventsAna > nEntries) break;
00083 }
00084 cout << "Analysed " << nEventsAna << " events" << endl;
00085 myChain->Finish();
00086 delete myChain;
00087 }