16 void bfcMixer_P07ib(
const Int_t Nevents=1,
17 const Char_t *daqfile=
"/star/rcf/test/daq/2005/051/st_physics_adc_6051006_raw_1050001.daq",
18 const Char_t *tagfile=
"/star/rcf/test/embedding/cuProductionMinBias/FullField/P07ic/2005/051/st_physics_adc_6051006_raw_1050001.tags.root",
19 const Float_t zvertex_low=-175.0,
20 const Float_t zvertex_high=175.0,
21 const Char_t *mode=
"strange",
22 const Char_t *acc_mode=
"off" ) {
24 TString prodP07ib(
"P2005b DbV20070518 MakeEvent ITTF Iana ToF ssddat spt SsdIt SvtIt pmdRaw SCEbyE OGridLeak OShortR OSpaceZ2");
25 TString geomP07ib(
"ry2005f");
26 TString chain1Opt(
"in magF tpcDb NoDefault -ittf NoOutput");
27 TString chain2Opt(
"NoInput PrepEmbed gen_T geomT sim_T trs -ittf -tpc_daq nodefault");
28 chain2Opt +=
" "; chain2Opt += geomP07ib;
29 TString chain3Opt = prodP07ib;
30 chain3Opt +=
" TpcMixer Embedding onlraw GeantOut MiniMcMk McAna -in NoInput,useInTracker,EmbeddingShortCut";
31 chain3Opt +=
" "; chain3Opt += geomP07ib;
33 gROOT->LoadMacro(
"bfc.C");
34 if (gClassTable->GetID(
"StBFChain") < 0)
Load();
36 Chain =
new StChain(
"Embedding");
38 bfc(-1,chain1Opt,daqfile);
40 chain1->SetName(
"One");
45 chain2->SetName(
"Two");
47 if (chain2->GetOption(
"TRS")){
50 cout <<
"Cannot find Trs in chain2" << endl;
53 trsMk->setNormalFactor(2.67);
59 TString OutputFileName(gSystem->BaseName(daqfile));
60 OutputFileName.ReplaceAll(
"*",
"");
61 OutputFileName.ReplaceAll(
".daq",
"");
62 OutputFileName.Append(
"_emb.root");
63 bfc(-1,chain3Opt,0,OutputFileName);
65 chain3->SetName(
"Three");
71 gMessMgr->QAInfo() << Form(
"Run is started at Date/Time %i/%i",t.GetDate(),t.GetTime()) << endm;
73 gMessMgr->QAInfo() << Form(
"Run on %s in %s",gSystem->HostName(),gSystem->WorkingDirectory()) << endm;
74 gMessMgr->QAInfo() << Form(
"with %s", Chain->GetCVS()) << endm;
78 embMk->SetTagFile(tagfile);
80 embMk->SetOpt( 0.1, 5., -1.3, 1.3, 0., 6.28);
82 embMk->SetPartOpt( 8,0.05);
84 Chain->SetAttr(
".Privilege",0,
"*" );
85 Chain->SetAttr(
".Privilege",1,
"StBFChain::*" );
86 Chain->SetAttr(
".Privilege",1,
"StIOInterFace::*" );
87 Chain->SetAttr(
".Privilege",1,
"St_geant_Maker::*");
88 Chain->SetAttr(
".Privilege",1,
"StPrepEmbedMaker::*");
90 if (Nevents < 0)
return;
91 Int_t iInit = Chain->Init();
92 if (iInit >=
kStEOF) {Chain->FatalErr(iInit,
"on init");
return;}
93 StMaker *treeMk = Chain->GetMaker(
"outputStream");
94 Chain->EventLoop(Nevents,treeMk);
95 gMessMgr->QAInfo() <<
"Run completed " << endm;
96 gSystem->Exec(
"date");
Prepare GEANT Maker with input from embedding settings and DAQ event.
virtual Int_t Load()
Routine handling library loading depending on chain options.