gpt4 book ai didi

c++ - 为 2 个不同的文件(输入和输出)运行相同的脚本 ???/ROOT/C++

转载 作者:行者123 更新时间:2023-11-30 05:13:51 24 4
gpt4 key购买 nike

我有一个脚本可以读取一棵树并创建一些图。

我有两个文件需要运行,所以我需要为 file1file2 运行一次相同的脚本,分别将结果存储在不同的输出文件中时间。

我如何告诉我的程序每次运行什么文件以及将结果保存在哪里?

file1 是:flatTree_jetHT
outputfile1 是:flatTree_JetHT_output.root

file2 是:flatTree_jetHT2
outputfile2 是:flatTree_JetHT2_output.root

我需要只使用一个空白来写下它并告诉从终端运行哪个文件 (.x flatTree_jetHt_read.C)

这是我的代码:

#include <iostream>
void flatTree_jetHT_read()
{

gROOT->Reset();
gROOT->SetStyle("Plain");
gStyle->SetOptStat(1);
gStyle->SetOptFit(0);
gStyle->SetPadColor(0);
gStyle->SetPalette(1);

TFile *f = TFile::Open("flatTree_JetHT.root", "READ");
TTree *tree = (TTree*)f->Get("boosted/events");
TFile *outf = TFile::Open("flatTree_JetHT_output.root", "RECREATE");
//more code....
}

最佳答案

您是否尝试过将输入/输出作为函数的参数传递? (请参阅用户指南的 Getting Started 部分)。

void two_args(const char* input_file, const char* output_file)
{
printf("Input: '%s'\n", input_file);
printf("Output: '%s'\n", output_file);
}

然后运行为

$ root -l -x -q '/tmp/two_args.C+("in.root", "out.root")'

关于c++ - 为 2 个不同的文件(输入和输出)运行相同的脚本 ???/ROOT/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43727275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com