]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCAnalysisTaskcalib.cxx
Fix for coverity 17562
[u/mrichter/AliRoot.git] / TPC / AliTPCAnalysisTaskcalib.cxx
index b73f7c8b4edbbb01d77e7c52293a9e814823559e..cd45550adedb44b37a46304f9d01beaaaf52bb46 100644 (file)
@@ -42,7 +42,7 @@ AliTPCAnalysisTaskcalib::AliTPCAnalysisTaskcalib()
    fCalibJobs(0),
    fESD(0),
    fESDfriend(0),
-   fDebugOutputPath()
+   fDebugOutputPath("")
 {
   //
   // default constructor
@@ -56,7 +56,7 @@ AliTPCAnalysisTaskcalib::AliTPCAnalysisTaskcalib(const char *name)
    fCalibJobs(0),
    fESD(0),
    fESDfriend(0),
-   fDebugOutputPath()
+   fDebugOutputPath("")
 {
   //
   // Constructor
@@ -88,6 +88,7 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     //Printf("ERROR: fESDfriend not available");
     return;
   }
+  if (fESDfriend->TestSkipBit()) return;
   Int_t n=fESD->GetNumberOfTracks();
   Process(fESD);
   Int_t run = fESD->GetRunNumber();
@@ -96,6 +97,7 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     AliESDtrack *track=fESD->GetTrack(i);
     TObject *calibObject=0;
     AliTPCseed *seed=0;
+    if (!friendTrack) continue;
     for (Int_t j=0;(calibObject=friendTrack->GetCalibObject(j));++j)
       if ((seed=dynamic_cast<AliTPCseed*>(calibObject)))
        break;
@@ -130,8 +132,11 @@ void AliTPCAnalysisTaskcalib::CreateOutputObjects() {
   //
   //
   //
-  OpenFile(0, "RECREATE");
+  //OpenFile(0, "RECREATE");
+
+  PostData(0,fCalibJobs);
 }
+
 void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
   //
   // Terminate
@@ -152,7 +157,9 @@ void AliTPCAnalysisTaskcalib::FinishTaskOutput()
   // on the slaves before sending data
   //
   Terminate("slave");
-  RegisterDebugOutput();
+  if(!fDebugOutputPath.IsNull()) { 
+    RegisterDebugOutput();
+  }
   
 }
 
@@ -233,13 +240,14 @@ void AliTPCAnalysisTaskcalib::RegisterDebugOutput(){
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
     if (job) job->RegisterDebugOutput(fDebugOutputPath.Data());
   }
-  TFile fff("CalibObjects.root","recreate");
+  TString dsName=GetName();
+  dsName+=".root";
+  TFile fff(dsName.Data(),"recreate");
   fCalibJobs->Write("TPCCalib",TObject::kSingleKey);
   fff.Close();
   //
   // store  - copy debug output to the destination position
   // currently ONLY for local copy
-  TString dsName="CalibObjects.root";
   TString dsName2=fDebugOutputPath.Data();
   gSystem->MakeDirectory(dsName2.Data());
   dsName2+=gSystem->HostName();