+ // Get AliRun object from file or return if not on file
+ if (gAlice) {delete gAlice; gAlice = 0;}
+ gAlice = (AliRun*)file->Get("gAlice");
+ if (!gAlice) {
+ cerr << "AliRun object not found on file "<< FileName << "!" << endl;
+ file->Close(); // close file and return error.
+ return retfil;
+ } // end if !gAlice
+ return file;
+}
+//______________________________________________________________________
+void writeAR(TFile * fin, TFile *fou) {
+ TDirectory *current = gDirectory;
+ TTree *TeOld;
+ TTree *TeNew;
+ AliHeader *alhe = new AliHeader();
+ TeOld = (TTree*)fin->Get("TE");
+ TeOld->SetBranchAddress("Header",&alhe);
+ TeOld->SetBranchStatus("*",1);
+ fou->cd();
+ TeNew = TeOld->CloneTree();
+ TeNew->Write(0,TObject::kOverwrite);
+ gAlice->Write(0,TObject::kOverwrite);
+ current->cd();
+ delete alhe;
+#ifdef DEBUG
+ cout << "AliRun object written to file" << endl;
+#endif
+}
+//______________________________________________________________________
+Int_t ChangeITSDefaults(TFile *hitfile,AliITS *ITS,TString opt){