16 void bfcMixer_TpcSvtSsd2005(
const Int_t Nevents=100,Int_t isSvtIn=1, Int_t isSsdIn=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 Double_t pt_low=0.1,
20 const Double_t pt_high=5.0,
21 const Double_t eta_low=-1.0,
22 const Double_t eta_high=1.0,
24 const Double_t mult = 0.1) {
26 TString prodP07ib(
"P2005b DbV20070518 MakeEvent ITTF Iana ToF spt SsdIt SvtIt pmdRaw SCEbyE OGridLeak OShortR OSpaceZ2 ssd_daq");
27 TString geomP07ib(
"ry2005f");
28 TString chain1Opt(
"in magF tpcDb NoDefault -ittf NoOutput");
29 TString chain2Opt(
"NoInput PrepEmbed gen_T geomT sim_T trs -ittf -tpc_daq nodefault");
30 chain2Opt +=
" "; chain2Opt += geomP07ib;
31 TString chain3Opt = prodP07ib;
32 chain3Opt +=
" TpcMixer Embedding onlraw GeantOut MiniMcMk McAna IdTruth -in NoInput,useInTracker EmbeddingShortCut";
33 if (isSvtIn) chain3Opt +=
" SvtEmbed";
35 chain1Opt +=
",ssddat";
36 chain2Opt +=
",ssd,McEvent,-spt";
37 chain3Opt +=
",SsdEmbed";
39 chain3Opt +=
" "; chain3Opt += geomP07ib;
41 gROOT->LoadMacro(
"bfc.C");
42 if (gClassTable->GetID(
"StBFChain") < 0)
Load();
44 Chain =
new StChain(
"Embedding");
46 bfc(-1,chain1Opt,daqfile);
48 chain1->SetName(
"One");
53 chain2->SetName(
"Two");
55 if (chain2->GetOption(
"TRS")){
58 cout <<
"Cannot find Trs in chain2" << endl;
61 trsMk->setNormalFactor(2.67);
67 TString OutputFileName(gSystem->BaseName(daqfile));
68 OutputFileName.ReplaceAll(
"*",
"");
69 OutputFileName.ReplaceAll(
".daq",
"");
71 OutputFileName.Append(
".root");
72 bfc(-1,chain3Opt,0,OutputFileName);
74 chain3->SetName(
"Three");
80 gMessMgr->QAInfo() << Form(
"Run is started at Date/Time %i/%i",t.GetDate(),t.GetTime()) << endm;
82 gMessMgr->QAInfo() << Form(
"Run on %s in %s",gSystem->HostName(),gSystem->WorkingDirectory()) << endm;
83 gMessMgr->QAInfo() << Form(
"with %s", Chain->GetCVS()) << endm;
87 embMk->SetTagFile(tagfile);
89 embMk->SetOpt( pt_low, pt_high, eta_low, eta_high, 0., 6.283185);
91 embMk->SetPartOpt( pid,mult);
93 Chain->SetAttr(
".Privilege",0,
"*" );
94 Chain->SetAttr(
".Privilege",1,
"StBFChain::*" );
95 Chain->SetAttr(
".Privilege",1,
"StIOInterFace::*" );
96 Chain->SetAttr(
".Privilege",1,
"St_geant_Maker::*");
97 Chain->SetAttr(
".Privilege",1,
"StPrepEmbedMaker::*");
98 StMaker *SsdEmbed = Chain->Maker(
"SsdEmbed");
100 cout <<
"SsdEmbed has been found ----------------------------------------" << endl;
101 SsdEmbed->SetInput(
"SsdRealData",
"One/.make/SpaStrip/.data/spa_strip");
102 SsdEmbed->SetInput(
"SsdSimuData",
"Two/.make/SpaStrip/.data/spa_strip");
103 StMaker *SsdPoint = Chain->Maker(
"SsdPoint");
105 cout <<
"SsdPoint has been found----------------------------------------" << endl;
106 SsdPoint->SetInput(
"SpaStrip",
"SsdEmbed");
110 if (Nevents < 0)
return;
111 Int_t iInit = Chain->Init();
112 if (iInit >=
kStEOF) {Chain->FatalErr(iInit,
"on init");
return;}
113 StMaker *treeMk = Chain->GetMaker(
"outputStream");
114 Chain->EventLoop(Nevents,treeMk);
115 gMessMgr->QAInfo() <<
"Run completed " << endm;
116 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.