#include "AliTPCseed.h"
#include "AliESDInputHandler.h"
#include "AliAnalysisManager.h"
+#include "TFile.h"
+#include "TSystem.h"
+#include "TTimeStamp.h"
ClassImp(AliTPCAnalysisTaskcalib)
DefineInput(0, TChain::Class());
DefineOutput(0, TObjArray::Class());
fCalibJobs = new TObjArray(0);
- fCalibJobs->SetOwner(kFALSE);
+ fCalibJobs->SetOwner(kTRUE);
}
AliTPCAnalysisTaskcalib::~AliTPCAnalysisTaskcalib() {
// destructor
//
printf("AliTPCAnalysisTaskcalib::~AliTPCAnalysisTaskcalib");
- //fCalibJobs->Delete();
+ fCalibJobs->Delete();
}
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;
//
//
//
+ OpenFile(0, "RECREATE");
}
void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
//
job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
if (job) job->Terminate();
}
+
}
void AliTPCAnalysisTaskcalib::FinishTaskOutput()
//
Terminate("slave");
RegisterDebugOutput();
+
}
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);
+ if (job->AcceptTrigger())
+ job->Process(event);
+ }
}
}
Int_t njobs = fCalibJobs->GetEntriesFast();
for (Int_t i=0;i<njobs;i++){
job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
- if (job) job->Process(track);
+ if (job)
+ if (job->AcceptTrigger())
+ job->Process(track);
}
}
Int_t njobs = fCalibJobs->GetEntriesFast();
for (Int_t i=0;i<njobs;i++){
job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
- if (job) job->Process(track,run);
+ if (job)
+ if (job->AcceptTrigger())
+ job->Process(track,run);
}
}
job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
if (job) job->RegisterDebugOutput(fDebugOutputPath.Data());
}
+ 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 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());
+
}