void Macro(int nEvents = 1e5, const char* filelist = "test.list", const char* nametag = "test", int nFiles = 8 ) { gROOT->Macro("LoadLogger.C"); gROOT->Macro("loadMuDst.C"); gSystem->Load("StarMagField.so"); gSystem->Load("StMagF"); gSystem->Load("StDetectorDbMaker"); gSystem->Load("StTpcDb"); gSystem->Load("St_db_Maker"); gSystem->Load("StDbUtilities"); gSystem->Load("StMcEvent"); gSystem->Load("StMcEventMaker"); gSystem->Load("StDaqLib"); gSystem->Load("StEmcRawMaker"); gSystem->Load("StEmcADCtoEMaker"); gSystem->Load("StEpcMaker"); gSystem->Load("StTriggerUtilities"); gSystem->Load("StDbBroker"); gSystem->Load("libgeometry_Tables"); gSystem->Load("StEEmcUtil"); gSystem->Load("StEEmcDbMaker"); gSystem->Load("StPreEclMaker"); gSystem->Load("StEpcMaker"); gSystem->Load("libTStarJetPico.so"); gSystem->Load("JetPicoMaker"); StChain* chain = new StChain("StChain"); // MuDst maker StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,"",filelist,"",nFiles); // star database St_db_Maker *dbMaker = new St_db_Maker("StarDb","MySQL:StarDb"); // Endcap database StEEmcDbMaker* eemcb = new StEEmcDbMaker("eemcDb"); // Barrel ADC to energy maker StEmcADCtoEMaker *adc = new StEmcADCtoEMaker(); StPreEclMaker *pre_ecl = new StPreEclMaker(); StEpcMaker *epc = new StEpcMaker(); //get control table so we can turn off BPRS zero-suppression and save hits from "bad" caps controlADCtoE_st* control_table = adc->getControlTable(); control_table->CutOff[1] = -1; control_table->CutOffType[1] = 0; control_table->DeductPedestal[1] = 2; adc->saveAllStEvent(kTRUE); StTriggerSimuMaker* trigsim = new StTriggerSimuMaker(); trigsim->setMC(false); trigsim->useBemc(); trigsim->useEemc(); //trigsim->useBbc(); trigsim->useOnlineDB(); trigsim->bemc->setConfig(StBemcTriggerSimu::kOnline); StMuJetAnalysisTreeMaker *ana = new StMuJetAnalysisTreeMaker; ana->SetVerbose(10); ana->setRootFile(Form("pAu15Pico_%s.root",nametag)); ana->SetFlagData(12); //For pAu Y15 ana->GetV0Cuts()->SetStandardCutspp(); ana->SetDoV0s(kFALSE); //TString outfile(name); //StEmcOfflineCalibrationMaker* bemcCalibMaker = new StEmcOfflineCalibrationMaker("bemcCalibMaker",outfile.Data()); StMemStat memory; memory.PrintMem(NULL); chain->Init(); cout<<"chain initialized"<<endl; TStopwatch total; TStopwatch timer; int i=0; while(i<nEvents && chain->Make()==kStOk) { if(i % 100000 == 0){ cout<<"done with event "<<i; cout<<"\tcpu: "<<timer.CpuTime()<<"\treal: "<<timer.RealTime()<<"\tratio: "<<timer.CpuTime()/timer.RealTime();//<<endl; timer.Start(); memory.PrintMem(NULL); } i++; chain->Clear(); } chain->ls(3); chain->Finish(); printf("my macro processed %i events in %s",i,nametag); cout<<"\tcpu: "<<total.CpuTime()<<"\treal: "<<total.RealTime()<<"\tratio: "<<total.CpuTime()/total.RealTime()<<endl; cout << endl; cout << "-------------" << endl; cout << "(-: Done :-) " << endl; cout << "-------------" << endl; cout << endl; }
void RunJetFinder2012pro(int nevents = 1000000, const char* indir = "~zchang/2013-08-trgsimu/MuDst/", const char* MuDst = "st_physics_13109014_raw_1020001.MuDst.root", //const char* outdir ="~/data05/Run12Jets/", const char* Jetfile = "st_physics_13109014_raw_1020001.jets.root", const char* Uefile = "st_physics_13109014_raw_1020001.ueoc.root", const char *Uefile_Region = "st_physics_13109014_raw_1020001.uereg.root", const char* Skimfile = "st_physics_13109014_raw_1020001.skim.root" //, bool useL2 = false ) { cout<<"MuDst file is "<<MuDst<<endl; cout<<"JetTree file is "<<Jetfile<<endl; cout<<"SkimTree file is "<<Skimfile<<endl; gROOT->Macro("loadMuDst.C"); gROOT->Macro("LoadLogger.C"); gSystem->Load("StDetectorDbMaker"); gSystem->Load("StTpcDb"); gSystem->Load("StDbUtilities"); gSystem->Load("StMcEvent"); gSystem->Load("StMcEventMaker"); gSystem->Load("StDaqLib"); gSystem->Load("StEmcRawMaker"); gSystem->Load("StEmcADCtoEMaker"); gSystem->Load("StEmcSimulatorMaker"); gSystem->Load("StDbBroker"); gSystem->Load("St_db_Maker"); gSystem->Load("StEEmcUtil"); gSystem->Load("StEEmcDbMaker"); gSystem->Load("StSpinDbMaker"); gSystem->Load("StEmcTriggerMaker"); gSystem->Load("StTriggerUtilities"); gSystem->Load("StMCAsymMaker"); gSystem->Load("StRandomSelector"); gSystem->Load("libfastjet.so"); // gSystem->Load("libCDFConesPlugin.so"); // gSystem->Load("libEECambridgePlugin.so"); // gSystem->Load("libJadePlugin.so"); // gSystem->Load("libNestedDefsPlugin.so"); // gSystem->Load("libSISConePlugin.so"); gSystem->Load("libfastjet.so"); gSystem->Load("libsiscone.so"); gSystem->Load("libsiscone_spherical.so"); gSystem->Load("libfastjetplugins.so"); gSystem->Load("StJetFinder"); gSystem->Load("StJetSkimEvent"); gSystem->Load("StJets"); gSystem->Load("StJetEvent"); gSystem->Load("StUeEvent"); gSystem->Load("StJetMaker"); gSystem->Load("StTriggerFilterMaker"); StChain *chain = new StChain; StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,indir, MuDst,"",1000); StMuDbReader* muDstDb = StMuDbReader::instance(); StTriggerFilterMaker* filterMaker = new StTriggerFilterMaker; //JP0 filterMaker->addTrigger(380401); //JP1 filterMaker->addTrigger(380402); //JP2 filterMaker->addTrigger(380403); //AJP filterMaker->addTrigger(380404); //JP2*L2JetHigh //filterMaker->addTrigger(380405); //BHT2*BJP1 //filterMaker->addTrigger(380205); //BHT2*BJP1*L2Bgamma //filterMaker->addTrigger(380208); //EHT0*EJP1*L2Egamma //filterMaker->addTrigger(380304); //BHT3*L2BW //filterMaker->addTrigger(380209); //filterMaker->addTrigger(380219); //EHT1*L2EW //filterMaker->addTrigger(380305); St_db_Maker* starDb = new St_db_Maker("StarDb","MySQL:StarDb"); StEEmcDbMaker* eemcDb = new StEEmcDbMaker; StSpinDbMaker* spinDb = new StSpinDbMaker; StEmcADCtoEMaker* adc = new StEmcADCtoEMaker; adc->saveAllStEvent(true); StTriggerSimuMaker* simuTrig = new StTriggerSimuMaker; simuTrig->useOnlineDB(); simuTrig->setMC(false); simuTrig->askTrigger("JP0"); simuTrig->askTrigger("JP1"); simuTrig->askTrigger("JP2"); simuTrig->askTrigger("AJP"); // simuTrig->emc->defineTrigger2012(13,"JP0",380401,0x8000); // simuTrig->emc->defineTrigger2012(14,"JP1",380402,0x0040); // simuTrig->emc->defineTrigger2012(15,"JP2",380403,0x0080); // simuTrig->emc->defineTrigger2012(16,"AJP",380404,0x1000); simuTrig->useBbc(); simuTrig->useBemc(); simuTrig->useEemc(); simuTrig->bemc->setConfig(StBemcTriggerSimu::kOffline); StJetMaker2012* jetmaker = new StJetMaker2012; jetmaker->setJetFile(Jetfile); jetmaker->setJetFileUe(Uefile); StJetSkimEventMaker* skimEventMaker = new StJetSkimEventMaker("StJetSkimEventMaker", muDstMaker, Skimfile); StAnaPars* anapars12 = new StAnaPars; anapars12->useTpc = true; anapars12->useBemc = true; anapars12->useEemc = true; // The classes available for correcting tower energy for tracks are: // 1. StjTowerEnergyCorrectionForTracksMip // 2. StjTowerEnergyCorrectionForTracksFraction // 3. StjTowerEnergyCorrectionForTracksNull (default: no correction) anapars12->setTowerEnergyCorrection(new StjTowerEnergyCorrectionForTracksFraction(1.00)); anapars12->addTpcCut(new StjTrackCutFlag(0)); anapars12->addTpcCut(new StjTrackCutNHits(12)); anapars12->addTpcCut(new StjTrackCutPossibleHitRatio(0.51)); anapars12->addTpcCut(new StjTrackCutDca(3)); //DcaD pT dependent cut for pp200 run9 // anapars12->addTpcCut(new StjTrackCutDcaPtDependent); //DcaT pT dependent cut for pp500 run11, run12 anapars12->addTpcCut(new StjTrackCutTdcaPtDependent); //Don't Need Chi2 cut for Run12 either //anapars12->addTpcCut(new StjTrackCutChi2(0,4)); anapars12->addTpcCut(new StjTrackCutPt(0.2,200)); anapars12->addTpcCut(new StjTrackCutEta(-2.5,2.5)); anapars12->addTpcCut(new StjTrackCutLastPoint(125)); // BEMC cuts anapars12->addBemcCut(new StjTowerEnergyCutBemcStatus(1)); anapars12->addBemcCut(new StjTowerEnergyCutAdc(4,3)); // ADC-ped>4 AND ADC-ped>3*RMS anapars12->addBemcCut(new StjTowerEnergyCutEt(0.2)); // EEMC cuts anapars12->addEemcCut(new StjTowerEnergyCutBemcStatus(1)); anapars12->addEemcCut(new StjTowerEnergyCutAdc(4,3)); // ADC-ped>4 AND ADC-ped>3*RMS anapars12->addEemcCut(new StjTowerEnergyCutEt(0.2)); // Jet cuts anapars12->addJetCut(new StProtoJetCutPt(5,200)); anapars12->addJetCut(new StProtoJetCutEta(-100,100)); // Jet Area StFastJetAreaPars *JetAreaPars = new StFastJetAreaPars; //Anti-kT R=0.6 for run12 jet finding // Set anti-kt R=0.6 parameters StFastJetPars* AntiKtR060Pars = new StFastJetPars; AntiKtR060Pars->setJetAlgorithm(StFastJetPars::antikt_algorithm); AntiKtR060Pars->setRparam(0.6); AntiKtR060Pars->setRecombinationScheme(StFastJetPars::E_scheme); AntiKtR060Pars->setStrategy(StFastJetPars::Best); AntiKtR060Pars->setPtMin(5.0); AntiKtR060Pars->setJetArea(JetAreaPars); //Anti-kT R=0.5 for run12 jet finding // Set anti-kt R=0.5 parameters StFastJetPars* AntiKtR050Pars = new StFastJetPars; AntiKtR050Pars->setJetAlgorithm(StFastJetPars::antikt_algorithm); AntiKtR050Pars->setRparam(0.5); AntiKtR050Pars->setRecombinationScheme(StFastJetPars::E_scheme); AntiKtR050Pars->setStrategy(StFastJetPars::Best); AntiKtR050Pars->setPtMin(5.0); AntiKtR050Pars->setJetArea(JetAreaPars); // jetmaker->addBranch("CdfMidpointR070NHits12",anapars12,CdfMidpointR070Pars); // jetmaker->addBranch("CdfMidpointR070NHits5",anapars5,CdfMidpointR070Pars); // jetmaker->addBranch("CdfMidpointR070EMC",anaparsEMC,CdfMidpointR070Pars); jetmaker->addBranch("AntiKtR060NHits12",anapars12,AntiKtR060Pars); // jetmaker->addBranch("AntiKtR060NHits5",anapars5,AntiKtR060Pars); // jetmaker->addBranch("AntiKtR060EMC",anaparsEMC,AntiKtR060Pars); jetmaker->addBranch("AntiKtR050NHits12",anapars12,AntiKtR050Pars); // jetmaker->addBranch("AntiKtR050NHits5",anapars5,AntiKtR050Pars); // jetmaker->addBranch("AntiKtR050EMC",anaparsEMC,AntiKtR050Pars); StOffAxisConesPars *off050 = new StOffAxisConesPars(0.5); StOffAxisConesPars *off060 = new StOffAxisConesPars(0.6); jetmaker->addUeBranch("OffAxisConesR050", off050); jetmaker->addUeBranch("OffAxisConesR060", off060); // Run chain->Init(); chain->EventLoop(nevents); }
void RunJetFinder2009pro_ue(int nevents = 1E3, const char* mudstfile = "/star/institutions/uky/gdwebb/UE_histos/st_physics_10103041_raw_8030001.MuDst.root", const char* jetfile = "jets_copy.root", const char* skimfile = "skim_copy.root", const char* uefile = "ueTree_copy.root", int mEmbed = 0, int mPythia = 0, bool useL2 = false) { cout << "nevents = " << nevents << endl; cout << "mudstfile = " << mudstfile << endl; cout << "jetfile = " << jetfile << endl; cout << "skimfile = " << skimfile << endl; cout << "uefile = " << uefile << endl; gROOT->Macro("loadMuDst.C"); gROOT->Macro("LoadLogger.C"); gSystem->Load("StDetectorDbMaker"); gSystem->Load("StTpcDb"); gSystem->Load("StDbUtilities"); gSystem->Load("StMcEvent"); gSystem->Load("StMcEventMaker"); gSystem->Load("StDaqLib"); gSystem->Load("StEmcRawMaker"); gSystem->Load("StEmcADCtoEMaker"); gSystem->Load("StEpcMaker"); gSystem->Load("StEmcSimulatorMaker"); gSystem->Load("StDbBroker"); gSystem->Load("St_db_Maker"); gSystem->Load("StEEmcUtil"); gSystem->Load("StEEmcDbMaker"); gSystem->Load("StSpinDbMaker"); gSystem->Load("StEmcTriggerMaker"); gSystem->Load("StTriggerUtilities"); gSystem->Load("StMCAsymMaker"); gSystem->Load("StRandomSelector"); gSystem->Load("libfastjet.so"); gSystem->Load("libsiscone.so"); gSystem->Load("libsiscone_spherical.so"); gSystem->Load("libfastjetplugins.so"); // gSystem->Load("libfastjet.so"); // gSystem->Load("libCDFConesPlugin.so"); // gSystem->Load("libEECambridgePlugin.so"); // gSystem->Load("libJadePlugin.so"); // gSystem->Load("libNestedDefsPlugin.so"); // gSystem->Load("libSISConePlugin.so"); gSystem->Load("StJetFinder"); gSystem->Load("StJetSkimEvent"); gSystem->Load("StJets"); gSystem->Load("StJetEvent"); gSystem->Load("StUeEvent"); gSystem->Load("StJetMaker"); gSystem->Load("StTriggerFilterMaker"); StChain* chain = new StChain; // MuDst reader StMuDstMaker* muDstMaker = new StMuDstMaker(0,0,"",mudstfile,"",100000,"MuDst"); // MuDst DB StMuDbReader* muDstDb = StMuDbReader::instance(); // Trigger filter StTriggerFilterMaker* filterMaker = new StTriggerFilterMaker; // 2009 pp500 filterMaker->addTrigger(230410); // JP1 filterMaker->addTrigger(230411); // JP2 filterMaker->addTrigger(230420); // AJP filterMaker->addTrigger(230531); // BHT3 // star database St_db_Maker* starDb = new St_db_Maker("StarDb","MySQL:StarDb"); // Endcap database StEEmcDbMaker* eemcDb = new StEEmcDbMaker; // Spin database StSpinDbMaker* spinDb = new StSpinDbMaker; // Barrel ADC to energy maker StEmcADCtoEMaker* adc = new StEmcADCtoEMaker; adc->saveAllStEvent(true); // Trigger simulator StTriggerSimuMaker* simuTrig = new StTriggerSimuMaker; simuTrig->useOnlineDB(); // for trigger definitions and thresholds simuTrig->setMC(false); // Must be before individual detectors, to be passed simuTrig->useBemc(); simuTrig->useEemc(); simuTrig->bemc->setConfig(StBemcTriggerSimu::kOffline); // L2 (only L2btowCalib, L2etowCalib, L2ped, L2jet in CVS as of 17 April 2010) if (useL2) { StL2_2009EmulatorMaker* simL2Mk = new StL2_2009EmulatorMaker; assert(simL2Mk); simL2Mk->setSetupPath("/star/u/pibero/public/StarTrigSimuSetup/"); simL2Mk->setOutPath("./"); simuTrig->useL2(simL2Mk); } // Skim event maker StJetSkimEventMaker* skimEventMaker = new StJetSkimEventMaker("StJetSkimEventMaker",muDstMaker,skimfile); // Jet maker StJetMaker2009* jetmaker = new StJetMaker2009; jetmaker->setJetFile(jetfile); // UE maker StUEMaker2009* uemaker = new StUEMaker2009; uemaker->setUeFile(uefile); // Set analysis cuts for 12-point branch StAnaPars* anapars12 = new StAnaPars; anapars12->useTpc = true; anapars12->useBemc = true; anapars12->useEemc = false; // The classes available for correcting tower energy for tracks are: // 1. StjTowerEnergyCorrectionForTracksMip // 2. StjTowerEnergyCorrectionForTracksFraction // 3. StjTowerEnergyCorrectionForTracksNull (default: no correction) anapars12->setTowerEnergyCorrection(new StjTowerEnergyCorrectionForTracksFraction(1.00)); // // 1. StjTrackPtFraction // 2. StjTowerEnergyFraction // The input parameter is the fraction which you want to increase or decrease the track/tower pT/energy. // i.e. If you want to decrease the track pT by 5%, you should put in -0.05 as the input parameter for StjTrackPtFraction // anapars12->setTrackShift(new StjTrackPtFraction(-0.05)); // anapars12->setTowerShift(new StjTowerEnergyFraction(-0.05)); // TPC cuts anapars12->addTpcCut(new StjTrackCutFlag(0)); anapars12->addTpcCut(new StjTrackCutNHits(12)); anapars12->addTpcCut(new StjTrackCutPossibleHitRatio(0.51)); anapars12->addTpcCut(new StjTrackCutDca(3)); anapars12->addTpcCut(new StjTrackCutTdcaPtDependent); anapars12->addTpcCut(new StjTrackCutPt(0.2,200)); anapars12->addTpcCut(new StjTrackCutEta(-2.5,2.5)); anapars12->addTpcCut(new StjTrackCutLastPoint(125)); // BEMC cuts anapars12->addBemcCut(new StjTowerEnergyCutBemcStatus(1)); anapars12->addBemcCut(new StjTowerEnergyCutAdc(4,3)); // ADC-ped>4 AND ADC-ped>3*RMS anapars12->addBemcCut(new StjTowerEnergyCutEt(0.2)); // EEMC cuts anapars12->addEemcCut(new StjTowerEnergyCutBemcStatus(1)); anapars12->addEemcCut(new StjTowerEnergyCutAdc(4,3)); // ADC-ped>4 AND ADC-ped>3*RMS anapars12->addEemcCut(new StjTowerEnergyCutEt(0.2)); // Jet cuts anapars12->addJetCut(new StProtoJetCutPt(5,200)); anapars12->addJetCut(new StProtoJetCutEta(-100,100)); //---------Region Criteria--------- anapars12_toward = anapars12; // Toward Region for Tracks and Towers anapars12_toward->setTrackRegion(new StjTrackRegion(60.0,-60.0,1.0)); anapars12_toward->setTowerRegion(new StjTowerRegion(60.0,-60.0,1.0)); anapars12_away = anapars12; // Away Region for Tracks and Towers anapars12_away->setTrackRegion(new StjTrackRegion(120.0,-120.0,1.0)); anapars12_away->setTowerRegion(new StjTowerRegion(120.0,-120.0,1.0)); anapars12_transPlus = anapars12; // Trans Plus for Tracks and Towers anapars12_transPlus->setTrackRegion(new StjTrackRegion(120.0,60.0,1.0)); anapars12_transPlus->setTowerRegion(new StjTowerRegion(120.0,60.0,1.0)); anapars12_transMinus = anapars12; // Trans Minus for Tracks and Towers anapars12_transMinus->setTrackRegion(new StjTrackRegion(-60.0,-120.0,1.0)); anapars12_transMinus->setTowerRegion(new StjTowerRegion(-60.0,-120.0,1.0)); //--------------------------------- //Jet Area StFastJetAreaPars *JetAreaPars = new StFastJetAreaPars; JetAreaPars->setGhostArea(0.04); // Set anti-kt R=0.6 parameters StFastJetPars* AntiKtR060Pars = new StFastJetPars; AntiKtR060Pars->setJetAlgorithm(StFastJetPars::antikt_algorithm); AntiKtR060Pars->setRparam(0.6); AntiKtR060Pars->setRecombinationScheme(StFastJetPars::E_scheme); AntiKtR060Pars->setStrategy(StFastJetPars::Best); AntiKtR060Pars->setPtMin(5.0); AntiKtR060Pars->setJetArea(JetAreaPars); // Set anti-kt R=0.4 parameters StFastJetPars* AntiKtR040Pars = new StFastJetPars; AntiKtR040Pars->setJetAlgorithm(StFastJetPars::antikt_algorithm); AntiKtR040Pars->setRparam(0.4); AntiKtR040Pars->setRecombinationScheme(StFastJetPars::E_scheme); AntiKtR040Pars->setStrategy(StFastJetPars::Best); AntiKtR040Pars->setPtMin(5.0); AntiKtR040Pars->setJetArea(JetAreaPars); // Set anti-kt R=0.5 parameters StFastJetPars* AntiKtR050Pars = new StFastJetPars; AntiKtR050Pars->setJetAlgorithm(StFastJetPars::antikt_algorithm); AntiKtR050Pars->setRparam(0.5); AntiKtR050Pars->setRecombinationScheme(StFastJetPars::E_scheme); AntiKtR050Pars->setStrategy(StFastJetPars::Best); AntiKtR050Pars->setPtMin(5.0); AntiKtR050Pars->setJetArea(JetAreaPars); jetmaker->addBranch("AntiKtR060NHits12",anapars12,AntiKtR060Pars); jetmaker->addBranch("AntiKtR040NHits12",anapars12,AntiKtR040Pars); jetmaker->addBranch("AntiKtR050NHits12",anapars12,AntiKtR050Pars); uemaker->addBranch("toward",anapars12_toward,"AntiKtR060NHits12"); uemaker->addBranch("away",anapars12_away,"AntiKtR060NHits12"); uemaker->addBranch("transP",anapars12_transPlus,"AntiKtR060NHits12"); uemaker->addBranch("transM",anapars12_transMinus,"AntiKtR060NHits12"); // Run chain->Init(); chain->EventLoop(nevents); }