00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 void RunFastJet(int nevents = 1e6,
00018 const char* mudstfile = "root://xrdstar.rcf.bnl.gov:1095//home/starlib/home/starreco/reco/production2009_200Gev_Single/ReversedFullField/P10ic/2009/143/10143008/st_physics_10143008_raw_6020001.MuDst.root",
00019 const char* jetfile = "jets.root",
00020 const char* skimfile = "skim.root",
00021 bool useL2 = false)
00022 {
00023 cout << "Read MuDst file:\t" << mudstfile << endl;
00024 cout << "Write jet file:\t" << jetfile << endl;
00025 cout << "Write skim file:\t" << skimfile << endl;
00026
00027 gROOT->Macro("loadMuDst.C");
00028 gROOT->Macro("LoadLogger.C");
00029
00030 gSystem->Load("StDetectorDbMaker");
00031 gSystem->Load("StTpcDb");
00032 gSystem->Load("StDbUtilities");
00033 gSystem->Load("StMcEvent");
00034 gSystem->Load("StMcEventMaker");
00035 gSystem->Load("StDaqLib");
00036 gSystem->Load("StEmcRawMaker");
00037 gSystem->Load("StEmcADCtoEMaker");
00038 gSystem->Load("StEpcMaker");
00039 gSystem->Load("StEmcSimulatorMaker");
00040 gSystem->Load("StDbBroker");
00041 gSystem->Load("St_db_Maker");
00042 gSystem->Load("StEEmcUtil");
00043 gSystem->Load("StEEmcDbMaker");
00044 gSystem->Load("StSpinDbMaker");
00045 gSystem->Load("StEmcTriggerMaker");
00046 gSystem->Load("StTriggerUtilities");
00047 gSystem->Load("StMCAsymMaker");
00048 gSystem->Load("StRandomSelector");
00049 gSystem->Load("libfastjet.so");
00050 gSystem->Load("libCDFConesPlugin.so");
00051 gSystem->Load("libEECambridgePlugin.so");
00052 gSystem->Load("libJadePlugin.so");
00053 gSystem->Load("libNestedDefsPlugin.so");
00054 gSystem->Load("libSISConePlugin.so");
00055 gSystem->Load("StJetFinder");
00056 gSystem->Load("StJetSkimEvent");
00057 gSystem->Load("StJets");
00058 gSystem->Load("StJetEvent");
00059 gSystem->Load("StJetMaker");
00060 gSystem->Load("StTriggerFilterMaker");
00061
00062
00063 StChain* chain = new StChain;
00064
00065
00066 StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,"",mudstfile,"",100000,"MuDst");
00067
00068
00069 StMuDbReader* muDstDb = StMuDbReader::instance();
00070
00071
00072 StTriggerFilterMaker* filterMaker = new StTriggerFilterMaker;
00073
00074
00075 filterMaker->addTrigger(230410);
00076 filterMaker->addTrigger(230411);
00077 filterMaker->addTrigger(230420);
00078 filterMaker->addTrigger(230531);
00079
00080
00081
00082
00083 filterMaker->addTrigger(240650);
00084 filterMaker->addTrigger(240651);
00085 filterMaker->addTrigger(240652);
00086
00087 filterMaker->addTrigger(240410);
00088 filterMaker->addTrigger(240411);
00089
00090 filterMaker->addTrigger(240620);
00091
00092 filterMaker->addTrigger(240630);
00093 filterMaker->addTrigger(240631);
00094
00095 filterMaker->addTrigger(240530);
00096
00097 filterMaker->addTrigger(240013);
00098 filterMaker->addTrigger(240113);
00099 filterMaker->addTrigger(240123);
00100 filterMaker->addTrigger(240223);
00101
00102 filterMaker->addTrigger(240014);
00103 filterMaker->addTrigger(240114);
00104 filterMaker->addTrigger(240124);
00105 filterMaker->addTrigger(240224);
00106
00107
00108 St_db_Maker* starDb = new St_db_Maker("StarDb","MySQL:StarDb");
00109
00110
00111 StEEmcDbMaker* eemcDb = new StEEmcDbMaker;
00112
00113
00114 StSpinDbMaker* spinDb = new StSpinDbMaker;
00115
00116
00117 StEmcADCtoEMaker* adc = new StEmcADCtoEMaker;
00118 adc->saveAllStEvent(true);
00119
00120
00121 StTriggerSimuMaker* simuTrig = new StTriggerSimuMaker;
00122 simuTrig->setMC(false);
00123
00124
00125 simuTrig->useBemc();
00126 simuTrig->useEemc();
00127 simuTrig->bemc->setConfig(StBemcTriggerSimu::kOffline);
00128
00129
00130 if (useL2) {
00131 StL2_2009EmulatorMaker* simL2Mk = new StL2_2009EmulatorMaker;
00132 assert(simL2Mk);
00133 simL2Mk->setSetupPath("/star/u/pibero/public/StarTrigSimuSetup/");
00134 simL2Mk->setOutPath("./");
00135 simuTrig->useL2(simL2Mk);
00136 }
00137
00138
00139 StJetSkimEventMaker* skimEventMaker = new StJetSkimEventMaker("StJetSkimEventMaker",muDstMaker,skimfile);
00140
00141
00142 StJetMaker2009* jetmaker = new StJetMaker2009;
00143 jetmaker->setJetFile(jetfile);
00144
00145
00146 StAnaPars* anapars12 = new StAnaPars;
00147 anapars12->useTpc = true;
00148 anapars12->useBemc = true;
00149 anapars12->useEemc = true;
00150
00151
00152
00153
00154
00155 anapars12->setTowerEnergyCorrection(new StjTowerEnergyCorrectionForTracksFraction(1.00));
00156
00157
00158 anapars12->addTpcCut(new StjTrackCutFlag(0));
00159 anapars12->addTpcCut(new StjTrackCutNHits(12));
00160 anapars12->addTpcCut(new StjTrackCutPossibleHitRatio(0.51));
00161 anapars12->addTpcCut(new StjTrackCutDca(3));
00162 anapars12->addTpcCut(new StjTrackCutDcaPtDependent);
00163 anapars12->addTpcCut(new StjTrackCutChi2(0,4));
00164 anapars12->addTpcCut(new StjTrackCutPt(0.2,200));
00165 anapars12->addTpcCut(new StjTrackCutEta(-2.5,2.5));
00166 anapars12->addTpcCut(new StjTrackCutLastPoint(125));
00167
00168
00169 anapars12->addBemcCut(new StjTowerEnergyCutBemcStatus(1));
00170 anapars12->addBemcCut(new StjTowerEnergyCutAdc(4,3));
00171 anapars12->addBemcCut(new StjTowerEnergyCutEt(0.2));
00172
00173
00174 anapars12->addEemcCut(new StjTowerEnergyCutBemcStatus(1));
00175 anapars12->addEemcCut(new StjTowerEnergyCutAdc(4,3));
00176 anapars12->addEemcCut(new StjTowerEnergyCutEt(0.2));
00177
00178
00179 anapars12->addJetCut(new StProtoJetCutPt(5,200));
00180 anapars12->addJetCut(new StProtoJetCutEta(-100,100));
00181
00182
00183 StAnaPars* anapars5 = new StAnaPars;
00184 anapars5->useTpc = true;
00185 anapars5->useBemc = true;
00186 anapars5->useEemc = true;
00187
00188
00189
00190
00191
00192 anapars5->setTowerEnergyCorrection(new StjTowerEnergyCorrectionForTracksFraction(1.00));
00193
00194
00195 anapars5->addTpcCut(new StjTrackCutFlag(0));
00196 anapars5->addTpcCut(new StjTrackCutNHits(5));
00197 anapars5->addTpcCut(new StjTrackCutPossibleHitRatio(0.51));
00198 anapars5->addTpcCut(new StjTrackCutDca(3));
00199 anapars5->addTpcCut(new StjTrackCutDcaPtDependent);
00200 anapars5->addTpcCut(new StjTrackCutChi2(0,4));
00201 anapars5->addTpcCut(new StjTrackCutPt(0.2,200));
00202 anapars5->addTpcCut(new StjTrackCutEta(-2.5,2.5));
00203
00204
00205 anapars5->addBemcCut(new StjTowerEnergyCutBemcStatus(1));
00206 anapars5->addBemcCut(new StjTowerEnergyCutAdc(4,3));
00207 anapars5->addBemcCut(new StjTowerEnergyCutEt(0.2));
00208
00209
00210 anapars5->addEemcCut(new StjTowerEnergyCutBemcStatus(1));
00211 anapars5->addEemcCut(new StjTowerEnergyCutAdc(4,3));
00212 anapars5->addEemcCut(new StjTowerEnergyCutEt(0.2));
00213
00214
00215 anapars5->addJetCut(new StProtoJetCutPt(5,200));
00216 anapars5->addJetCut(new StProtoJetCutEta(0.8,2.5));
00217
00218
00219 StAnaPars* anaparsEMC = new StAnaPars;
00220 anaparsEMC->useTpc = true;
00221 anaparsEMC->useBemc = true;
00222 anaparsEMC->useEemc = true;
00223
00224
00225 anaparsEMC->addTpcCut(new StjTrackCutFlag(0));
00226 anaparsEMC->addTpcCut(new StjTrackCutNHits(1000000));
00227
00228
00229 anaparsEMC->addBemcCut(new StjTowerEnergyCutBemcStatus(1));
00230 anaparsEMC->addBemcCut(new StjTowerEnergyCutAdc(4,3));
00231 anaparsEMC->addBemcCut(new StjTowerEnergyCutEt(0.2));
00232
00233
00234 anaparsEMC->addEemcCut(new StjTowerEnergyCutBemcStatus(1));
00235 anaparsEMC->addEemcCut(new StjTowerEnergyCutAdc(4,3));
00236 anaparsEMC->addEemcCut(new StjTowerEnergyCutEt(0.2));
00237
00238
00239 anaparsEMC->addJetCut(new StProtoJetCutPt(5,200));
00240 anaparsEMC->addJetCut(new StProtoJetCutEta(-100,100));
00241
00242
00243 StConePars* conepars = new StConePars;
00244 conepars->setGridSpacing(105,-3.0,3.0,120,-TMath::Pi(),TMath::Pi());
00245 conepars->setSeedEtMin(0.5);
00246 conepars->setAssocEtMin(0.1);
00247 conepars->setSplitFraction(0.5);
00248 conepars->setPerformMinimization(true);
00249 conepars->setAddMidpoints(true);
00250 conepars->setRequireStableMidpoints(true);
00251 conepars->setDoSplitMerge(true);
00252 conepars->setDebug(false);
00253
00254
00255 StFastJetPars* fastpars = new StFastJetPars;
00256 fastpars->setJetAlgorithm(StFastJetPars::kt_algorithm);
00257 fastpars->setRparam(1.0);
00258 fastpars->setRecombinationScheme(StFastJetPars::E_scheme);
00259 fastpars->setStrategy(StFastJetPars::Best);
00260 fastpars->setPtMin(5.0);
00261
00262 jetmaker->addBranch("ConeJets12",anapars12,conepars);
00263 jetmaker->addBranch("ConeJets5",anapars5,conepars);
00264 jetmaker->addBranch("ConeJetsEMC",anaparsEMC,conepars);
00265 jetmaker->addBranch("FastJets12",anapars12,fastpars);
00266
00267 chain->Init();
00268 chain->EventLoop(nevents);
00269 }