]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0SetCDB.C
more realistic calibration
[u/mrichter/AliRoot.git] / T0 / AliT0SetCDB.C
index 93b3e521280a5f951dae389b964c25a8046fce5c..855c77c43541bf6b01ef61a62741bd71374fce68 100644 (file)
 void AliT0SetCDB()
 {
   TControlBar *menu = new TControlBar("vertical","T0 CDB");
-  menu->AddButton("Set Calib","SetCC()",
-                 "Set calibration coefficients");
-  menu->AddButton("Set Align","SetAC()",
+  menu->AddButton("Set time delay","SetTimeDelay()",
+                 "Set time dalay");
+  menu->AddButton("Set walk","SetWalk()",
+                 "Set slewing coorection");
+ menu->AddButton("Set Align","SetAC()",
                  "Set alignment coefficients");
   menu->AddButton("Set LookUpTable","SetLookUp()",
                   "Set LookUp table");
-  menu->AddButton("Read calibration CC","GetCC()",
-                 "Read calibration  coefficients");
+  menu->AddButton("Read time delay","GetTimeDelay()",
+                 "Read time delay");
+ menu->AddButton("Read walk","GetWalk()",
+                 "Read amplitude-time correction");
   menu->AddButton("Read alignment CC","GetAC()",
                  "Read face detector position ");
   menu->AddButton("Read Lookup","GetLookUp()",
@@ -85,7 +89,7 @@ void SetAC()
  }
 }
 //------------------------------------------------------------------------
-void SetCC()
+void SetTimeDelay()
 {
   // Writing calibration coefficients into the Calibration DB
   // Arguments:
@@ -99,27 +103,66 @@ void SetCC()
   DBFolder  ="local://Calib";
   firstRun  =  0;
   lastRun   =  10;
-  objFormat = "T0 initial gain factors, time delay, slewnig";
+  objFormat = "T0 initial time delay";
 
   AliT0CalibData *calibda=new AliT0CalibData("T0");
   
-  Float_t fGain = 1;
-  Float_t fTimeDelay  = 200;
+   Float_t fTimeDelay  = 1000;
   
+  
+  for(Int_t ipmt=0; ipmt<24; ipmt++) {
+    calibda->SetTimeDelayCFD(fTimeDelay+ipmt*100,ipmt);
+    //   calibda->SetTimeDelayLED(fTimeDelay,ipmt);
+    calibda->SetTimeDelayLED(0,ipmt);
+  }
+  calibda->Print();
+  //Store calibration data into database
+  AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
+
+  //  AliCDBManager::Instance()->SetSpecificStorage("T0",DBFolder.Data());
+  
+  AliCDBMetaData md;
+  md.SetComment(objFormat);
+  md.SetBeamPeriod(beamPeriod);
+  md.SetResponsible("Alla");
+  TString fPath="T0/Calib/TimeDelay";
+
+
+  // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
+  AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
+  if(storage) {
+    AliCDBId id(fPath.Data(),firstRun,lastRun);
+    storage->Put(calibda, id, &md);
+  }
+}
+
+//------------------------------------------------------------------------
+void SetWalk()
+{
+  // Writing calibration coefficients into the Calibration DB
+  // Arguments:
+
+  TString DBFolder;
+  Int_t firstRun   =  0;
+  Int_t lastRun    = 10;
+  Int_t beamPeriod =  1;
+  char* objFormat  = "";
+
+  DBFolder  ="local://Calib";
+  firstRun  =  0;
+  lastRun   =  10;
+  objFormat = "T0 initial slewnig correction";
+
+  AliT0CalibData *calibda=new AliT0CalibData("T0");
+  
+   
   TRandom rn;
   
   for(Int_t ipmt=0; ipmt<24; ipmt++) {
-    calibda->SetGain (fGain,ipmt);
-    calibda->SetTimeDelayCFD(fTimeDelay,ipmt);
-    calibda->SetTimeDelayLED(fTimeDelay,ipmt);
-    calibda->SetWalk(ipmt,"data/re.root");
+    calibda->SetWalk(ipmt,"data/CFD-Amp.txt");
     calibda->SetSlewingLED(ipmt,"data/CFD-LED.txt");
     calibda->SetSlewingRec(ipmt,"data/CFD-LED.txt");
-    Double_t value=calibda->GetSlewingLED(ipmt,300);
-    Double_t rec= calibda->GetSlewingRec(ipmt, value);
-    cout<<" in "<<value<<" out "<<rec<<endl;
   }
-  calibda->Print();
   //Store calibration data into database
   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
 
@@ -129,7 +172,7 @@ void SetCC()
   md.SetComment(objFormat);
   md.SetBeamPeriod(beamPeriod);
   md.SetResponsible("Alla");
-  TString fPath="T0/Calib/Gain_TimeDelay_Slewing_Walk";
+  TString fPath="T0/Calib/Slewing_Walk";
 
 
   // AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
@@ -141,7 +184,7 @@ void SetCC()
 }
 
 //------------------------------------------------------------------------
-void GetCC()
+void GetTimeDelay()
 {
   // Read calibration coefficients into the Calibration DB
   // Arguments:
@@ -151,15 +194,33 @@ void GetCC()
   DBFolder  ="local://Calib";
   Int_t nRun=gAlice->GetRunNumber();
   
-  AliCDBManager *man = AliCDBManager::Instance();
-  AliCDBStorage *stor2 = man->GetStorage("local://Calib");
-  AliCDBEntry *entry;
-  entry = stor2->Get("T0/Calib/Gain_TimeDelay_Slewing_Walk");
-   
+  AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
+  AliCDBEntry* entry = stor->Get("T0/Calib/TimeDelay",0);
+  
   AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
   clb->Print();
 }
 //------------------------------------------------------------------------
+void GetWalk()
+{
+  // Read calibration coefficients into the Calibration DB
+  // Arguments:
+  
+  TString DBFolder;
+  
+  DBFolder  ="local://Calib";
+  Int_t nRun=gAlice->GetRunNumber();
+  
+   AliCDBStorage *stor =AliCDBManager::Instance()->GetStorage("local://$ALICE_ROOT");
+   AliCDBEntry* entry = stor->Get("T0/Calib/Slewing_Walk",0);
+   
+   AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
+   Int_t ipmt=0;
+   //  cin>>" enter channel number">>ipmt;
+   TGraph *gr = clb->GetWalk(ipmt); 
+   gr->Draw("AP");
+}
+//------------------------------------------------------------------------
 void GetAC()
 {
   // Read align coefficients into the Calibration DB