本文整理汇总了C++中StIOMaker::Make方法的典型用法代码示例。如果您正苦于以下问题:C++ StIOMaker::Make方法的具体用法?C++ StIOMaker::Make怎么用?C++ StIOMaker::Make使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StIOMaker
的用法示例。
在下文中一共展示了StIOMaker::Make方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bfcread_hist_extract
void bfcread_hist_extract(
const Char_t *MainFile=
"/afs/rhic.bnl.gov/star/data/samples/gstar.hist.root",
const Char_t *MakerHistDir="EventQA",
const Char_t *TopDirTree="bfcTree",
Char_t *OutFile=0,
const Char_t *PrintList="")
{
cout << "bfcread_hist_extract.C, input hist file = "
<< MainFile << endl;
cout << "bfcread_hist_extract.C, directory name for hist = "
<< MakerHistDir << endl;
cout << "bfcread_hist_extract.C, top level directory in hist file = "
<< TopDirTree << endl;
//
gSystem->Load("St_base");
gSystem->Load("StChain");
gSystem->Load("StIOMaker");
gSystem->Load("StarClassLibrary");
gSystem->Load("StUtilities");
gSystem->Load("StAnalysisUtilities");
gSystem->Load("libglobal_Tables");
// setup chain with IOMaker - can read in .dst.root, .dst.xdf files
StIOMaker *IOMk = new StIOMaker("IO","r",MainFile,TopDirTree);
IOMk->SetDebug();
IOMk->SetIOMode("r");
IOMk->SetBranch("*",0,"0"); //deactivate all branches
IOMk->SetBranch("histBranch",0,"r"); //activate dst Branch
// constructor for other maker (not used in chain)
StHistUtil *HU = new StHistUtil;
// now must set pointer to StMaker so HistUtil can find histograms
// with StHistUtil methods
// -- input any maker pointer but must cast as type StMaker
HU->SetPntrToMaker((StMaker *)IOMk);
// ONLY use StIOMaker in chain
// --- now execute chain member functions - 1 event (histograms) only
IOMk->Init();
IOMk->Clear();
IOMk->Make();
// method to print out list of histograms
// - can do this anytime after they're booked
// - default is to print out QA hist branch
Int_t NoHist=0;
//NoHist = HU->ListHists(MakerHistDir);
TList* dList = HU->FindHists(MakerHistDir);
if (PrintList) HU->SetDefaultPrintList(MakerHistDir,PrintList);
NoHist = HU->CopyHists(dList);
TH1** nh = HU->getNewHist();
TString name = MainFile;
if (!OutFile) {
name.Remove(0,name.Last('/')+1);
TString name2 = MakerHistDir;
name2.Remove(0,name2.Last('/')+1);
name.Insert(name.First('.'),"_");
name.Insert(name.First('.'),name2);
OutFile = name.Data();
}
cout << "Output hist file: " << OutFile << endl;
TFile* ofile = new TFile(OutFile,"RECREATE");
for (int i=0; i<NoHist; i++) {
printf("Extracting: %d. %s : %s\n",
i+1,nh[i]->GetName(),nh[i]->GetTitle());
nh[i]->Write();
}
ofile->Close();
}