#include "AliTPCseed.h"
#include "AliESDInputHandler.h"
#include "AliAnalysisManager.h"
+#include "TFile.h"
+#include "TSystem.h"
+#include "TTimeStamp.h"
ClassImp(AliTPCAnalysisTaskcalib)
fCalibJobs(0),
fESD(0),
fESDfriend(0),
- fDebugOutputPath()
+ fDebugOutputPath("")
{
//
// default constructor
fCalibJobs(0),
fESD(0),
fESDfriend(0),
- fDebugOutputPath()
+ fDebugOutputPath("")
{
//
// Constructor
//Printf("ERROR: fESDfriend not available");
return;
}
+ if (fESDfriend->TestSkipBit()) return;
Int_t n=fESD->GetNumberOfTracks();
Process(fESD);
Int_t run = fESD->GetRunNumber();
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");
+ //OpenFile(0, "RECREATE");
+
+ PostData(0,fCalibJobs);
}
+
void AliTPCAnalysisTaskcalib::Terminate(Option_t */*option*/) {
//
// Terminate
// on the slaves before sending data
//
Terminate("slave");
- RegisterDebugOutput();
+ if(!fDebugOutputPath.IsNull()) {
+ RegisterDebugOutput();
+ }
+
}
job = (AliTPCcalibBase*)fCalibJobs->UncheckedAt(i);
if (job) {
job->UpdateEventInfo(event);
- job->Process(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());
+
}