]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCAnalysisTaskcalib.cxx
adding transparent access to AliDAQ, adding special HLTOUT kRawReader
[u/mrichter/AliRoot.git] / TPC / AliTPCAnalysisTaskcalib.cxx
index aa0cd235fb4ea42350490deef1c5c83a52ea4fd6..4d620a345d7fcf095915f1eebacf08be95bd70db 100644 (file)
@@ -30,6 +30,9 @@
 #include "AliTPCseed.h"
 #include "AliESDInputHandler.h"
 #include "AliAnalysisManager.h"
+#include "TFile.h"
+#include "TSystem.h"
+#include "TTimeStamp.h"
 
 ClassImp(AliTPCAnalysisTaskcalib)
 
@@ -61,7 +64,7 @@ AliTPCAnalysisTaskcalib::AliTPCAnalysisTaskcalib(const char *name)
   DefineInput(0, TChain::Class());
   DefineOutput(0, TObjArray::Class());
   fCalibJobs = new TObjArray(0);
-  fCalibJobs->SetOwner(kFALSE);
+  fCalibJobs->SetOwner(kTRUE);
 }
 
 AliTPCAnalysisTaskcalib::~AliTPCAnalysisTaskcalib() {
@@ -69,7 +72,7 @@ AliTPCAnalysisTaskcalib::~AliTPCAnalysisTaskcalib() {
   // destructor
   //
   printf("AliTPCAnalysisTaskcalib::~AliTPCAnalysisTaskcalib");
-  //fCalibJobs->Delete();
+  fCalibJobs->Delete();
 }
 
 void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
@@ -100,7 +103,7 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     if (seed)
       Process(seed);
   }
-  PostData(0,fCalibJobs);
+  //PostData(0,fCalibJobs);
 }
 
 void AliTPCAnalysisTaskcalib::ConnectInputData(Option_t *) {
@@ -127,6 +130,7 @@ void AliTPCAnalysisTaskcalib::CreateOutputObjects() {
   //
   //
   //
+  //  OpenFile(0, "RECREATE");
 }
 void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
   //
@@ -138,6 +142,7 @@ void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
     if (job) job->Terminate();
   }
+  
 }
 
 void AliTPCAnalysisTaskcalib::FinishTaskOutput()
@@ -148,6 +153,7 @@ void AliTPCAnalysisTaskcalib::FinishTaskOutput()
   //
   Terminate("slave");
   RegisterDebugOutput();
+  
 }
 
 
@@ -159,7 +165,10 @@ void AliTPCAnalysisTaskcalib::Process(AliESDEvent *event) {
   Int_t njobs = fCalibJobs->GetEntriesFast();
   for (Int_t i=0;i<njobs;i++){
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
-    if (job) job->Process(event);
+    if (job) {
+      job->UpdateEventInfo(event);
+      job->Process(event);
+    }
   }
 }
 
@@ -219,4 +228,25 @@ void AliTPCAnalysisTaskcalib::RegisterDebugOutput(){
     job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
     if (job) job->RegisterDebugOutput(fDebugOutputPath.Data());
   }
+  TFile fff("CalibObjects.root","recreate");
+  fCalibJobs->Write("TPCCalib");
+  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();
+  gSystem->MakeDirectory(dsName2.Data());
+  dsName2+="/";
+  TTimeStamp s;
+  dsName2+=Int_t(s.GetNanoSec());
+  dsName2+="/";
+  gSystem->MakeDirectory(dsName2.Data());
+  dsName2+=dsName;
+  AliInfo(Form("copy %s\t%s\n",dsName.Data(),dsName2.Data()));
+  printf("copy %s\t%s\n",dsName.Data(),dsName2.Data());
+  TFile::Cp(dsName.Data(),dsName2.Data());
+
 }