16 void bfcMixer_P07ic(
const Int_t Nevents=1,Int_t isSvtIn=1, Int_t isSsdIn=0,
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 if (isSvtIn) chain3Opt +=
" SvtEmbed";
32 chain3Opt +=
" "; chain3Opt += geomP07ib;
34 gROOT->LoadMacro(
"bfc.C");
35 if (gClassTable->GetID(
"StBFChain") < 0)
Load();
37 Chain =
new StChain(
"Embedding");
39 bfc(-1,chain1Opt,daqfile);
41 chain1->SetName(
"One");
46 chain2->SetName(
"Two");
48 if (chain2->GetOption(
"TRS")){
51 cout <<
"Cannot find Trs in chain2" << endl;
54 trsMk->setNormalFactor(2.67);
60 TString OutputFileName(gSystem->BaseName(daqfile));
61 OutputFileName.ReplaceAll(
"*",
"");
62 OutputFileName.ReplaceAll(
".daq",
"");
63 OutputFileName.Append(
"_emb.root");
64 bfc(-1,chain3Opt,0,OutputFileName);
66 chain3->SetName(
"Three");
72 gMessMgr->QAInfo() << Form(
"Run is started at Date/Time %i/%i",t.GetDate(),t.GetTime()) << endm;
74 gMessMgr->QAInfo() << Form(
"Run on %s in %s",gSystem->HostName(),gSystem->WorkingDirectory()) << endm;
75 gMessMgr->QAInfo() << Form(
"with %s", Chain->GetCVS()) << endm;
79 embMk->SetTagFile(tagfile);
81 embMk->SetOpt( 0.1, 5., -1.3, 1.3, 0., 6.28);
83 embMk->SetPartOpt( 8,0.05);
85 Chain->SetAttr(
".Privilege",0,
"*" );
86 Chain->SetAttr(
".Privilege",1,
"StBFChain::*" );
87 Chain->SetAttr(
".Privilege",1,
"StIOInterFace::*" );
88 Chain->SetAttr(
".Privilege",1,
"St_geant_Maker::*");
89 Chain->SetAttr(
".Privilege",1,
"StPrepEmbedMaker::*");
91 if (Nevents < 0)
return;
92 Int_t iInit = Chain->Init();
93 if (iInit >=
kStEOF) {Chain->FatalErr(iInit,
"on init");
return;}
94 StMaker *treeMk = Chain->GetMaker(
"outputStream");
95 Chain->EventLoop(Nevents,treeMk);
96 gMessMgr->QAInfo() <<
"Run completed " << endm;
97 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.