00001
00002
00003
00004
00005
00006
00007 void RunJetSkim2009sim(int nevents = 1e6,
00008 const char* mudstfile = "/star/data47/reco/pp200/pythia6_410/15_25gev/cdf_a/y2006c/gheisha_on/p07ic/rcf1307_01_2000evts.MuDst.root",
00009 const char* geantfile = "/star/data47/reco/pp200/pythia6_410/15_25gev/cdf_a/y2006c/gheisha_on/p07ic/rcf1307_01_2000evts.geant.root",
00010 const char* skimfile = "rcf1307_01_2000evts.skim.root",
00011 bool useL2 = true)
00012 {
00013 cout << "Read MuDst file:\t" << mudstfile << endl;
00014 cout << "Read geant file:\t" << geantfile << endl;
00015 cout << "Write skim file:\t" << skimfile << endl;
00016
00017 gROOT->Macro("loadMuDst.C");
00018 gROOT->Macro("LoadLogger.C");
00019
00020 gSystem->Load("StDetectorDbMaker");
00021 gSystem->Load("StTpcDb");
00022 gSystem->Load("StDbUtilities");
00023 gSystem->Load("StMcEvent");
00024 gSystem->Load("StMcEventMaker");
00025 gSystem->Load("StDaqLib");
00026 gSystem->Load("StEmcRawMaker");
00027 gSystem->Load("StEmcADCtoEMaker");
00028 gSystem->Load("StPreEclMaker");
00029 gSystem->Load("StEmcSimulatorMaker");
00030 gSystem->Load("StDbBroker");
00031 gSystem->Load("St_db_Maker");
00032 gSystem->Load("StEEmcUtil");
00033 gSystem->Load("StEEmcDbMaker");
00034 gSystem->Load("StSpinDbMaker");
00035 gSystem->Load("StEmcTriggerMaker");
00036 gSystem->Load("StTriggerUtilities");
00037 gSystem->Load("StMCAsymMaker");
00038 gSystem->Load("StRandomSelector");
00039 gSystem->Load("libfastjet.so");
00040 gSystem->Load("StJetFinder");
00041 gSystem->Load("StJetSkimEvent");
00042 gSystem->Load("StJets");
00043 gSystem->Load("StJetEvent");
00044 gSystem->Load("StJetMaker");
00045 gSystem->Load("StEEmcSimulatorMaker");
00046
00047
00048 StChain* chain = new StChain;
00049
00050
00051 StIOMaker* ioMaker = new StIOMaker;
00052 ioMaker->SetFile(geantfile);
00053 ioMaker->SetIOMode("r");
00054 ioMaker->SetBranch("*",0,"0");
00055 ioMaker->SetBranch("geantBranch",0,"r");
00056
00057
00058 StMcEventMaker* mcEventMaker = new StMcEventMaker;
00059 mcEventMaker->doPrintEventInfo = false;
00060 mcEventMaker->doPrintMemoryInfo = false;
00061
00062
00063 StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,"",mudstfile,"",100000,"MuDst");
00064
00065
00066 StMuDbReader* muDstDb = StMuDbReader::instance();
00067
00068
00069 St_db_Maker* starDb = new St_db_Maker("StarDb","MySQL:StarDb");
00070 starDb->SetDateTime(20090628,53220);
00071
00072
00073
00074 StEEmcDbMaker* eemcDb = new StEEmcDbMaker;
00075
00076
00077 StEEmcSlowMaker* eess = new StEEmcSlowMaker;
00078 eess->setSamplingFraction(0.0384);
00079 eess->setAddPed(true);
00080 eess->setSmearPed(true);
00081
00082
00083 StEmcSimulatorMaker* emcSim = new StEmcSimulatorMaker;
00084 emcSim->setCalibSpread(kBarrelEmcTowerId,0.15);
00085 StPreEclMaker* preEcl = new StPreEclMaker;
00086
00087
00088 StEmcADCtoEMaker* adc = new StEmcADCtoEMaker;
00089
00090
00091
00092 StL2_2009EmulatorMaker* simL2Mk = 0;
00093 if (useL2) {
00094 simL2Mk = new StL2_2009EmulatorMaker;
00095
00096 simL2Mk->setSetupPath("/star/institutions/mit/corliss/L2setup/");
00097 simL2Mk->setOutPath("./");
00098 }
00099 StTriggerSimuMaker* simuTrig = new StTriggerSimuMaker;
00100 simuTrig->setMC(true);
00101
00102 simuTrig->useBemc();
00103 simuTrig->useEemc();
00104 simuTrig->bemc->setConfig(StBemcTriggerSimu::kOffline);
00105 if (useL2) simuTrig->useL2(simL2Mk);
00106
00107
00108 StMCAsymMaker* asym = new StMCAsymMaker;
00109
00110
00111 StJetSkimEventMaker* skimEventMaker = new StJetSkimEventMaker("StJetSkimEventMaker",muDstMaker,skimfile);
00112 skimEventMaker->addSimuTrigger(240530);
00113 skimEventMaker->addSimuTrigger(240652);
00114 skimEventMaker->addSimuTrigger(240411);
00115
00116 chain->Init();
00117 chain->EventLoop(nevents);
00118 }