]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCAnalysisTaskcalib.cxx
restructure the output container for the TPC calib
[u/mrichter/AliRoot.git] / TPC / AliTPCAnalysisTaskcalib.cxx
index cd45550adedb44b37a46304f9d01beaaaf52bb46..28b74cdd9663259360205f39a1e55cd1bb47e5eb 100644 (file)
@@ -62,7 +62,12 @@ AliTPCAnalysisTaskcalib::AliTPCAnalysisTaskcalib(const char *name)
   // Constructor
   //
   DefineInput(0, TChain::Class());
-  DefineOutput(0, TObjArray::Class());
+  DefineOutput(0, AliTPCcalibBase::Class());
+  DefineOutput(1, AliTPCcalibBase::Class());
+  DefineOutput(2, AliTPCcalibBase::Class());
+  DefineOutput(3, AliTPCcalibBase::Class());
+  DefineOutput(4, AliTPCcalibBase::Class());
+  DefineOutput(5, AliTPCcalibBase::Class());
   fCalibJobs = new TObjArray(0);
   fCalibJobs->SetOwner(kTRUE);
 }
@@ -84,13 +89,14 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     return;
   }
   fESDfriend=static_cast<AliESDfriend*>(fESD->FindListObject("AliESDfriend"));
+  Int_t n=fESD->GetNumberOfTracks();
+  Process(fESD);
   if (!fESDfriend) {
     //Printf("ERROR: fESDfriend not available");
     return;
   }
   if (fESDfriend->TestSkipBit()) return;
-  Int_t n=fESD->GetNumberOfTracks();
-  Process(fESD);
+  //
   Int_t run = fESD->GetRunNumber();
   for (Int_t i=0;i<n;++i) {
     AliESDfriendTrack *friendTrack=fESDfriend->GetTrack(i);
@@ -105,7 +111,6 @@ void AliTPCAnalysisTaskcalib::Exec(Option_t *) {
     if (seed)
       Process(seed);
   }
-  PostData(0,fCalibJobs);
 }
 
 void AliTPCAnalysisTaskcalib::ConnectInputData(Option_t *) {
@@ -134,7 +139,11 @@ void AliTPCAnalysisTaskcalib::CreateOutputObjects() {
   //
   //OpenFile(0, "RECREATE");
 
-  PostData(0,fCalibJobs);
+  for (Int_t i=0; i<fCalibJobs->GetEntries(); i++)
+  {
+    if (fCalibJobs->At(i))
+      PostData(i,(AliTPCcalibBase*)fCalibJobs->At(i));
+  }
 }
 
 void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {