15int main(
int argc,
char** argv){
18 std::cout <<
"Two arguments required: path of ghep file AND path of gst file." << std::endl;
24 double this_auxdbl[500];
26 std::vector<std::string> * auxname =
new std::vector<std::string>();
28 TFile * f_ghep =
new TFile(argv[1],
"READ");
29 TFile * f_gst =
new TFile(argv[2],
"UPDATE");
31 TTree * ghep_meta = (TTree*) f_ghep->Get(
"meta");
32 genie::flux::GSimpleNtpMeta* meta_entry =
new genie::flux::GSimpleNtpMeta;
33 ghep_meta->SetBranchAddress(
"meta", &meta_entry);
34 ghep_meta->GetEntry(0);
36 TTree * gst = (TTree*) f_gst->Get(
"gst");
38 std::vector<TBranch*> * aux_branches =
new std::vector<TBranch*>();
40 for (
int i_aux_var = 0; i_aux_var< meta_entry->auxintname.size(); i_aux_var++){
41 aux_branches->push_back(gst->Branch(meta_entry->auxintname.at(i_aux_var).c_str(), &(this_auxint[i_aux_var]), (meta_entry->auxintname.at(i_aux_var)+
"/I").c_str()));
42 std::cout <<
"Added branch " << meta_entry->auxintname.at(i_aux_var) << std::endl;
45 for (
int i_aux_var = 0; i_aux_var< meta_entry->auxdblname.size(); i_aux_var++){
46 aux_branches->push_back(gst->Branch(meta_entry->auxdblname.at(i_aux_var).c_str(), &(this_auxdbl[i_aux_var]), (meta_entry->auxdblname.at(i_aux_var)+
"/D").c_str()));
47 std::cout <<
"Added branch " << meta_entry->auxdblname.at(i_aux_var) << std::endl;
50 TTree * ghep_gtree = (TTree*) f_ghep->Get(
"gtree");
51 genie::flux::GSimpleNtpAux* aux_entry =
new genie::flux::GSimpleNtpAux;
52 ghep_gtree->SetBranchAddress(
"aux", &aux_entry);
54 for (
int i_entry = 0; i_entry < ghep_gtree->GetEntries(); i_entry++){
57 ghep_gtree->GetEntry(i_entry);
59 for (
int i_auxint = 0; i_auxint < meta_entry->auxintname.size(); i_auxint++) this_auxint[i_auxint] = aux_entry->auxint.at(i_auxint);
60 for (
int i_auxdbl = 0; i_auxdbl < meta_entry->auxdblname.size(); i_auxdbl++) this_auxdbl[i_auxdbl] = aux_entry->auxdbl.at(i_auxdbl);
62 for (
int i_branch = 0; i_branch < aux_branches->size(); i_branch++) aux_branches->at(i_branch)->Fill();
66 std::cout <<
"Done copying auxiliary variables. Closing files." << std::endl;