// Checks existence of histograms which might have been left
// from the previous runs to continue their filling.
// Histogram names: module_iX_iZ_gain for TH2 and module_iX_iZ for TH1.
- // Root file name: PHOS_ModuleX_Calib.root, where X - module number.
+ // Root file name: PHOS_ModuleX_RCUY_Calib.root, where X - module number,
+ // Y - RCU number. If no RCU specified (rcu<0), file name is simply
+ // PHOS_ModuleX_Calib.root.
char name[128];
- sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
+ if(rcu<0) sprintf(name,"PHOS_Module%d_Calib",fMod);
+ else sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
SetName(name);
SetTitle("Calibration Detector Algorithm");
fHistoFile = new TFile(rootname,"update");
fHistoArray.SetName("histo_container");
- TObjArray* objr = (TObjArray*)fHistoFile->Get(fHistoArray.GetName());
-
char hname[128];
TH1F* hist1=0;
TH2F* hist2=0;
for(Int_t iZ=0; iZ<56; iZ++) {
sprintf(hname,"%d_%d_%d",fMod,iX,iZ);
- if(objr)
- hist1 = (TH1F*)objr->FindObject(hname);
+ hist1 = (TH1F*)fHistoFile->Get(hname);
if(hist1) {
fHgLgRatio[iX][iZ] = hist1;
fHistoArray.Add(hist1);
for(Int_t iGain=0; iGain<2; iGain++) {
sprintf(hname,"%d_%d_%d_%d",fMod,iX,iZ,iGain);
- if(objr)
- hist2 = (TH2F*)objr->FindObject(hname);
+ hist2 = (TH2F*)fHistoFile->Get(hname);
if(hist2) {
fTimeEnergy[iX][iZ][iGain] = hist2;
fHistoArray.Add(hist2);
// By default the final histograms will not be saved to the root file.
char name[128];
- sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
+ if(rcu<0) sprintf(name,"PHOS_Module%d_Calib",fMod);
+ else sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
SetName(name);
SetTitle("Calibration Detector Algorithm");
if(!fHistoFile) return;
if(!fHistoFile->IsOpen()) return;
- fHistoArray.Write(fHistoArray.GetName(),TObject::kSingleKey);
+ fHistoArray.Write();
fHistoFile->Purge();
}