I am trying to loop over several TFiles, instead of using a TChain.
For instance
[code]void Histos(){
for(Int_t j = 0; j < 4; j++){
if(j == 0){
TFile f(“Histo_cur5nA_56869.root”,“recreate”);
TFile *f1 = new TFile("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/DATA/cur5nA_56869.root");
ifstream in1("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/GFlux/single56869_gflux5nA.dat");
}
if(j == 1){
TFile f(“Histo_cur15nA_56986.root”,“recreate”);
TFile *f1 = new TFile("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/DATA/cur15nA_56986.root");
ifstream in1("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/GFlux/single56986_gflux15nA.dat");
}
if(j == 2){
TFile f(“Histo_cur24nA_57129.root”,“recreate”);
TFile *f1 = new TFile("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/DATA/cur24nA_57129.root");
ifstream in1("/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/SINGLE_DATA/GFlux/single57129_gflux24nA.dat");
}
…
…
…
}//End of for loop
TTree t1 = (TTree)f1->Get(“lepTree”);
…
…
open in1
Analyze f1
Draw Histos in f
f1.Close();
in1.Close();
…
…
f.Write();
f.Close();
[/code]
When I do this, ROOT tells me f1, in1 and f are not initialized.
I have tried declaring then outside of loop as
Here is the Error I receive when attempting to do Renee’s suggestion
/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/NOT_SINGLE_DATA/HISTOS/./Histos.C:142: warning: ‘f1’ is used uninitialized in this function
/Volumes/Mac_Storage/Work_Data/YIELD/SINGLE_TRACK/NOT_SINGLE_DATA/HISTOS/./Histos.C:144: warning: ‘f’ is used uninitialized in this function