Problem with Reading Root File

TH1F* TPCTOFEFFDeltapp = (TH1F*)(TPCTOFEfffile->FindObject(hEff;1)) ;
TH1F* TPCTOFEFFDeltamm = (TH1F*)(TPCTOFEfffile->FindObject(hEff;2)) ;
TH1F* TPCTOFEFFAverage = (TH1F*)(TPCTOFEfffile->FindObject(hEff;3)) ;

is not recommended. When writing those histogram, we recommend that you store them with a different name. The cycle are intended to be various ‘revision’ of the same object and are used mostly for reliability (i.e. the older version is usually preserved until at least the complete successful storing of the new revision and hence is not lost in case of sudden interruption during the storing of the newer cycle). Most of the utilities in the TDirectory/TFile classes assumes this usage (for example Purge will remove the lowest cycles from the file).
In particular GetObject assumes that if one of the cycle has already been read, it is the one need for subsequent calls. FindObjectAny on the other hand, let’s you override this behavior and will always give the cycle you requested (as the expense of reading it from the file each time you request it). And FindObject should only find object that are already loaded and does not support name with cycles.

Cheers,
Philippe.