]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDCalibTask.cxx
Fix
[u/mrichter/AliRoot.git] / TRD / AliTRDCalibTask.cxx
index 6db5da58de59471dcd4f39c02824c616cdea185f..7215e996659650ad7d5bf28a1e9b9fec69e56cdd 100644 (file)
@@ -134,10 +134,13 @@ ClassImp(AliTRDCalibTask)
       fNbMaxCluster(2),
       fOfflineTracks(kFALSE),
       fStandaloneTracks(kFALSE),
+      fFirstRunGain(-1),
       fVersionGainUsed(-1),
       fSubVersionGainUsed(-1),
+      fFirstRunGainLocal(-1),
       fVersionGainLocalUsed(-1),
       fSubVersionGainLocalUsed(-1),
+      fFirstRunVdrift(-1),
       fVersionVdriftUsed(-1), 
       fSubVersionVdriftUsed(-1),
       fCalDetGain(0x0),
@@ -405,6 +408,8 @@ void AliTRDCalibTask::UserCreateOutputObjects()
   delete [] binLimLogPt;
   delete [] binLimPt;
 
+  PostData(1,fListHist);
+
   //cout << "AliTRDCalibTask::UserCreateOutputObjects() OUT" << endl;
 
 }
@@ -418,21 +423,20 @@ void AliTRDCalibTask::UserExec(Option_t *)
   //cout << "AliTRDCalibTask::Exec() IN" << endl;
   
   // Init Versions and subversions used
-  if((fVersionGainUsed==-1) || (fSubVersionGainUsed==-1) || (fVersionGainLocalUsed==-1) || (fSubVersionGainLocalUsed==-1) || (fVersionVdriftUsed==-1) || (fSubVersionVdriftUsed==-1)) {
+  if((fFirstRunGain==-1) || (fVersionGainUsed==-1) || (fSubVersionGainUsed==-1) || (fFirstRunGainLocal==-1) || (fVersionGainLocalUsed==-1) || (fSubVersionGainLocalUsed==-1) || (fFirstRunVdrift==-1) || (fVersionVdriftUsed==-1) || (fSubVersionVdriftUsed==-1)) {
     if(!SetVersionSubversion()) {
-      fVersionGainUsed=0;
-      fSubVersionGainUsed=0;
-      fVersionGainLocalUsed=0;
-      fSubVersionGainLocalUsed=0;
-      fVersionVdriftUsed=0;
-      fSubVersionVdriftUsed=0;
+      PostData(1, fListHist);
+      return;
     }
   }
   if(fCounter==0) {
+    fTRDCalibraFillHisto->SetFirstRunGain(fFirstRunGain); // Gain Used
     fTRDCalibraFillHisto->SetVersionGainUsed(fVersionGainUsed); // Gain Used
     fTRDCalibraFillHisto->SetSubVersionGainUsed(fSubVersionGainUsed); // Gain Used
+    fTRDCalibraFillHisto->SetFirstRunGainLocal(fFirstRunGainLocal); // Gain Used
     fTRDCalibraFillHisto->SetVersionGainLocalUsed(fVersionGainLocalUsed); // Gain Used
     fTRDCalibraFillHisto->SetSubVersionGainLocalUsed(fSubVersionGainLocalUsed); // Gain Used
+    fTRDCalibraFillHisto->SetFirstRunVdrift(fFirstRunVdrift); // Vdrift Used
     fTRDCalibraFillHisto->SetVersionVdriftUsed(fVersionVdriftUsed); // Vdrift Used
     fTRDCalibraFillHisto->SetSubVersionVdriftUsed(fSubVersionVdriftUsed); // Vdrift Used
     fTRDCalibraFillHisto->InitCalDet();
@@ -590,6 +594,11 @@ void AliTRDCalibTask::UserExec(Option_t *)
     PostData(1, fListHist);
     return;
   }
+
+  if(fESDfriend->TestSkipBit()) {
+    PostData(1, fListHist);
+    return;
+  }
   
   //printf("has friends\n");
 
@@ -1440,16 +1449,19 @@ Bool_t AliTRDCalibTask::SetVersionSubversion(){
     if(os->GetString().Contains("TRD/Calib/ChamberGainFactor")){
       // Get Old gain calibration
       AliCDBId *id=AliCDBId::MakeFromString(os->GetString());
+      fFirstRunGain = id->GetFirstRun();
       fVersionGainUsed = id->GetVersion();
       fSubVersionGainUsed = id->GetSubVersion();
     } else if(os->GetString().Contains("TRD/Calib/ChamberVdrift")){
       // Get Old drift velocity calibration
       AliCDBId *id=AliCDBId::MakeFromString(os->GetString());
+      fFirstRunVdrift = id->GetFirstRun();
       fVersionVdriftUsed = id->GetVersion();
       fSubVersionVdriftUsed = id->GetSubVersion();
     } else if(os->GetString().Contains("TRD/Calib/LocalGainFactor")){
       // Get Old drift velocity calibration
       AliCDBId *id=AliCDBId::MakeFromString(os->GetString());
+      fFirstRunGainLocal = id->GetFirstRun();
       fVersionGainLocalUsed = id->GetVersion();
       fSubVersionGainLocalUsed = id->GetSubVersion();
     }
@@ -1458,7 +1470,15 @@ Bool_t AliTRDCalibTask::SetVersionSubversion(){
   //printf("VersionGain %d, SubversionGain %d, VersionLocalGain %d, Subversionlocalgain %d, Versionvdrift %d, Subversionvdrift %d\n",fVersionGainUsed,fSubVersionGainUsed,fVersionGainLocalUsed,fSubVersionGainLocalUsed,fVersionVdriftUsed,fSubVersionVdriftUsed);
 
   // Check
-  if((fVersionGainUsed < 0) || (fVersionGainLocalUsed < 0)  || (fSubVersionGainUsed < 0) || (fSubVersionGainLocalUsed < 0) || (fVersionVdriftUsed < 0) || (fSubVersionVdriftUsed < 0)) {
+  if((fFirstRunGain < 0)            || 
+     (fFirstRunGainLocal < 0)       || 
+     (fFirstRunVdrift < 0)          || 
+     (fVersionGainUsed < 0)         || 
+     (fVersionGainLocalUsed < 0)    || 
+     (fSubVersionGainUsed < 0)      || 
+     (fSubVersionGainLocalUsed < 0) || 
+     (fVersionVdriftUsed < 0)       || 
+     (fSubVersionVdriftUsed < 0)) {
     AliError("No recent calibration found");
     return kFALSE;
   }