// your needs, then run root.
// root[0] .L AnalysisTrain.C
// Grid full mode as below (other modes: test, offline, submit, terminate)
-// root[1] AnalysisTrainPWG4Jets("grid", "full")
+// root[1] AnalysisTrainPWG-244Jets("grid", "full")
// CAF mode (requires root v5-23-02 + aliroot v4-16-Rev08)
// root[2] AnalysisTrainPWG4Jets("proof")
// Local mode requires AliESds.root or AliAOD.root in ./data directory
Int_t iAODanalysis = 1; // Analysis on input AOD's
Int_t iAODhandler = 1; // Analysis produces an AOD or dAOD's
Int_t iESDfilter = 0; // ESD to AOD filter (barrel + muon tracks)
+Int_t iPhysicsSelection = 1; // ESD to AOD filter (barrel + muon tracks)
Bool_t kUseKinefilter = kFALSE; // use Kinematics filter
Bool_t kUseMuonfilter = kFALSE; // use Kinematics filter
TString kCommonOutputFileName = "PWG4_JetTasksOutput.root";
Int_t iPWG4JetServices = 0; // jet spectrum analysis
Int_t iPWG4JetSpectrum = 0; // jet spectrum analysis
Int_t iPWG4UE = 0; // Underlying Event analysis
+Int_t iPWG4TmpSourceSara = 0; // Underlying Event analysis
Int_t iPWG4PtQAMC = 0; // Marta's QA tasks
Int_t iPWG4PtSpectra = 0; // Marta's QA tasks
Int_t iPWG4PtQATPC = 0; // Marta's QA tasks
Int_t iPWG4ThreeJets = 0; // Sona's thrust task
Int_t iPWG4PartCorr = 0; // Gustavo's part corr analysis
+Int_t iPWG4omega3pi = 0; // Omega to 3 pi analysis (PWG4)
Int_t iPWG4GammaConv = 0; // Gamma Conversio
Int_t kHighPtFilterMask = 16; // change depending on the used AOD Filter
TString kDeltaAODJetName = "AliAOD.Jet.root";
//== grid plugin setup variables
Bool_t kPluginUse = kTRUE; // do not change
Bool_t kPluginUseProductionMode = kFALSE; // use the plugin in production mode
-TString kPluginRootVersion = "v5-25-04-1"; // *CHANGE ME IF MORE RECENT IN GRID*
-TString kPluginAliRootVersion = "v4-18-14-AN"; // *CHANGE ME IF MORE RECENT IN GRID*
+TString kPluginRootVersion = "v5-25-04-3"; // *CHANGE ME IF MORE RECENT IN GRID*
+TString kPluginAliRootVersion = "v4-18-15-AN"; // *CHANGE ME IF MORE RECENT IN GRID*
// TString kPluginExecutableCommand = "root -b -q";
TString kPluginExecutableCommand = "source /Users/kleinb/setup_32bit_aliroot_trunk_clean_root_trunk.sh; alienroot -b -q ";
// == grid plugin input and output variables
TString kGridOutputStorages = "ALICE::NIHAM::File,ALICE::CNAF::SE,ALICE::FZK::SE,ALICE::GSI::SE,ALICE::Legnaro::SE"; // Make replicas on the storages
// == grid process variables
Int_t kGridRunsPerMaster = 100; // Number of runs per master job
-Int_t kGridFilesPerJob = 200; // Maximum number of files per job (gives size of AOD)
+Int_t kGridFilesPerJob = 100; // Maximum number of files per job (gives size of AOD)
//==============================================================================
// ### Local Steering variables
// Temporaries.
TString anaPars = "";
TString anaLibs = "";
+TString anaLibsExtra = "";
TString anaSources = "";
// Function signatures
class AliAnalysisAlien;
if (kSaveTrain)WriteConfig();
// Check compatibility of selected modules
CheckModuleFlags(smode);
+ // gROOT->ProcessLine(".trace");
printf("==================================================================\n");
printf("=========== RUNNING ANALYSIS TRAIN %s IN %s MODE ==========\n", kTrainName.Data(),smode.Data());
printf("= Configuring analysis train for: =\n");
if (iAODanalysis) printf("= AOD analysis =\n");
else printf("= ESD analysis =\n");
+ if (iPhysicsSelection) printf("= Physics selection =\n");
if (iESDfilter) printf("= ESD filter =\n");
if (iJETAN) printf("= Jet analysis =\n");
printf("==================================================================\n");
printf(":: use PAR files %d\n", (UInt_t)kUsePAR);
printf(":: use AliEn plugin %d\n", (UInt_t)kPluginUse);
printf(":: use PWG1 QA sym %d\n", iPWG1QASym);
+ printf(":: use PWG4 Source Sara %d\n",iPWG4TmpSourceSara);
printf(":: use PWG4 Jet tasks %d\n",iPWG4JetTasks);
printf(":: use PWG4 Jet Services %d\n",iPWG4JetServices);
printf(":: use PWG4 Jet Spectrum %d\n",iPWG4JetSpectrum);
printf(":: use PWG4 Pt QA TPC %d\n",iPWG4PtQATPC);
printf(":: use PWG4 Three Jets %d\n",iPWG4ThreeJets);
printf(":: use PWG4 Part Corr %d\n",iPWG4PartCorr);
+ printf(":: use PWG4 omega to 3 pions %d\n",iPWG4omega3pi);
+
printf(":: use PWG4 Gamma Conv %d\n",iPWG4GammaConv);
printf(":: use HighPt FilterMask %d\n",kHighPtFilterMask);
}
// Make the analysis manager and connect event handlers
- AliAnalysisManager *mgr = new AliAnalysisManager("Analysis Train", "Production train");
+ AliAnalysisManager *mgr = new AliAnalysisManager("PWG4Train", "pwg4 mini train");
if (kCommonOutputFileName.Length()>0)mgr->SetCommonFileName(kCommonOutputFileName.Data());
if (kProofSaveToAlien) mgr->SetSpecialOutputLocation(kProofOutdir);
if (!strcmp(plugin_mode, "test")) mgr->SetNSysInfo(1);
aodHandler->SetFillAOD(kFillAOD);
mgr->SetOutputEventHandler(aodHandler);
-
+ //
if (iAODanalysis) {
// aodHandler->SetCreateNonStandardAOD();
// is done in this macro, but in future these containers will be connected
// from each task configuration macro.
+ if(iPhysicsSelection && !iAODanalysis){
+ gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskPhysicsSelection.C");
+ AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kTRUE);
+ if(kIsMC)physSelTask->GetPhysicsSelection()->SetAnalyzeMC();
+ physSelTask->GetPhysicsSelection()->AddBackgroundIdentification(new AliBackgroundSelection());
+ }
+
if (iESDfilter && !iAODanalysis) {
// ESD filter task configuration.
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskESDFilter.C");
gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskJets.C");
AliAnalysisTaskJets *taskjets = 0;
if(iJETAN&1)taskjets = AddTaskJets(kHighPtFilterMask);
- if(iJETAN&2)AddTaskJetsDelta(kDeltaAODJetName.Data(),kHighPtFilterMask,kUseAODMC);
+ if(iJETAN&2)AddTaskJetsDelta(kDeltaAODJetName.Data(),kHighPtFilterMask,kUseAODMC,0xfffffff);
if (!taskjets) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskJets cannot run for this train conditions - EXCLUDED");
}
gROOT->LoadMacro("$ALICE_ROOT/prod/acrcaf/qa_pp/AddTaskQAsym.C");
AliAnalysisTaskQASym *taskQASym = AddTaskQAsym(-1);
if (!taskQASym) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskQASym cannot run for this train conditions - EXCLUDED");
+ }
+
+
+ if(iPWG4TmpSourceSara){
+ gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskEta.C");
+ AliAnalysisTaskEta *taskEta = AddTaskEta();
+ if (!taskEta) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskEta cannot run for this train conditions - EXCLUDED");
}
+
if(iPWG4JetServices){
gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskJetServices.C");
AliAnalysisTaskJetServices *taskjetServ = 0;
AliAnalysisTaskUE *taskUE = 0;
if(iPWG4UE&1)taskUE = AddTaskUE();
if(iPWG4UE&2){
- taskUE = AddTaskUE("jetsAOD_CDF07");
- taskUE = AddTaskUE("jetsAOD_UA1LO07");
+ taskUE = AddTaskUE("jetsAOD_CDF07","ALICE","LJ","TRANSV");
+ taskUE = AddTaskUE("jetsAOD_UA1LO07","ALICE","LJ","TRANSV");
+ taskUE = AddTaskUE("jetsAOD_UA1LO07","ALICE","BB","TRANSV");
+ taskUE = AddTaskUE("jetsAOD_FASTKT04","ALICE","LJ","TRANSV");
+ taskUE = AddTaskUE("jetsAOD_FASTJET04","ALICE","LJ","TRANSV");
+ taskUE = AddTaskUE("jetsAOD_SISCONE04","ALICE","LJ","TRANSV");
}
if (!taskUE) ::Warning("AnalysisTrainPWG4Jets", "AliAnalysisTaskUE cannot run for this train conditions - EXCLUDED");
}
AliAnalysisTaskParticleCorrelation *taskpartcorrEMCAL = AddTaskPartCorr("AOD", "EMCAL",kUseMC,kFALSE,kIsMC);
if (!taskpartcorrEMCAL) ::Warning("AnalysisTrainNew", "AliAnalysisTaskParticleCorrelation EMCAL cannot run for this train conditions - EXCLUDED");
if(kDeltaAODPartCorrName.Length()>0)mgr->RegisterExtraFile(kDeltaAODPartCorrName.Data()); // hmm this is written anyway.... but at least we do not register it...
- }
+ }
+
+ if (iPWG4omega3pi) {
+ gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/AddTaskomega3pi.C");
+ AliAnalysisTaskOmegaPi0PiPi *taskomega3pi = AddTaskomega3pi();
+ if (!taskomega3pi) ::Warning("AnalysisTrainNew", "AliAnalysisTaskomega3pi cannot run\
+ for these train conditions - EXCLUDED");
+ }
+
// PWG4 gamma conversion analysis
if (iPWG4GammaConv) {
TString cdir = gSystem->WorkingDirectory();
gSystem->ChangeDirectory(gSystem->ExpandPathName("$ALICE_ROOT/PWG4/macros/"));
// TString gcArguments = "-run-on-train -run-jet -run-chic -run-neutralmeson -run-cf";
- TString gcArguments = "-run-on-train -run-jet -run-neutralmeson -run-cf";
+ TString gcArguments = "-run-on-train -run-jet -run-neutralmeson -run-cf -use-own-xyz";
if(!kIsMC)gcArguments += " -mc-off";
AliAnalysisTaskGammaConversion * taskGammaConversion = AddTaskGammaConversion(gcArguments,mgr->GetCommonInputContainer());
gSystem->ChangeDirectory(cdir);
+ taskGammaConversion->SelectCollisionCandidates();
if (!taskGammaConversion) ::Warning("AnalysisTrainNew", "AliAnalysisTaskGammaConversion cannot run for these train conditions - EXCLUDED");
}
if (mgr->InitAnalysis()) {
mgr->PrintStatus();
// if (kSaveTrain || strlen(config_file)) gSystem->ChangeDirectory(kTrainName);
- if (!strcmp(plugin_mode, "submit")&&smode=="GRID"){
+ if (!strcmp(plugin_mode,"submit")&&smode=="GRID"){
TString alien_workdir = gGrid->GetHomeDirectory();
if (iAODanalysis) alien_workdir += "analysisAOD";
else alien_workdir += "analysisESD";
AliAnalysisAlien *gridhandler = (AliAnalysisAlien*)mgr->GetGridHandler();
- printf("=== Registering jdl in the work directory alien://%s/%s, should be done by the manager! ===\n",
+ printf("=== AnalysisTrainPWG4Jets:: Registering jdl in the work directory alien://%s/%s, should be done by the manager! ===\n",
alien_workdir.Data(),gridhandler->GetGridOutputDir());
TFile::Cp(Form("file:%s.jdl",kTrainName.Data()), Form("alien://%s/%s/%s.jdl",alien_workdir.Data(),
gridhandler->GetGridOutputDir(),kTrainName.Data()));
StartAnalysis(smode, chain);
if (!strcmp(plugin_mode, "offline")&&smode=="GRID"){
- // Offline mode path files
- // PatchJDL();
- PatchAnalysisMacro();
- }
+ // Offline mode path files
+ // PatchJDL();
+ PatchAnalysisMacro();
+ }
- if (kSaveTrain && smode=="GRID") {
- AliAnalysisAlien *gridhandler = (AliAnalysisAlien*)mgr->GetGridHandler();
- TString alien_workdir = gGrid->GetHomeDirectory();
- if (iAODanalysis) alien_workdir += "analysisAOD";
+ if (kSaveTrain && smode=="GRID") {
+ AliAnalysisAlien *gridhandler = (AliAnalysisAlien*)mgr->GetGridHandler();
+ TString alien_workdir = gGrid->GetHomeDirectory();
+ if (iAODanalysis) alien_workdir += "analysisAOD";
else alien_workdir += "analysisESD";
- // kGridOutdir = gridhandler->GetGridOutputDir();
- printf("=== Registering ConfigTrain.C in the work directory <%s> ===\n",
+ // kGridOutdir = gridhandler->GetGridOutputDir();
+ printf("=== Registering ConfigTrain.C in the work directory <%s> ===\n",
alien_workdir.Data());
- if (AliAnalysisAlien::FileExists(Form("%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data())))
- gGrid->Rm(Form("%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data()));
- if (strcmp(plugin_mode, "test"))
- TFile::Cp(Form("file:%sConfig.C",kTrainName.Data()), Form("alien://%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data()));
- }
-}
+ if (AliAnalysisAlien::FileExists(Form("%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data())))
+ gGrid->Rm(Form("%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data()));
+ if (strcmp(plugin_mode, "test"))
+ TFile::Cp(Form("file:%sConfig.C",kTrainName.Data()), Form("alien://%s/%sConfig.C", alien_workdir.Data(), kTrainName.Data()));
+ }
+ }
}
//______________________________________________________________________________
if (!strcmp(mode, "GRID")) imode = 2;
-
+ if (kUseCPAR) {
+ kPluginAliRootVersion = ""; // NO aliroot if we use CPAR
+ }
if (imode==1) {
if (!kUsePAR) {
if (iESDfilter)
::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "ESD filter disabled in analysis on AOD's");
iESDfilter = 0;
+ if (iPhysicsSelection)
+ ::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "Physics Selection disabled in analysis on AOD's");
+ iPhysicsSelection = 0;
if (!iAODhandler) {
if (iJETAN)
::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "JETAN disabled in analysis on AOD's without AOD handler");
iPWG4PtSpectra = 0;
if (iPWG4PartCorr)::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "PWG4partcorr disabled on AOD's");
iPWG4PartCorr = 0;
+ if (iPWG4omega3pi)
+ ::Info("AnalysisTrainNew.C::CheckModuleFlags", "PWG4omega3pi disabled on AOD's");
+ iPWG4omega3pi = 0;
if(iPWG1QASym)::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "PWG1 QA Sym disabled in analysis on AOD's");
if (iPWG4GammaConv)::Info("AnalysisPWG4Jets.C::CheckModuleFlags", "PWG4gammaconv disabled on AOD's");
iPWG4GammaConv = 0;
if (!kUseTR) {
// ::Info("AnalysisTrainPWG4Jets.C::CheckModuleFlags", "iPWG2evchar disabled if not reading track references");
}
- if (iJETAN) iESDfilter=1;
+ if (iJETAN){
+ iESDfilter=1;
+ }
if (!iESDfilter){
kUseKinefilter = kFALSE;
kUseMuonfilter = kFALSE;
// JETAN
if (iJETAN||iDIJETAN) {
if (!strcmp(mode, "PROOF")){
- gProof->Exec("gSystem->Load\(\"/afs/cern.ch/user/d/dperrino/public/libCGALso\"\)", kTRUE);
+ gProof->Exec("gSystem->Load\(\"/afs/cern.ch/user/d/dperrino/public/libCGAL.so\"\)", kTRUE);
gProof->Exec("gSystem->Load\(\"/afs/cern.ch/user/d/dperrino/public/libfastjet.so\"\)", kTRUE);
// problem when loading siscone copiled with different gcc version??
// gProof->Exec("gSystem->Load\(\"/afs/cern.ch/user/d/dperrino/public/libsiscone.so\"\)", kTRUE);
gProof->Exec("gSystem->Load\(\"/afs/cern.ch/user/d/dperrino/public/libSISConePlugin.so\"\)", kTRUE);
}
- if (!LoadLibrary("libCGAL.so", mode, kTRUE)) return kFALSE;
- if (!LoadLibrary("libfastjet.so", mode, kTRUE)) return kFALSE;
- if (!LoadLibrary("libsiscone.so", mode, kTRUE)) return kFALSE;
- if (!LoadLibrary("libSISConePlugin.so", mode, kTRUE)) return kFALSE;
if (!LoadLibrary("JETAN", mode, kTRUE)) return kFALSE;
+ if(!kUsePAR){
+ if (!LoadLibrary("CGAL", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("fastjet", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("siscone", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("SISConePlugin", mode, kTRUE)) return kFALSE;
+ }
+ else{
+ // par files plus FASTJET needs some extra work... need to change
+ // the loading sequence in the auto generated .C file
+ if (!LoadLibrary("libCGAL.so", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("libfastjet.so", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("libsiscone.so", mode, kTRUE)) return kFALSE;
+ if (!LoadLibrary("libSISConePlugin.so", mode, kTRUE)) return kFALSE;
+ }
if (!LoadLibrary("FASTJETAN", mode, kTRUE)) return kFALSE;
}
if(iPWG4JetTasks){
if(iPWG1QASym){
if (!LoadSource(Form("%s/PWG1/AliAnalysisTaskQASym.cxx",gSystem->ExpandPathName("$ALICE_ROOT")), mode, kTRUE))return kFALSE;
}
+ if(iPWG4TmpSourceSara){
+ gSystem->AddIncludePath("-I$ALICE_ROOT/include/JetTasks"); // ugly hack!!
+ if(!LoadSource(Form("%s/PWG4/JetTasks/AliAnalysisTaskEta.cxx",gSystem->ExpandPathName("$ALICE_ROOT")), mode, kTRUE))return kFALSE;
+ }
if (iPWG4PartCorr) {
if (!LoadLibrary("EMCALUtils", mode, kTRUE) ||
!LoadLibrary("PHOSUtils", mode, kTRUE) ||
!LoadLibrary("PWG4PartCorrBase", mode, kTRUE) ||
!LoadLibrary("PWG4PartCorrDep", mode, kTRUE)) return kFALSE;
}
+ if (iPWG4omega3pi) {
+ if (!LoadLibrary("PWG4omega3pi", mode, kTRUE)) return kFALSE;
+ }
if (iPWG4GammaConv) {
if (!LoadLibrary("PWG4GammaConv", mode, kTRUE)) return kFALSE;
}
return kFALSE;
}
if (rec) anaLibs += Form("%s.so ",mod.Data());
+ if (rec) anaLibsExtra += Form("%s.so ",mod.Data());
return kTRUE;
}
// Check if the library is already loaded
plugin->SetNtestFiles(2);
// plugin->SetPreferedSE("ALICE::NIHAM::File");
// Set versions of used packages
- plugin->SetAPIVersion("V1.0x");
+ plugin->SetAPIVersion("V1.1x");
+ // plugin->SetAPIVersion("V1.0x");
+// plugin->SetAPIVersion("V2.4");
plugin->SetROOTVersion(kPluginRootVersion);
plugin->SetAliROOTVersion(kPluginAliRootVersion);
// Declare input data to be processed.
ifstream in1;
in1.open(kGridLocalRunList.Data());
int iRun;
- while(in1>>iRun){
- Printf("AnalysisTrainPWG4Jets Adding run number from File %s", Form(kGridRunPattern.Data(),iRun));
- plugin->AddRunNumber(Form(kGridRunPattern.Data(),iRun));
+ char c;
+ char cLine[250];
+ while(!in1.eof()){
+ c = in1.get();
+ if ( (c >= '0') && (c <= '9') )
+ {
+ in1.putback (c);
+ in1>>iRun;
+ Printf("AnalysisTrainPWG4Jets Adding run number from File %s", Form(kGridRunPattern.Data(),iRun));
+ plugin->AddRunNumber(Form(kGridRunPattern.Data(),iRun));
+ }
+ else
+ {
+ in1.putback (c);
+ in1.getline(cLine,250);
+ Printf("AnalysisTrainPWG4Jets Skipping run number from File %s", cLine);
+ }
}
}
// set extra libs before par file compilation
anaLibs += kGridExtraFiles;
anaLibs = anaLibs.Strip();
- Printf("%s",anaLibs.Data());
- if (anaLibs.Length()) plugin->SetAdditionalLibs(anaLibs.Data());
+ Printf("anaLibs %s",anaLibs.Data());
+ Printf("anaLibsExtra %s",anaLibsExtra.Data());
+
+ if (anaLibs.Length()) plugin->SetAdditionalLibs(anaLibs.Data());
+ if (anaLibsExtra.Length()) plugin->SetAdditionalRootLibs(anaLibsExtra.Data());
TString ana_sources = "";
TString ana_add = "";
if (!(strcmp(filename, "default"))) {
if (!mgr->GetOutputEventHandler()) continue;
filename = mgr->GetOutputEventHandler()->GetOutputFileName();
- if (listaods.Length()) listaods += ",";
+ if (listaods.Length()) listaods += " ";
listaods += filename;
- if(kIsMC){
- listaods += ",";
- listaods += "pyxsec_hists.root";
- }
} else {
- if(!listhists->Contains(filename)){
- if (listhists.Length()) listhists += ",";
+ if(!listhists.Contains(filename)){
+ if (listhists.Length()) listhists += " ";
listhists += filename;
}
}
}
if(kUseSysInfo>0){
- if (listhists.Length()) listhists += ",";
+ if (listhists.Length()) listhists += " ";
listhists += "syswatch.root";
}
+ if(kIsMC){
+ if (listaods.Length()) listaods += " ";
+ listaods += "pyxsec_hists.root";
+ }
+
+
if (mgr->GetExtraFiles().Length()) {
- if (listaods.Length()) listaods += ",";
+ if (listaods.Length()) listaods += " ";
listaods += mgr->GetExtraFiles();
- listaods.ReplaceAll(" ", ",");
}
// if we do not fill the aod we do not need to store it
- if(!kFillAOD)listaods="";
+ kGridMergeExclude = listaods;
+
+ if(!kFillAOD){
+ listaods="";
+ plugin->SetDefaultOutputs(kFALSE);
+ plugin->SetOutputFiles(listhists.Data());
+ }
+
+ listaods.ReplaceAll(" ", ",");
+ listhists.ReplaceAll(" ", ",");
if (listhists.Length()) listhists = Form("hist_archive.zip:%s@%s", listhists.Data(), kGridOutputStorages.Data());;
if (listaods.Length()) listaods = Form("aod_archive.zip:%s@%s", listaods.Data(), kGridOutputStorages.Data());;
::Fatal("AnalysisTrainPWG4Jets", "No task output !");
}
- kGridMergeExclude = listaods;
- TString outputArchive = "log_archive.zip:stdout,stderr@ALICE::CERN::SE";
- if(kUseSysInfo>0)outputArchive = "log_archive.zip:stdout,stderr,syswatch.log@ALICE::CERN::SE";
+
+ TString outputArchive = "log_archive.zip:stdout,stderr@ALICE::FZK::SE,ALICE::GSI::SE";
+ if(kUseSysInfo>0)outputArchive = "log_archive.zip:stdout,stderr,syswatch.log@ALICE::FZK::SE,ALICE::GSI::SE";
if (listaods.Length()) {
outputArchive += " ";
outputArchive += listaods;
Int_t index;
index = st.Index("gSystem->Load(\"libPhysics\");");
index += strlen("gSystem->Load(\"libPhysics\");");
- if(iJETAN){
+ if(iJETAN&&kUsePAR){
TObjArray *arr;
TObjString *objstr;
arr = anaLibs.Tokenize(" ");
TString add = "";
add += "\n\n // added by CKB \n";
while ((objstr=(TObjString*)next())){
+ if(objstr->GetString().Contains("PWG3"))continue;
if(objstr->GetString().EndsWith(".so"))add += Form("gSystem->Load(\"%s\");\n",objstr->GetString().Data());
}
delete arr;
add += "// BKC \n\n";
st.Insert(index,add.Data());
}
+
+ if(kUseDebug){
+ st.Insert(index,"\n gROOT->ProcessLine(\".trace\"); // CKB \n");
+ }
+
ofstream out;
out.open(Form("%s.C", kTrainName.Data()));
if (out.bad()) {