]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AliT0SetCDB.C
correct Hash in TMap, reading channel names
[u/mrichter/AliRoot.git] / T0 / AliT0SetCDB.C
index ea89c20130b290513958ece7436e30909533f620..46b63356049a9460a49b16d10deb30baee04599f 100644 (file)
 void AliT0SetCDB()
 {
   TControlBar *menu = new TControlBar("vertical","T0 CDB");
-  menu->AddButton("Set Calib","SetCC()",
-                 "Set calibration coefficients");
+  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("Read calibration CC","GetCC()",
-                 "Read calibration  coefficients");
+  menu->AddButton("Set LookUpTable","SetLookUp()",
+                  "Set LookUp table");
+  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()",
+                 "Read Lookup table ");
   menu->Show();
 }
 
@@ -74,14 +82,14 @@ void SetAC()
 
   //  AliCDBStorage* storage = AliCDBManager::Instance()->GetSpecificStorage("T0");
   AliCDBStorage* storage = AliCDBManager::Instance()->GetDefaultStorage();
- if(storage) {
 if(storage) {
    AliCDBId id(fPath.Data(),firstRun,lastRun);
 
    storage->Put(alignda, id, &md);
  }
 }
 //------------------------------------------------------------------------
-void SetCC()
+void SetTimeDelay()
 {
   // Writing calibration coefficients into the Calibration DB
   // Arguments:
@@ -95,27 +103,77 @@ 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 timeDelayDA now we are using Int mean time (+-3RMS fit) 
+   //in number of channel for time in each chanel for 
+   //1000 Hijingpara nparticles=500 & zvertex=0 produced by readDigits.C
+   // this is way to simulate time positon for vertex=0 
+   //with unknown time delay in channel
+   /*
+   Int_t timedelayDA[24] = {501, 509, 511,510 ,510, 510, 509, 509, 510,
+                           510, 509, 508, 511, 510, 509, 508,510,
+                           510, 511, 510, 510, 510, 509, 510};
+   */
+  for(Int_t ipmt=0; ipmt<24; ipmt++) {
+    calibda->SetTimeDelayCFD(fTimeDelay+ipmt*100,ipmt);
+       //   calibda->SetTimeDelayLED(fTimeDelay,ipmt);
+//    calibda->SetTimeDelayDA(timedelayDA[ipmt],ipmt);
+    calibda->SetTimeDelayDA(500,ipmt);
+  }
+  calibda->SetMeanT0(499);
+  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->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->SetWalk(ipmt);
+    calibda->SetAmpLEDRec(ipmt);
   }
-  calibda->Print();
   //Store calibration data into database
   AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT");
 
@@ -125,7 +183,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");
@@ -137,7 +195,7 @@ void SetCC()
 }
 
 //------------------------------------------------------------------------
-void GetCC()
+void GetTimeDelay()
 {
   // Read calibration coefficients into the Calibration DB
   // Arguments:
@@ -147,13 +205,37 @@ 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();
+  for (Int_t i=0; i<24; i++) {
+   cout<<clb->GetTimeDelayCFD(i)<<" "<<clb->GetTimeDelayDA(i)<<endl;
+   cout<<" equalizing CFD "<<(clb->GetTimeDelayCFD(i)-clb->GetTimeDelayCFD(0))<<endl;
+  cout<<" equalizing DA "<<(clb->GetTimeDelayDA(i)-clb->GetTimeDelayDA(0))<<endl;
+  }
+  
+}
+//------------------------------------------------------------------------
+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->GetAmpLEDRec(ipmt); 
+   gr->Draw("AP");
 }
 //------------------------------------------------------------------------
 void GetAC()
@@ -174,3 +256,69 @@ void GetAC()
   AliT0AlignData *aln = (AliT0AlignData*)entry->GetObject();
   aln->Print();
 }
+//------------------------------------------------------------------------
+void SetLookUp()
+{
+  // Writing Lookup table 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 Lookup Table";
+
+  AliT0CalibData *calibda=new AliT0CalibData("T0");
+
+  calibda->ReadAsciiLookup("lookUpTable.txt");
+
+  //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/LookUp_Table";
+
+
+  // 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 GetLookUp()
+{
+  // Read calibration coefficients into the Calibration DB
+  // Arguments:
+
+  TString DBFolder;
+
+  //  DBFolder  ="local://Calib";
+  //   Int_t nRun=gAlice->GetRunNumber();
+  AliCDBManager* cdb      = AliCDBManager::Instance();
+  AliCDBStorage *stor = cdb->GetStorage("local://$ALICE_ROOT");
+  // cout<<" GetLookUp :: "<<stor<<endl;
+  AliCDBEntry *entry;
+  //entry = stor->Get("T0/Calib/LookUp_Table",2,0,0);
+  entry = stor->Get("T0/Calib/LookUp_Table",1);
+  //cout<<"entry="<<entry<<endl;
+   cout<<" AliT0CalibData ::GetLookUp :: "<<entry<<endl;
+  AliT0CalibData *clb = (AliT0CalibData*)entry->GetObject();
+  cout<<" AliT0CalibData *clb "<<clb <<endl;
+  //cout<<"clb->a="<<clb->GetA()<<endl;
+  //  clb->Dump();
+  for (Int_t i=0; i<20; i++) 
+    clb->PrintLookupNames("all",i);
+
+}