]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSEmcCalibData.cxx
Bug fix for CPV-EMC distance
[u/mrichter/AliRoot.git] / PHOS / AliPHOSEmcCalibData.cxx
index 9f5fb6d90358e12d2fada7a84eb496895a45f07f..6c09b8fa2cbb6889b1e327bd768b11ea730739b5 100644 (file)
@@ -24,7 +24,7 @@
 ClassImp(AliPHOSEmcCalibData)
 
 //________________________________________________________________
-AliPHOSEmcCalibData::AliPHOSEmcCalibData()
+  AliPHOSEmcCalibData::AliPHOSEmcCalibData(): TNamed()
 {
   // Default constructor
   Reset();
@@ -48,12 +48,12 @@ AliPHOSEmcCalibData::AliPHOSEmcCalibData(const AliPHOSEmcCalibData& calibda) :
   // copy constructor
   SetName(calibda.GetName());
   SetTitle(calibda.GetName());
-  Reset();
+
   for(Int_t module=0; module<5; module++) {
     for(Int_t column=0; column<56; column++) {
       for(Int_t row=0; row<64; row++) {
-       fADCchannelEmc[module][column][row] = calibda.GetADCchannelEmc(module,column,row);
-       fADCpedestalEmc[module][column][row] = calibda.GetADCpedestalEmc(module,column,row);
+       fADCchannelEmc[module][column][row] = calibda.fADCchannelEmc[module][column][row];
+       fADCpedestalEmc[module][column][row] = calibda.fADCpedestalEmc[module][column][row];
       }
     }
   }
@@ -63,17 +63,22 @@ AliPHOSEmcCalibData::AliPHOSEmcCalibData(const AliPHOSEmcCalibData& calibda) :
 AliPHOSEmcCalibData &AliPHOSEmcCalibData::operator =(const AliPHOSEmcCalibData& calibda)
 {
   // assignment operator
-  SetName(calibda.GetName());
-  SetTitle(calibda.GetName());
-  Reset();
-  for(Int_t module=0; module<5; module++) {
-    for(Int_t column=0; column<56; column++) {
-      for(Int_t row=0; row<64; row++) {
-       fADCchannelEmc[module][column][row] = calibda.GetADCchannelEmc(module,column,row);
-       fADCpedestalEmc[module][column][row] = calibda.GetADCpedestalEmc(module,column,row);
+
+  if(this != &calibda) { 
+
+    SetName(calibda.GetName());
+    SetTitle(calibda.GetName());
+
+    for(Int_t module=0; module<5; module++) {
+      for(Int_t column=0; column<56; column++) {
+       for(Int_t row=0; row<64; row++) {
+         fADCchannelEmc[module][column][row] = calibda.fADCchannelEmc[module][column][row];
+         fADCpedestalEmc[module][column][row] = calibda.fADCpedestalEmc[module][column][row];
+       }
       }
     }
   }
+
   return *this;
 }
 
@@ -86,13 +91,13 @@ AliPHOSEmcCalibData::~AliPHOSEmcCalibData()
 //________________________________________________________________
 void AliPHOSEmcCalibData::Reset()
 {
-  // Set all pedestals and all ADC channels to its default values.
+  // Set all pedestals and all ADC channels to its ideal values = 1.
 
   for (Int_t module=0; module<5; module++){
     for (Int_t column=0; column<56; column++){
       for (Int_t row=0; row<64; row++){
-       fADCpedestalEmc[module][column][row] = 0.005;
-       fADCchannelEmc[module][column][row] = 0.0015;
+       fADCpedestalEmc[module][column][row] = 0.;
+       fADCchannelEmc[module][column][row]  = 1.;
       }
     }
   }
@@ -131,25 +136,41 @@ void  AliPHOSEmcCalibData::Print(Option_t *option) const
   }
 }
 
+//________________________________________________________________
 Float_t AliPHOSEmcCalibData::GetADCchannelEmc(Int_t module, Int_t column, Int_t row) const
 {
+  //Return EMC calibration coefficient
   //module, column,raw should follow the internal PHOS convention:
   //module 1:5, column 1:56, row 1:64
 
   return fADCchannelEmc[module-1][column-1][row-1];
 }
 
+//________________________________________________________________
 Float_t AliPHOSEmcCalibData::GetADCpedestalEmc(Int_t module, Int_t column, Int_t row) const
 {
+  //Return EMC pedestal
+  //module, column,raw should follow the internal PHOS convention:
+  //module 1:5, column 1:56, row 1:64
+
   return fADCpedestalEmc[module-1][column-1][row-1];
 }
 
+//________________________________________________________________
 void AliPHOSEmcCalibData::SetADCchannelEmc(Int_t module, Int_t column, Int_t row, Float_t value)
 {
+  //Set EMC calibration coefficient
+  //module, column,raw should follow the internal PHOS convention:
+  //module 1:5, column 1:56, row 1:64
+
   fADCchannelEmc[module-1][column-1][row-1] = value;
 }
 
+//________________________________________________________________
 void AliPHOSEmcCalibData::SetADCpedestalEmc(Int_t module, Int_t column, Int_t row, Float_t value)
 {
+  //Set EMC pedestal
+  //module, column,raw should follow the internal PHOS convention:
+  //module 1:5, column 1:56, row 1:64
   fADCpedestalEmc[module-1][column-1][row-1] = value;
 }