defects fixed
authorbasanta <basanta@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 3 Oct 2010 08:10:05 +0000 (08:10 +0000)
committerbasanta <basanta@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 3 Oct 2010 08:10:05 +0000 (08:10 +0000)
PMD/AliPMDCalibGain.cxx
PMD/AliPMDCalibrator.cxx
PMD/AliPMDClusteringV1.cxx
PMD/AliPMDNoiseCut.cxx
PMD/AliPMDRawStream.cxx
PMD/AliPMDUtility.cxx
PMD/AliPMDcludata.cxx

index e4436d5..2be6a38 100644 (file)
@@ -16,6 +16,7 @@
 //
 //////////////////////////////////////////////////////////////////////////////
 
+#include "Riostream.h"
 #include "TF1.h"
 #include "TFile.h"
 #include "TObjString.h"
@@ -198,11 +199,11 @@ Int_t AliPMDCalibGain::ExtractHotChannel(const Char_t *rootFile)
 
       for (Int_t idet = 0; idet < kDet; idet++)
        {
-         for (Int_t ismn = 0; ismn < kMaxSMN; idet++)
+         for (Int_t ismn = 0; ismn < kMaxSMN; ismn++)
            {
-             for (Int_t irow = 0; irow < kMaxRow; idet++)
+             for (Int_t irow = 0; irow < kMaxRow; irow++)
                {
-                 for (Int_t icol = 0; icol < kMaxCol; idet++)
+                 for (Int_t icol = 0; icol < kMaxCol; icol++)
                    {
                      fHotFlag[idet][kMaxSMN][kMaxRow][kMaxCol] = 0.;
                    }
@@ -244,8 +245,11 @@ void AliPMDCalibGain::ReadTempFile(const Char_t *tempFile)
 {
   // Read the variables from the file
   
-  fpw = fopen(tempFile,"r");
+  //  fpw = fopen(tempFile,"r");
   
+  ifstream intmpfile;
+  intmpfile.open(tempFile);
+
   Float_t smcount = 0., smiso = 0.;
   Float_t cellcount = 0., celliso = 0.;
 
@@ -254,8 +258,8 @@ void AliPMDCalibGain::ReadTempFile(const Char_t *tempFile)
     {
       for (Int_t ism = 0; ism < kMaxSMN; ism++)
        {
-         fscanf(fpw,"%d %d %f %f",&idet,&ism,&smcount,&smiso);
-         
+         //fscanf(fpw,"%d %d %f %f",&idet,&ism,&smcount,&smiso);
+         intmpfile >> idet >> ism >> smcount >> smiso;
          fSMCount[idet][ism] = smcount;
          fSMIso[idet][ism]   = smiso;
        }
@@ -269,9 +273,10 @@ void AliPMDCalibGain::ReadTempFile(const Char_t *tempFile)
            {
              for (Int_t icol = 0; icol < kMaxCol; icol++)
                {
-                 fscanf(fpw,"%d %d %d %d %f %f",&idet,&ism,&irow,&icol,
-                        &cellcount,&celliso);
-                 
+                 //fscanf(fpw,"%d %d %d %d %f %f",&idet,&ism,&irow,&icol,
+                 //     &cellcount,&celliso);
+                 intmpfile >> idet >> ism >> irow >> icol 
+                           >> cellcount >> celliso;
                  fCellCount[idet][ism][irow][icol] = cellcount;
                  fCellIso[idet][ism][irow][icol]   = celliso;
                }
@@ -279,7 +284,8 @@ void AliPMDCalibGain::ReadTempFile(const Char_t *tempFile)
        }
     }
   
-  fclose(fpw);
+  //fclose(fpw);
+  intmpfile.close();
 
 }
 // ------------------------------------------------------------------------ //
index 23a8c42..1290979 100644 (file)
@@ -148,25 +148,25 @@ void AliPMDCalibrator::Exec()
 void AliPMDCalibrator::Init()
 {
   // intializes everything
-  char hname2[kDet];
-  char htitle2[2];
-  char hname[kMaxSMN];
-  char hname24[kMaxSMN];
+  char hname[50];
+  char hname2[50];
+  char hname24[50];
   char hnameiso[120];
   char htitle1[120];
+  char htitle2[120];
   
   for(Int_t d = 0; d < kDet; d++) {
-    sprintf(hname2,"Isolated cell adc for Det Plane %d",d);
+    snprintf(hname2,50,"Isolated cell adc for Det Plane %d",d);
     fHdetIso[d]= new TH1F(hname2,htitle2,100,0,1000);
     for(Int_t i1 = 0; i1 < kMaxSMN; i1++) {
-      sprintf(hname,"det_%d_iso_sm_%2d",d,i1);
-      sprintf(hname24,"det_%d_iso_sm_%2d",d,i1);
+      snprintf(hname,50,"det_%d_iso_sm_%2d",d,i1);
+      snprintf(hname24,50,"det_%d_iso_sm_%2d",d,i1);
       fHsmIso[d][i1]= new TH1F(hname,hname24,100,0,1000);
       for(Int_t j1 = 0; j1 < kMaxRow; j1++) {
        for(Int_t k1 = 0; k1 < kMaxCol; k1++) {
-         sprintf(hnameiso,"Isolated Cell ADC for det_%d_cell_sm%d_row%d_col%d"
+         snprintf(hnameiso,120,"Isolated Cell ADC for det_%d_cell_sm%d_row%d_col%d"
                  ,d,i1,j1,k1);
-         sprintf(htitle1,"Isolated Cell ADC for det_%d_cell_sm%d_row%d_col%d"
+         snprintf(htitle1,120,"Isolated Cell ADC for det_%d_cell_sm%d_row%d_col%d"
                  ,d,i1,j1,k1);
          
          TObject *old=gDirectory->GetList()->FindObject(hnameiso);
index dba1edb..cad354c 100644 (file)
@@ -119,7 +119,7 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
   Float_t  clusdata[6] = {0.,0.,0.,0.,0.,0.};
   Double_t cutoff, ave;
   Double_t edepcell[kNMX];
-  Double_t cellenergy[11424];
+  Double_t cellenergy[kNMX];
   
   // ndimXr and ndimYr are different because of different module size
 
@@ -137,7 +137,7 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
       ndimYr = 96;
     }
 
-  for (i =0; i < 11424; i++)
+  for (i = 0; i < kNMX; i++)
   {
       cellenergy[i] = 0.;
   }
@@ -177,9 +177,10 @@ void AliPMDClusteringV1::DoClust(Int_t idet, Int_t ismn,
       edepcell[i] = cellenergy[i];
     }
 
+  Bool_t jsort = true;
   Int_t iord1[kNMX];
-  TMath::Sort((Int_t)kNMX,edepcell,iord1);// order the data
-  cutoff = fCutoff;                       // cutoff to discard cells
+  TMath::Sort((Int_t)kNMX,edepcell,iord1,jsort);// order the data
+  cutoff = fCutoff;                             // cutoff to discard cells
   ave  = 0.;
   nmx1 = -1;
   for(i = 0;i < kNMX; i++)
@@ -461,8 +462,14 @@ void AliPMDClusteringV1::RefClust(Int_t incr, Double_t edepcell[])
   for(i = 0; i<ndim; i++)
     {
       ncl[i]  = -1; 
-      if (i < 6) clusdata[i] = 0.;
-      if (i < kNmaxCell) clxy[i]    = 0;
+    }
+  for(i = 0; i<6; i++)
+    {
+      clusdata[i] = 0.;
+    }
+  for(i = 0; i<19; i++)
+    {
+      clxy[i] = 0;
     }
 
   // clno counts the final clusters
index 849041b..5587a76 100644 (file)
@@ -25,6 +25,10 @@ ClassImp(AliPMDNoiseCut)
 AliPMDNoiseCut::AliPMDNoiseCut()
 {
   // Default constructor
+  for(Int_t imod = 0; imod < 48; imod++)
+    {
+      fNoiseCut[imod] = 0.;
+    }
 }
 // ----------------------------------------------------------------- //
 AliPMDNoiseCut::AliPMDNoiseCut(const char* name)
@@ -34,6 +38,10 @@ AliPMDNoiseCut::AliPMDNoiseCut(const char* name)
   namst += name;
   SetName(namst.Data());
   SetTitle(namst.Data());
+  for(Int_t imod = 0; imod < 48; imod++)
+    {
+      fNoiseCut[imod] = 0.;
+    }
 }
 // ----------------------------------------------------------------- //
 AliPMDNoiseCut::AliPMDNoiseCut(const AliPMDNoiseCut& noisecut) :
index 5e0237b..f7ccbb6 100644 (file)
@@ -112,10 +112,16 @@ Int_t AliPMDRawStream::DdlData(TObjArray *pmdddlcont)
 
   UInt_t data = 0;
 
-  fRawReader->ReadNextData(fData);
+ // PMD raw data does not contain CDH
 
-  fPosition = 0;
+  fRawReader->RequireHeader(kFALSE);
+
+  if (!fRawReader->ReadNextData(fData)) {
+    fRawReader->RequireHeader(kTRUE);
+    return kFALSE;
+  }
 
+  fPosition = 0;
 
   Int_t ibus = 0;
 
index d550504..b16c3ce 100644 (file)
@@ -578,11 +578,11 @@ void AliPMDUtility::DrawPMDModule(Int_t idet)
        {
          if(idet == 0)
            {
-             sprintf(smnumber,"%d",ism);
+             snprintf(smnumber,10,"%d",ism);
            }
          else if (idet == 1)
            {
-             sprintf(smnumber,"%d",24+ism);
+             snprintf(smnumber,10,"%d",24+ism);
            }
            tt.DrawText(x1ism+deltaX,y1ism+deltaY,smnumber);
        }
index fdcb809..d3ff2e9 100644 (file)
@@ -22,9 +22,12 @@ ClassImp(AliPMDcludata)
 AliPMDcludata::AliPMDcludata()
 {
   // Default constructor
+  for (Int_t i = 0; i < 6; i++)
+    {
+      fClusData[i] = 0.;
+    }
   for (Int_t i = 0; i < 19; i++)
     {
-      if(i < 6) fClusData[i] = 0.;
       fClXY[i] = 0;
 
     }
@@ -33,9 +36,12 @@ AliPMDcludata::AliPMDcludata()
 AliPMDcludata::AliPMDcludata(Float_t *clusdata, Int_t *clxy)
 {
   // Constructor
+  for (Int_t i = 0; i < 6; i++)
+    {
+      fClusData[i] = clusdata[i];
+    }
   for (Int_t i = 0; i < 19; i++)
     {
-      if (i < 6) fClusData[i] = clusdata[i];
       fClXY[i] = clxy[i];
     }
   
@@ -45,9 +51,12 @@ AliPMDcludata::AliPMDcludata(const AliPMDcludata &pmdcludata):
   TObject(pmdcludata)
 {
   //Copy Constructor 
+  for(Int_t i=0; i<6; i++)
+    {
+      this->fClusData[i] = pmdcludata.fClusData[i];
+    }
   for(Int_t i=0; i<19; i++)
     {
-      if (i < 6) this->fClusData[i] = pmdcludata.fClusData[i];
       this->fClXY[i] = pmdcludata.fClXY[i];
     }
 }
@@ -58,9 +67,12 @@ AliPMDcludata & AliPMDcludata::operator=(const AliPMDcludata &pmdcludata)
   // Assignment operator 
   if(this != &pmdcludata)
     {
+      for(Int_t i=0; i<6; i++)
+       {
+         this->fClusData[i] = pmdcludata.fClusData[i];
+       }
       for(Int_t i=0; i<19; i++)
        {
-         if (i < 6) this->fClusData[i] = pmdcludata.fClusData[i];
          this->fClXY[i] = pmdcludata.fClXY[i];
        }
     }