00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 class StBFChain;
00018 StBFChain* chain = 0;
00019
00020 void bfcSpin(int nevents = 2000,
00021 const char* chainopt = "tpcrs fss y2009a IAna tpcI fcf ftpc Tree logger ITTF Sti VFPPV bbcSim tofsim tags emcY2 EEfs evout -dstout IdTruth geantout big fzin MiniMcMk clearmem eemcDb beamLine sdt20090628.053220",
00022 const char* fzfile = "/star/u/mattheww/vmstuff/filterprep/TriggerFilter/testC8__27721041.fzd")
00023 {
00024 gROOT->LoadMacro("bfc.C");
00025 bfc(-1,chainopt,fzfile);
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 StEmcSimulatorMaker* emcSim = (StEmcSimulatorMaker*)chain->GetMaker("EmcSimulator");
00038 emcSim->setCheckStatus(kBarrelEmcTowerId,false);
00039 emcSim->setMakeFullDetector(kBarrelEmcTowerId,true);
00040 emcSim->setDoZeroSuppression(kBarrelEmcTowerId,false);
00041
00042
00043 StEEmcFastMaker* eefs = dynamic_cast<StEEmcFastMaker*>(chain->GetMaker("eefs"));
00044 assert(eefs);
00045 eefs->UseFullTower(true);
00046
00047
00048
00049
00050
00051 chain->AddAfter("eefs",chain->GetMaker("tpcChain"));
00052
00053
00054
00055 gSystem->Load("StJetSkimEvent");
00056 gSystem->Load("StBfcTriggerFilterMaker");
00057
00058 StPythiaEventMaker* pythia = new StPythiaEventMaker;
00059 TString pyfile = gSystem->BaseName(fzfile);
00060 pyfile.ReplaceAll(".fzd",".pythia.root");
00061 pythia->SetPythiaFile(pyfile);
00062 chain->AddAfter("geant",pythia);
00063
00064
00065 gSystem->Load("StTriggerUtilities");
00066 StTriggerSimuMaker* trgsim = new StTriggerSimuMaker;
00067 trgsim->setMC(1);
00068
00069
00070
00071 trgsim->useBemc();
00072 trgsim->bemc->setConfig(StBemcTriggerSimu::kOffline);
00073 trgsim->useEemc();
00074 trgsim->eemc->setSource("StEvent");
00075
00076 StBfcTriggerFilterMaker* trgfilt = new StBfcTriggerFilterMaker;
00077
00078 trgfilt->SetJP1();
00079 trgfilt->SetAJP();
00080 trgfilt->SetBHT3();
00081
00082
00083
00084 trgfilt->changeJPThresh(-1);
00085 chain->AddAfter("eefs",trgfilt);
00086
00087 chain->AddAfter("eefs",trgsim);
00088
00089
00090 StEEmcSlowMaker* slowSim = new StEEmcSlowMaker;
00091 slowSim->setSource("StEvent");
00092 slowSim->setAddPed(true);
00093 slowSim->setSmearPed(true);
00094 chain->AddAfter("eefs",slowSim);
00095
00096
00097 int istat = chain->Init();
00098 if (istat) {
00099 cout << "Chain initialization failed" << endl;
00100 chain->Fatal(istat,"during Init()");
00101 }
00102
00103
00104 cout << "Order of makers in BFC:" << endl;
00105 StMaker::lsMakers(chain);
00106 chain->EventLoop(nevents);
00107 }