Updated laser calibration object
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Aug 2008 11:51:00 +0000 (11:51 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 28 Aug 2008 11:51:00 +0000 (11:51 +0000)
ZDC/AliZDCLaserCalib.cxx
ZDC/AliZDCLaserCalib.h
ZDC/AliZDCPreprocessor.cxx
ZDC/Calib/LaserCalib/Run0_999999999_v0_s0.root
ZDC/ZDCLASERda.cxx

index 8fca52ba966aec8e1eaab8b243e548f06be602dc..da2507db66b3d5fd8234b43eb3398831fe731924 100644 (file)
@@ -41,8 +41,7 @@ TNamed()
   SetName(namst.Data());
   SetTitle(namst.Data());
   Reset();
-  for(Int_t i=0; i<2; i++){
-    fReferenceValue[i] = 0.;
+  for(Int_t i=0; i<4; i++){
     fSector[i] = 0;
     fGain[i] = 0;
     fPMRefValue[i] = 0.;
@@ -61,7 +60,6 @@ AliZDCLaserCalib::AliZDCLaserCalib(const AliZDCLaserCalib& calibda) :
   SetTitle(calibda.GetName());
   Reset();
   for(int t=0; t<2; t++){
-     fReferenceValue[t] = calibda.GetReferenceValue(t);
      fSector[t] = calibda.GetSector(t);
      fGain[t] = calibda.GetGain(t);
      fPMRefValue[t] = calibda.GetPMRefValue(t);
@@ -76,8 +74,7 @@ AliZDCLaserCalib &AliZDCLaserCalib::operator =(const AliZDCLaserCalib& calibda)
   SetName(calibda.GetName());
   SetTitle(calibda.GetName());
   Reset();
-  for(int t=0; t<2; t++){
-     fReferenceValue[t] = calibda.GetReferenceValue(t);
+  for(int t=0; t<4; t++){
      fSector[t]     = calibda.GetSector(t);
      fGain[t] = calibda.GetGain(t);
      fPMRefValue[t] = calibda.GetPMRefValue(t);
@@ -96,11 +93,10 @@ AliZDCLaserCalib::~AliZDCLaserCalib()
 void AliZDCLaserCalib::Reset()
 {
   // Reset
-  memset(fReferenceValue,0,2*sizeof(Float_t));
-  memset(fSector,0,2*sizeof(Float_t));
-  memset(fGain,0,2*sizeof(Float_t));
-  memset(fPMRefValue,0,2*sizeof(Float_t));
-  memset(fPMRefWidth,0,2*sizeof(Float_t));
+  memset(fSector,0,4*sizeof(Float_t));
+  memset(fGain,0,4*sizeof(Float_t));
+  memset(fPMRefValue,0,4*sizeof(Float_t));
+  memset(fPMRefWidth,0,4*sizeof(Float_t));
 }                                                                                       
 
 
@@ -109,10 +105,10 @@ void  AliZDCLaserCalib::Print(Option_t *) const
 {
    // Printing of calibration object
    printf("\n\n ******************* AliZDCLaserCalib object *******************\n");
-   for(Int_t i=0; i<2; i++){
+   for(Int_t i=0; i<4; i++){
      if(fSector[i]==1.) printf("  side C ->");
      else if(fSector[i]==4.) printf("  side A->");
-     printf("  Ref.Values %1.2f  Gain %1.0f",fReferenceValue[i], fGain[i]);
+     printf("  Gain chain %1.0f",fGain[i]);
      printf(" PMRefValue = %1.0f  PMRefWidth = %1.0f\n",fPMRefValue[i],fPMRefWidth[i]);
    }
    printf(" ***************************************************************\n\n");
index 0562cae7f660dc2f9b5bd4cf7d58928445ee430f..472f36028826e078dbd8890b3187538e29a03670 100644 (file)
@@ -26,13 +26,11 @@ class AliZDCLaserCalib: public TNamed {
   void Reset();
   virtual void  Print(Option_t *) const; 
   //
-  Float_t GetReferenceValue(Int_t i) const {return fReferenceValue[i];}
   Float_t GetSector(Int_t i) const {return fSector[i];}
   Float_t GetGain(Int_t i)   const {return fGain[i];}
   Float_t GetPMRefValue(Int_t i) const {return fPMRefValue[i];}
   Float_t GetPMRefWidth(Int_t i) const {return fPMRefWidth[i];}
   
-  void  SetReferenceValue(Int_t i, Float_t ival) {fReferenceValue[i] = ival;}
   void  SetSector(Int_t i, Float_t ival) {fSector[i] = ival;}
   void  SetGain(Int_t i, Float_t ival)   {fGain[i] = ival;}
   void  SetfPMRefValue(Int_t i, Float_t ival){fPMRefValue[i] = ival;}
@@ -40,13 +38,12 @@ class AliZDCLaserCalib: public TNamed {
   
  protected:
   // 2 reference ch. x 2 gain chain
-  Float_t fReferenceValue[2]; // Reference (inital) value for PM Ref
-  Float_t fSector[2];     // sector fSector=1(side C), 4(sideA)
-  Float_t fGain[2];      // fGain=0 (high gain chain), 1 (low gain chain) 
-  Float_t fPMRefValue[2]; // ADC meanvalue
-  Float_t fPMRefWidth[2]; // ADC spectrum width
+  Float_t fSector[4];     // sector fSector=1(side C), 4(sideA)
+  Float_t fGain[4];      // fGain=0 (high gain chain), 1 (low gain chain) 
+  Float_t fPMRefValue[4]; // ADC spectrum mean value
+  Float_t fPMRefWidth[4]; // ADC spectrum width
   //
-  ClassDef(AliZDCLaserCalib,1)    // ZDC LASER calibration data
+  ClassDef(AliZDCLaserCalib,2)    // ZDC LASER calibration data
 };
 
 #endif
index 608506dd473dae638545841c5548f7ce5c623320..e63e65ef8fda785320e4535edb906c9010004e3f 100644 (file)
@@ -74,7 +74,7 @@ void AliZDCPreprocessor::Initialize(Int_t run, UInt_t startTime,
 UInt_t AliZDCPreprocessor::ProcessChMap(TString runType)
 { 
   // Writing channel map in the OCDB
-  TList* daqSource;
+  TList* daqSource=0;
   if(runType.CompareTo("STANDALONE_PEDESTAL"))
     daqSource = GetFileSources(kDAQ, "PEDESTALS");
   else if(runType.CompareTo("STANDALONE_LASER"))
@@ -97,6 +97,7 @@ UInt_t AliZDCPreprocessor::ProcessChMap(TString runType)
   TIter iter(daqSource);
   TObjString* source = 0;
   Int_t isou=0;
+  Int_t res=999;
   while((source = dynamic_cast<TObjString*> (iter.Next()))){
      Log(Form("\n\t Getting file #%d\n",++isou));
      TString fileName;
@@ -152,10 +153,11 @@ UInt_t AliZDCPreprocessor::ProcessChMap(TString runType)
     metaData.SetResponsible("Chiara Oppedisano");
     metaData.SetComment("Filling AliZDCChMap object");  
     //
-    Int_t res = Store("Calib","ChMap",mapCalib, &metaData, 0, 1);
-    return res;
+    res = Store("Calib","ChMap",mapCalib, &metaData, 0, 1);
   }
   delete daqSource; daqSource=0;
+  
+  return res;
 
 }
 
@@ -347,25 +349,24 @@ else if(runType=="STANDALONE_LASER"){
         }
         Log(Form("File %s connected to process data from LASER events", laserFileName));
         //
-        Float_t ivalRef[2], ivalRead[2][4]; 
-        for(Int_t j=0; j<3; j++){
-          if(j==0){
-             for(Int_t k=0; k<2; k++){
-               fscanf(file,"%f",&ivalRef[k]);
-              lCalib->SetReferenceValue(k,ivalRef[k]);     
-            }
-           }
-          else{
-             for(Int_t k=0; k<4; k++){
-               fscanf(file,"%f",&ivalRead[j-1][k]);
-              printf(" %d %1.0f  ",k, ivalRead[j-1][k]);
-            }
-            lCalib->SetSector(j-1, ivalRead[j-1][0]);
-            lCalib->SetGain(j-1, ivalRead[j-1][1]);
-            lCalib->SetfPMRefValue(j-1, ivalRead[j-1][2]);
-            lCalib->SetfPMRefWidth(j-1, ivalRead[j-1][3]);
-          }
-          printf("\n");
+        Float_t ivalRead[4][2]; 
+        for(Int_t j=0; j<4; j++){
+            for(Int_t k=0; k<2; k++){
+              fscanf(file,"%f",&ivalRead[j][k]);
+             //printf(" %d %1.0f  ",k, ivalRead[j][k]);
+           }
+           if(j==0 || j==1){
+             lCalib->SetGain(j, 0);
+             if(j==0) lCalib->SetSector(j, 1);
+             else lCalib->SetSector(j, 4);
+           }
+           else if(j==2 || j==3){
+             lCalib->SetGain(j, 1);
+             if(j==2) lCalib->SetSector(j, 1);
+             else lCalib->SetSector(j, 4);
+           }
+           lCalib->SetfPMRefValue(j, ivalRead[j][0]);
+           lCalib->SetfPMRefWidth(j, ivalRead[j][1]);
         }
         fclose(file);
        }
index 17f40171cd6d7f9d5f6b1680d5fcd5c9ddc1942c..66925126748805e29adae9ecf2bdaea733be10f9 100644 (file)
Binary files a/ZDC/Calib/LaserCalib/Run0_999999999_v0_s0.root and b/ZDC/Calib/LaserCalib/Run0_999999999_v0_s0.root differ
index f69e5ceac5abf1de001d042aea88b86c4f955474..2cf2f8df83c27e4bf7ce2b4c1caae63df49354e6 100644 (file)
@@ -297,19 +297,21 @@ int main(int argc, char **argv) {
   Float_t xMaxRef[4], maxXvalRef[4], xlowRef[4]; 
   Float_t meanRef[2], sigmaRef[2];
   TF1 *funRef[4];
-  //
+  
+  // ~~~~~~~~ PM Ref side C high gain chain ~~~~~~~~
   maxBinRef[0] = hPMRefChg->GetMaximumBin();
   nBinRef[0] = (hPMRefChg->GetXaxis())->GetNbins();
   xMaxRef[0] = (hPMRefChg->GetXaxis())->GetXmax();
   maxXvalRef[0] = maxBinRef[0]*xMaxRef[0]/nBinRef[0];
-  //
+  // 
   if(maxXvalRef[0]-100.<0.) {xlowRef[0]=0.;}
   else xlowRef[0] = maxXvalRef[0];
   hPMRefChg->Fit("gaus","Q","",xlowRef[0],maxXvalRef[0]+100.);
   funRef[0] = hPMRefChg->GetFunction("gaus");
   meanRef[0] = (Float_t) (funRef[0]->GetParameter(1));
   sigmaRef[0] = (Float_t) (funRef[0]->GetParameter(2));
-  //
+  
+  // ~~~~~~~~ PM Ref side A high gain chain ~~~~~~~~
   maxBinRef[1] = hPMRefAhg->GetMaximumBin();
   nBinRef[1] = (hPMRefAhg->GetXaxis())->GetNbins();
   xMaxRef[1] = (hPMRefAhg->GetXaxis())->GetXmax();
@@ -321,7 +323,8 @@ int main(int argc, char **argv) {
   funRef[1] = hPMRefAhg->GetFunction("gaus");
   meanRef[1] = (Float_t) (funRef[1]->GetParameter(1));
   sigmaRef[1] = (Float_t) (funRef[1]->GetParameter(2));
-  //
+  
+  // ~~~~~~~~ PM Ref side C low gain chain ~~~~~~~~
   maxBinRef[2] = hPMRefClg->GetMaximumBin();
   nBinRef[2] = (hPMRefClg->GetXaxis())->GetNbins();
   xMaxRef[2] = (hPMRefClg->GetXaxis())->GetXmax();
@@ -333,7 +336,8 @@ int main(int argc, char **argv) {
   funRef[2] = hPMRefClg->GetFunction("gaus");
   meanRef[2] = (Float_t) (funRef[2]->GetParameter(1));
   sigmaRef[2] = (Float_t) (funRef[2]->GetParameter(2));
-  //
+  
+  // ~~~~~~~~ PM Ref side A low gain chain ~~~~~~~~
   maxBinRef[3] = hPMRefAlg->GetMaximumBin();
   nBinRef[3] = (hPMRefAlg->GetXaxis())->GetNbins();
   xMaxRef[3] = (hPMRefAlg->GetXaxis())->GetXmax();