]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - T0/AddTaskT0Calib.C
added some underlying event histograms and other modifications
[u/mrichter/AliRoot.git] / T0 / AddTaskT0Calib.C
index 20d6e796c4af785091ab4b2d0d47694d5913bc26..0dc044c6af5f67aaa6c0c518da0dd5986a4e9280 100644 (file)
@@ -45,13 +45,15 @@ void    readCDB (TObject *task1,  Int_t runNumber) {
   Float_t zero_timecdb[24]={0};
   Float_t *timecdb = zero_timecdb;
   Float_t cfdvalue[24][5];
+  for(Int_t i=0; i<24; i++) 
+    for (Int_t i0=0; i0<5; i0++)
+      cfdvalue[i][i0] = 0;
+      
   Float_t zero_shiftcdb[4]={0};
   Float_t *shiftcdb = zero_shiftcdb;
   AliT0CalibOffsetChannelsTask *mytask = (AliT0CalibOffsetChannelsTask*)task1;
 
   AliCDBManager* man = AliCDBManager::Instance();
-  man->SetDefaultStorage("raw://");
-  man->SetRun(runNumber);
   AliCDBEntry *entry = AliCDBManager::Instance()->Get("GRP/CTP/CTPtiming");
   if (!entry) AliFatal("CTP timing parameters are not found in OCDB !");
   AliCTPTimeParams *ctpParams = (AliCTPTimeParams*)entry->GetObject();
@@ -65,12 +67,16 @@ void    readCDB (TObject *task1,  Int_t runNumber) {
   AliCDBEntry *entry4 = AliCDBManager::Instance()->Get("GRP/Calib/LHCClockPhase");
   if (!entry4) AliFatal("LHC clock-phase shift is not found in OCDB !");
   AliLHCClockPhase *phase = (AliLHCClockPhase*)entry4->GetObject();
-  fGRPdelays = l1Delay - phase->GetMeanPhase();
+  Float_t fGRPdelays = l1Delay - phase->GetMeanPhase();
 
   AliCDBEntry *entryCalib0 = man->Get("T0/Calib/Latency");
-  fLatencyL1 = entryCalib0->GetLatencyL1();
-  fLatencyHPTDC = entryCalib0->GetLatencyHPTDC();
-  AliDebug(2,Form(" LatencyL1 %f latencyHPTDC %f \n",fLatencyL1, fLatencyHPTDC));
+  if(!entryCalib0) {
+    AliError::(Form("Cannot find any AliCDBEntry for [Calib, Latency]!"));
+    return;
+  }
+  AliT0CalibLatency *calibda=(AliT0CalibLatency*)entryCalib0->GetObject();
+  Float_t fLatencyL1 = calibda->GetLatencyL1();
+  Float_t fLatencyHPTDC = calibda->GetLatencyHPTDC();
  
   AliCDBEntry *entryCalib1 = man->Get("T0/Calib/TimeDelay");
   if(!entryCalib1) {
@@ -84,15 +90,13 @@ void    readCDB (TObject *task1,  Int_t runNumber) {
       for(Int_t i=0; i<24; i++) 
        for (Int_t i0=0; i0<5; i0++){
          cfdvalue[i][i0] = clb->GetCFDvalue(i, i0);
-         if ( i0 ==0) prinf(" CFD value %i %f \n", i, cfdvalue[i][i0]);  
        }
     }
  
   for (Int_t i=0; i<24; i++) {
     Float_t cfdmean = cfdvalue[i][0];
     if( cfdvalue[i][0] < 500 || cfdvalue[i][0] > 50000) cfdmean = ( 1000.*fLatencyHPTDC - 1000.*fLatencyL1 + 1000.*fGRPdelays)/24.4;
-    //  printf(" calulated mean %i %f \n", cfdmean);
-    mytask->SetCFDvalue(i, cfdmean);
+     mytask->SetCFDvalue(i, cfdmean);
     mytask->SetTimeEq(i, timecdb[i]);
   }