void HighPtDeDx_lhc10c_Data_ESDs_merge(const char *dir, Int_t stage=0)
{
// Automatically generated merging macro executed in grid subjobs
TStopwatch timer;
timer.Start();
// Reset existing include path and add current directory first in the search
gSystem->SetIncludePath("-I.");
// Load analysis framework libraries
gSystem->Load("libANALYSIS");
gSystem->Load("libOADB");
gSystem->Load("libANALYSISalice");
gSystem->Load("libCORRFW");
// include path
TString intPath = gInterpreter->GetIncludePath();
TObjArray *listpaths = intPath.Tokenize(" ");
TIter nextpath(listpaths);
TObjString *pname;
while ((pname=(TObjString*)nextpath())) {
TString current = pname->GetName();
if (current.Contains("AliRoot") || current.Contains("ALICE_ROOT")) continue;
gSystem->AddIncludePath(current);
}
if (listpaths) delete listpaths;
gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include ");
gROOT->ProcessLine(".include $ALICE_ROOT/include");
printf("Include path: %s\n", gSystem->GetIncludePath());
// Add aditional AliRoot libraries
// Analysis source to be compiled at runtime (if any)
gROOT->ProcessLine(".L DebugClasses.C+g");
gROOT->ProcessLine(".L AliAnalysisTaskHighPtDeDx.cxx+g");
gROOT->ProcessLine(".L AliAnalysisTaskHighPtDeDxV0.cxx+g");
// fast xrootd reading enabled
printf("!!! You requested FastRead option. Using xrootd flags to reduce timeouts. Note that this may skip some files that could be accessed !!!");
gEnv->SetValue("XNet.ConnectTimeout",50);
gEnv->SetValue("XNet.RequestTimeout",50);
gEnv->SetValue("XNet.MaxRedirectCount",2);
gEnv->SetValue("XNet.ReconnectTimeout",50);
gEnv->SetValue("XNet.FirstConnectMaxCnt",1);
// Set temporary merging directory to current one
gSystem->Setenv("TMPDIR", gSystem->pwd());
// Set temporary compilation directory to current one
gSystem->SetBuildDir(gSystem->pwd(), kTRUE);
// Connect to AliEn
if (!TGrid::Connect("alien://")) return;
TString outputDir = dir;
TString outputFiles = "EventStat_temp.root,HighPtDeDx_Tree.root,HighPtDeDxV0_Tree.root";
TString mergeExcludes = " ";
TObjArray *list = outputFiles.Tokenize(",");
TIter *iter = new TIter(list);
TObjString *str;
TString outputFile;
Bool_t merged = kTRUE;
while((str=(TObjString*)iter->Next())) {
outputFile = str->GetString();
if (outputFile.Contains("*")) continue;
Int_t index = outputFile.Index("@");
if (index > 0) outputFile.Remove(index);
// Skip already merged outputs
if (!gSystem->AccessPathName(outputFile)) {
printf("Output file <%s> found. Not merging again.",outputFile.Data());
continue;
}
if (mergeExcludes.Contains(outputFile.Data())) continue;
merged = AliAnalysisAlien::MergeOutput(outputFile, outputDir, 100, stage);
if (!merged) {
printf("ERROR: Cannot merge %s\n", outputFile.Data());
return;
}
}
// all outputs merged, validate
ofstream out;
out.open("outputs_valid", ios::out);
out.close();
// read the analysis manager from file
if (!outputDir.Contains("Stage")) return;
AliAnalysisManager *mgr = AliAnalysisAlien::LoadAnalysisManager("HighPtDeDx_lhc10c_Data_ESDs.root");
if (!mgr) return;
mgr->SetRunFromPath(mgr->GetRunFromAlienPath(dir));
mgr->SetSkipTerminate(kFALSE);
mgr->PrintStatus();
AliLog::SetGlobalLogLevel(AliLog::kWarning);
TTree *tree = NULL;
mgr->StartAnalysis("gridterminate", tree);
}
HighPtDeDx_lhc10c_Data_ESDs_merge.C:1 HighPtDeDx_lhc10c_Data_ESDs_merge.C:2 HighPtDeDx_lhc10c_Data_ESDs_merge.C:3 HighPtDeDx_lhc10c_Data_ESDs_merge.C:4 HighPtDeDx_lhc10c_Data_ESDs_merge.C:5 HighPtDeDx_lhc10c_Data_ESDs_merge.C:6 HighPtDeDx_lhc10c_Data_ESDs_merge.C:7 HighPtDeDx_lhc10c_Data_ESDs_merge.C:8 HighPtDeDx_lhc10c_Data_ESDs_merge.C:9 HighPtDeDx_lhc10c_Data_ESDs_merge.C:10 HighPtDeDx_lhc10c_Data_ESDs_merge.C:11 HighPtDeDx_lhc10c_Data_ESDs_merge.C:12 HighPtDeDx_lhc10c_Data_ESDs_merge.C:13 HighPtDeDx_lhc10c_Data_ESDs_merge.C:14 HighPtDeDx_lhc10c_Data_ESDs_merge.C:15 HighPtDeDx_lhc10c_Data_ESDs_merge.C:16 HighPtDeDx_lhc10c_Data_ESDs_merge.C:17 HighPtDeDx_lhc10c_Data_ESDs_merge.C:18 HighPtDeDx_lhc10c_Data_ESDs_merge.C:19 HighPtDeDx_lhc10c_Data_ESDs_merge.C:20 HighPtDeDx_lhc10c_Data_ESDs_merge.C:21 HighPtDeDx_lhc10c_Data_ESDs_merge.C:22 HighPtDeDx_lhc10c_Data_ESDs_merge.C:23 HighPtDeDx_lhc10c_Data_ESDs_merge.C:24 HighPtDeDx_lhc10c_Data_ESDs_merge.C:25 HighPtDeDx_lhc10c_Data_ESDs_merge.C:26 HighPtDeDx_lhc10c_Data_ESDs_merge.C:27 HighPtDeDx_lhc10c_Data_ESDs_merge.C:28 HighPtDeDx_lhc10c_Data_ESDs_merge.C:29 HighPtDeDx_lhc10c_Data_ESDs_merge.C:30 HighPtDeDx_lhc10c_Data_ESDs_merge.C:31 HighPtDeDx_lhc10c_Data_ESDs_merge.C:32 HighPtDeDx_lhc10c_Data_ESDs_merge.C:33 HighPtDeDx_lhc10c_Data_ESDs_merge.C:34 HighPtDeDx_lhc10c_Data_ESDs_merge.C:35 HighPtDeDx_lhc10c_Data_ESDs_merge.C:36 HighPtDeDx_lhc10c_Data_ESDs_merge.C:37 HighPtDeDx_lhc10c_Data_ESDs_merge.C:38 HighPtDeDx_lhc10c_Data_ESDs_merge.C:39 HighPtDeDx_lhc10c_Data_ESDs_merge.C:40 HighPtDeDx_lhc10c_Data_ESDs_merge.C:41 HighPtDeDx_lhc10c_Data_ESDs_merge.C:42 HighPtDeDx_lhc10c_Data_ESDs_merge.C:43 HighPtDeDx_lhc10c_Data_ESDs_merge.C:44 HighPtDeDx_lhc10c_Data_ESDs_merge.C:45 HighPtDeDx_lhc10c_Data_ESDs_merge.C:46 HighPtDeDx_lhc10c_Data_ESDs_merge.C:47 HighPtDeDx_lhc10c_Data_ESDs_merge.C:48 HighPtDeDx_lhc10c_Data_ESDs_merge.C:49 HighPtDeDx_lhc10c_Data_ESDs_merge.C:50 HighPtDeDx_lhc10c_Data_ESDs_merge.C:51 HighPtDeDx_lhc10c_Data_ESDs_merge.C:52 HighPtDeDx_lhc10c_Data_ESDs_merge.C:53 HighPtDeDx_lhc10c_Data_ESDs_merge.C:54 HighPtDeDx_lhc10c_Data_ESDs_merge.C:55 HighPtDeDx_lhc10c_Data_ESDs_merge.C:56 HighPtDeDx_lhc10c_Data_ESDs_merge.C:57 HighPtDeDx_lhc10c_Data_ESDs_merge.C:58 HighPtDeDx_lhc10c_Data_ESDs_merge.C:59 HighPtDeDx_lhc10c_Data_ESDs_merge.C:60 HighPtDeDx_lhc10c_Data_ESDs_merge.C:61 HighPtDeDx_lhc10c_Data_ESDs_merge.C:62 HighPtDeDx_lhc10c_Data_ESDs_merge.C:63 HighPtDeDx_lhc10c_Data_ESDs_merge.C:64 HighPtDeDx_lhc10c_Data_ESDs_merge.C:65 HighPtDeDx_lhc10c_Data_ESDs_merge.C:66 HighPtDeDx_lhc10c_Data_ESDs_merge.C:67 HighPtDeDx_lhc10c_Data_ESDs_merge.C:68 HighPtDeDx_lhc10c_Data_ESDs_merge.C:69 HighPtDeDx_lhc10c_Data_ESDs_merge.C:70 HighPtDeDx_lhc10c_Data_ESDs_merge.C:71 HighPtDeDx_lhc10c_Data_ESDs_merge.C:72 HighPtDeDx_lhc10c_Data_ESDs_merge.C:73 HighPtDeDx_lhc10c_Data_ESDs_merge.C:74 HighPtDeDx_lhc10c_Data_ESDs_merge.C:75 HighPtDeDx_lhc10c_Data_ESDs_merge.C:76 HighPtDeDx_lhc10c_Data_ESDs_merge.C:77 HighPtDeDx_lhc10c_Data_ESDs_merge.C:78 HighPtDeDx_lhc10c_Data_ESDs_merge.C:79 HighPtDeDx_lhc10c_Data_ESDs_merge.C:80 HighPtDeDx_lhc10c_Data_ESDs_merge.C:81 HighPtDeDx_lhc10c_Data_ESDs_merge.C:82 HighPtDeDx_lhc10c_Data_ESDs_merge.C:83 HighPtDeDx_lhc10c_Data_ESDs_merge.C:84 HighPtDeDx_lhc10c_Data_ESDs_merge.C:85 HighPtDeDx_lhc10c_Data_ESDs_merge.C:86 HighPtDeDx_lhc10c_Data_ESDs_merge.C:87 HighPtDeDx_lhc10c_Data_ESDs_merge.C:88 HighPtDeDx_lhc10c_Data_ESDs_merge.C:89 HighPtDeDx_lhc10c_Data_ESDs_merge.C:90 HighPtDeDx_lhc10c_Data_ESDs_merge.C:91 HighPtDeDx_lhc10c_Data_ESDs_merge.C:92 HighPtDeDx_lhc10c_Data_ESDs_merge.C:93 HighPtDeDx_lhc10c_Data_ESDs_merge.C:94 HighPtDeDx_lhc10c_Data_ESDs_merge.C:95