]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRcuDA1.cxx
Initialization of TVector3 data member is corrected
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRcuDA1.cxx
index 18b91395b35f42027749f979f9d88dd7150c4f02..652cf426a4e0013e982b044faaecf026632673b2 100644 (file)
@@ -17,15 +17,23 @@ AliPHOSRcuDA1::AliPHOSRcuDA1(Int_t module, Int_t rcu) : TNamed(),
   // 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");
@@ -33,11 +41,14 @@ AliPHOSRcuDA1::AliPHOSRcuDA1(Int_t module, Int_t rcu) : TNamed(),
   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;
@@ -47,7 +58,10 @@ AliPHOSRcuDA1::AliPHOSRcuDA1(Int_t module, Int_t rcu) : TNamed(),
        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;
@@ -71,22 +85,33 @@ AliPHOSRcuDA1::AliPHOSRcuDA1(Int_t module, Int_t rcu, TObjArray* oldTimeEnergy)
   // 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) {
@@ -97,7 +122,10 @@ AliPHOSRcuDA1::AliPHOSRcuDA1(Int_t module, Int_t rcu, TObjArray* oldTimeEnergy)
         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) {
@@ -135,8 +163,8 @@ void AliPHOSRcuDA1::FillHistograms(Float_t e[64][56][2], Float_t t[64][56][2])
   // 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++) {
@@ -151,9 +179,11 @@ void AliPHOSRcuDA1::FillHistograms(Float_t e[64][56][2], Float_t t[64][56][2])
        }
        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]);
@@ -169,18 +199,22 @@ void AliPHOSRcuDA1::FillHistograms(Float_t e[64][56][2], Float_t t[64][56][2])
 
        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]);
+         }
       }
-
+      
     }
   }
-
+  
 }
 
 //-------------------------------------------------------------------
@@ -206,9 +240,9 @@ void AliPHOSRcuDA1::SetWriteToFile(Bool_t write)
   }
 
   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;