// Y - RCU number. If no RCU specified (rcu<0), file name is simply
// PHOS_ModuleX_Calib.root.
- char name[128];
- if(rcu<0) sprintf(name,"PHOS_Module%d_Calib",fMod);
- else sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
- SetName(name);
+ char name[128]; TString sname;
+
+ if(rcu<0) {
+ sname="PHOS_Module%d_Calib";
+ snprintf(name,sname.Length(),sname.Data(),fMod);
+ }
+ else {
+ sname="PHOS_Module%d_RCU%d_Calib";
+ snprintf(name,sname.Length(),sname.Data(),fMod,fRCU);
+ }
+ SetName(name);
SetTitle("Calibration Detector Algorithm");
- char rootname[128];
- sprintf(rootname,"%s.root",GetName());
+ char rootname[128];
+ TString srootname="%s.root";
+ snprintf(rootname,srootname.Length(),srootname.Data(),GetName());
fHistoFile = new TFile(rootname,"update");
fHistoArray.SetName("histo_container");
char hname[128];
TH1F* hist1=0;
TH2F* hist2=0;
+ TString shname;
for(Int_t iX=0; iX<64; iX++) {
for(Int_t iZ=0; iZ<56; iZ++) {
+
+ shname = "%d_%d_%d";
+ snprintf(hname,shname.Length(),shname.Data(),fMod,iX,iZ);
- sprintf(hname,"%d_%d_%d",fMod,iX,iZ);
hist1 = (TH1F*)fHistoFile->Get(hname);
if(hist1) {
fHgLgRatio[iX][iZ] = hist1;
fHgLgRatio[iX][iZ] = 0;
for(Int_t iGain=0; iGain<2; iGain++) {
- sprintf(hname,"%d_%d_%d_%d",fMod,iX,iZ,iGain);
+
+ shname = "%d_%d_%d_%d";
+ snprintf(hname,shname.Length(),shname.Data(),fMod,iX,iZ,iGain);
+
hist2 = (TH2F*)fHistoFile->Get(hname);
if(hist2) {
fTimeEnergy[iX][iZ][iGain] = hist2;
// oldTimeEnergy is an array of histograms kept from the previous run.
// By default the final histograms will not be saved to the root file.
- char name[128];
- if(rcu<0) sprintf(name,"PHOS_Module%d_Calib",fMod);
- else sprintf(name,"PHOS_Module%d_RCU%d_Calib",fMod,fRCU);
- SetName(name);
+ char name[128]; TString sname;
+
+ if(rcu<0) {
+ sname="PHOS_Module%d_Calib";
+ snprintf(name,sname.Length(),sname.Data(),fMod);
+ }
+ else {
+ sname="PHOS_Module%d_RCU%d_Calib";
+ snprintf(name,sname.Length(),sname.Data(),fMod,fRCU);
+ }
+ SetName(name);
SetTitle("Calibration Detector Algorithm");
+
fHistoArray.SetName("histo_container");
char hname[128];
TH1F* hist1=0;
TH2F* hist2=0;
+ TString shname;
for(Int_t iX=0; iX<64; iX++) {
for(Int_t iZ=0; iZ<56; iZ++) {
- sprintf(hname,"%d_%d_%d",fMod,iX,iZ);
+ shname = "%d_%d_%d";
+ snprintf(hname,shname.Length(),shname.Data(),fMod,iX,iZ);
+
if(oldTimeEnergy)
hist1 = (TH1F*)oldTimeEnergy->FindObject(hname);
if(hist1) {
fHgLgRatio[iX][iZ] = 0;
for(Int_t iGain=0; iGain<2; iGain++) {
- sprintf(hname,"%d_%d_%d_%d",fMod,iX,iZ,iGain);
+
+ shname = "%d_%d_%d_%d";
+ snprintf(hname,shname.Length(),shname.Data(),fMod,iX,iZ,iGain);
+
if(oldTimeEnergy)
hist2 = (TH2F*)oldTimeEnergy->FindObject(hname);
if(hist2) {
// the correspondent array entry should be filled by zero.
// WARNING: this function should be called once per event!
- char hname[128];
- char htitl[128];
+ TString hname;
+ TString htitle;
for(Int_t iX=0; iX<64; iX++) {
for (Int_t iZ=0; iZ<56; iZ++) {
}
else
{
- sprintf(hname,"%d_%d_%d",fMod,iX,iZ);
- sprintf(htitl,"HG/LG ratio for crystal %d_%d_%d",fMod,iX,iZ);
- fHgLgRatio[iX][iZ] = new TH1F(hname,htitl,400,14.,18.);
+ hname.Clear(); htitle.Clear();
+ hname += fMod; hname += "_"; hname += iX; hname += "_"; hname += iZ;
+ htitle += "HG/LG ratio for crystal "; htitle += hname;
+
+ fHgLgRatio[iX][iZ] = new TH1F(hname,htitle,400,14.,18.);
// printf("iX=%d iZ=%d,e[iX][iZ][1]=%.3f,e[iX][iZ][0]=%.3f\n",
// iX,iZ,e[iX][iZ][1],e[iX][iZ][0]);
fHgLgRatio[iX][iZ]->Fill(e[iX][iZ][1]/e[iX][iZ][0]);
if(fTimeEnergy[iX][iZ][iGain])
fTimeEnergy[iX][iZ][iGain]->Fill(e[iX][iZ][iGain],t[iX][iZ][iGain]);
- else {
- sprintf(hname,"%d_%d_%d_%d",fMod,iX,iZ,iGain);
- sprintf(htitl,"Energy vs TOF for crystal %d_%d_%d and gain %d",fMod,iX,iZ,iGain);
- fTimeEnergy[iX][iZ][iGain] = new TH2F(hname,htitl,100,0.,1024.,50,0.,50.);
- fTimeEnergy[iX][iZ][iGain]->Fill(e[iX][iZ][iGain],t[iX][iZ][iGain]);
- fHistoArray.Add(fTimeEnergy[iX][iZ][iGain]);
- }
+ else
+ {
+ hname.Clear(); htitle.Clear();
+ hname += fMod; hname += "_"; hname += iX; hname += "_"; hname += iZ;
+ htitle = "Energy vs TOF for crystal "; htitle += hname; htitle += " and gain "; htitle += iGain;
+ hname += "_"; hname += iGain;
+
+ fTimeEnergy[iX][iZ][iGain] = new TH2F(hname,htitle,100,0.,1024.,50,0.,50.);
+ fTimeEnergy[iX][iZ][iGain]->Fill(e[iX][iZ][iGain],t[iX][iZ][iGain]);
+ fHistoArray.Add(fTimeEnergy[iX][iZ][iGain]);
+ }
}
-
+
}
}
-
+
}
//-------------------------------------------------------------------
}
if(!fHistoFile) {
- char rootname[128];
- sprintf(rootname,"%s.root",GetName());
- fHistoFile = new TFile(rootname,"update");
+ TString rootname(GetName());
+ rootname += ".root";
+ fHistoFile = new TFile(rootname.Data(),"update");
}
fWriteToFile = write;