-\r
-// "ESDs/pass2/AOD086/*/AliAOD.root"\r
-// "/alice/data/2010/LHC10h"\r
-\r
-class AliAnalysisAlien;\r
-\r
-void runGridLambdaOverK0sJets(TString runMode = "full", \r
- TString alirootVer = "v5-05-38-AN",\r
- TString rootVer = "v5-34-11",\r
- TString dataPath = "ESDs/pass2/AOD115/*/AliAOD.root",\r
- TString dataDir = "/alice/data/2011/LHC11h_2", \r
- TString workDir = "test",\r
- TString name = "LambdaOverK0sRatio", \r
- TString data = "PbPb2011",\r
- Float_t minCen = 0.,\r
- Float_t maxCen = 40.,\r
- Float_t dcaDaug = 0.5,\r
- Bool_t sepInjec = kTRUE,\r
- Bool_t isMC = kFALSE,\r
- Bool_t usePID = kFALSE,\r
- Bool_t doQA = kTRUE,\r
- Int_t run = 169838/*137530*//*138624*/){\r
-\r
-\r
- \r
- Printf(" \nThe parameters of the programm are : \n ");\r
- Printf(" \t Analysis mode:\t %s\n \t Centrality:\t %.1lf - %.1lf\n \t Use MC Data?:\t %s\n \t Use PID?:\t %s\n",\r
- "Grid",minCen,maxCen,\r
- (isMC) ? "Yes" : "No",\r
- (usePID) ? "Yes" : "No");\r
- \r
- // _____________________________________________________ //\r
- \r
- InitAndLoadLibs();\r
- \r
- AliAnalysisManager *mgr = new AliAnalysisManager("Manager");\r
- \r
- AliAnalysisGrid *alienHandler = CreateAlienHandler(runMode,alirootVer,rootVer,dataPath,dataDir,workDir,isMC,run); \r
- if (!alienHandler) return;\r
- mgr->SetGridHandler(alienHandler);\r
- \r
- AliAODInputHandler* aodH = new AliAODInputHandler;\r
- mgr->SetInputEventHandler(aodH);\r
- \r
- //PID\r
- gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");\r
- AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC);\r
- //AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC,kTRUE);\r
- if(!pidTask) { printf("no PIDtask\n"); return; }\r
- \r
- //Float_t checkIDTrig= kTRUE;\r
-\r
- // My task\r
- gROOT->LoadMacro("AliAnalysisTaskLambdaOverK0sJets.cxx++g"); \r
- //gSystem->Load("libPWGLFSTRANGENESS");\r
- gROOT->LoadMacro("AddTaskLambdaOverK0sJets.C");\r
- AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,data,minCen,maxCen,dcaDaug,sepInjec,isMC,usePID,doQA);\r
- // _____________________________________________________ //\r
- \r
- if (!mgr->InitAnalysis()) return;\r
- mgr->PrintStatus();\r
- \r
- mgr->StartAnalysis("grid");\r
-}\r
-\r
-// ______________________________________________________________\r
-\r
-void InitAndLoadLibs() {\r
- \r
- gSystem->Load("libCore.so"); \r
- gSystem->Load("libTree.so"); \r
- gSystem->Load("libGeom.so");\r
- gSystem->Load("libVMC.so");\r
- gSystem->Load("libPhysics");\r
- gSystem->Load("libMinuit.so"); \r
- gSystem->Load("libProof.so");\r
- gSystem->Load("libGui.so");\r
- gSystem->Load("libXMLParser.so");\r
- gSystem->Load("libProofPlayer.so");\r
- gSystem->Load("libXMLIO.so");\r
-\r
- gSystem->Load("libSTEERBase.so");\r
- gSystem->Load("libESD.so");\r
- gSystem->Load("libAOD.so");\r
- gSystem->Load("libCDB.so");\r
- gSystem->Load("libANALYSIS.so");\r
- gSystem->Load("libANALYSISalice.so");\r
- gSystem->Load("libCORRFW.so");\r
- gSystem->Load("libJETAN.so");\r
- gSystem->Load("libRAWDatabase.so");\r
- gSystem->Load("libSTEER.so");\r
- gSystem->Load("libCORRFW.so");\r
-\r
- \r
- gSystem->AddIncludePath("-I$ALICE_ROOT/include");\r
-}\r
-\r
-// ___________________________________________________________________ //\r
-\r
-// **** It is change 'AliAnalysisGrid' by 'AliAnalysisAlien'\r
-AliAnalysisAlien* CreateAlienHandler(TString runMode,TString alirootVer,\r
- TString rootVer,TString dataPath,\r
- TString dataDir,TString workDir,\r
- Bool_t isMC,Int_t kRun) {\r
- \r
- AliAnalysisAlien *plugin = new AliAnalysisAlien();\r
- plugin->SetCheckCopy(kFALSE);\r
-\r
- plugin->SetRunMode(runMode);\r
- // Set versions of used packages\r
- plugin->SetAPIVersion("V1.1x");\r
- plugin->SetROOTVersion(rootVer);\r
- plugin->SetAliROOTVersion(alirootVer);\r
- \r
- /////////////////////////////////////////////////////////////////\r
-\r
- // Declare input data to be processed.\r
- // Method 1: Create automatically XML collections using alien 'find' command.\r
- plugin->SetGridDataDir(dataDir);\r
- \r
- if (!isMC) \r
- plugin->SetRunPrefix("000");\r
- plugin->SetDataPattern(dataPath);\r
- \r
- plugin->AddRunNumber(kRun);\r
-\r
- // Method 2: Declare existing data files (raw collections, xml collections, root file)\r
- const char working_dir[250];\r
-\r
- sprintf(working_dir, "%s/%d",workDir.Data(),kRun);\r
- TString path = TString(working_dir);\r
- plugin->SetGridWorkingDir(path);\r
-\r
- //plugin->SetGridWorkingDir(workDir);\r
- // Declare alien output directory. Relative to working directory.\r
- plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output\r
- // Declare the analysis source files names separated by blancs. To be compiled runtime\r
- plugin->SetAnalysisSource("AliAnalysisTaskLambdaOverK0sJets.cxx");\r
- //plugin->SetAdditionalLibs("AliAnalysisTaskMultiplicity.h AliAnalysisTaskMultiplicity.cxx");\r
- plugin->SetAdditionalLibs("AliAnalysisTaskLambdaOverK0sJets.cxx AliAnalysisTaskLambdaOverK0sJets.h");\r
- // Optionally set a name for the generated analysis macro (default MyAnalysis.C)\r
- plugin->SetAnalysisMacro("AnalysisProduction.C");\r
- //plugin->SetAnalysisMacro("mytask.C");\r
- // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)\r
- plugin->SetSplitMaxInputFileNumber(50);\r
- // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.\r
- plugin->SetMaxInitFailed(12);\r
- // Optionally resubmit threshold.\r
- plugin->SetMasterResubmitThreshold(90);\r
- // Optionally set time to live (default 30000 sec)\r
- plugin->SetTTL(30000);\r
- // Optionally set input format (default xml-single)\r
- plugin->SetInputFormat("xml-single");\r
- // Optionally modify the name of the generated JDL (default analysis.jdl)\r
- plugin->SetJDLName("TaskProduction.jdl");\r
- //plugin->SetJDLName("mytask.jdl");\r
- plugin->SetMergeViaJDL(kTRUE);\r
- // Optionally modify job price (default 1)\r
- plugin->SetPrice(1); \r
- // Optionally modify split mode (default 'se') \r
- plugin->SetSplitMode("se");\r
- return plugin;\r
-\r
-}\r
+
+// "ESDs/pass2/AOD086/*/AliAOD.root"
+// "/alice/data/2010/LHC10h"
+
+class AliAnalysisAlien;
+
+void runGridLambdaOverK0sJets(TString runMode = "full",
+ TString alirootVer = "v5-05-38-AN",
+ TString rootVer = "v5-34-11",
+ TString dataPath = "ESDs/pass2/AOD115/*/AliAOD.root",
+ TString dataDir = "/alice/data/2011/LHC11h_2",
+ TString workDir = "test",
+ TString name = "LambdaOverK0sRatio",
+ TString data = "PbPb2011",
+ Float_t minCen = 0.,
+ Float_t maxCen = 40.,
+ Float_t dcaDaug = 0.5,
+ Bool_t sepInjec = kTRUE,
+ Bool_t isMC = kFALSE,
+ Bool_t usePID = kFALSE,
+ Bool_t doQA = kTRUE,
+ Int_t run = 169838/*137530*//*138624*/){
+
+
+
+ Printf(" \nThe parameters of the programm are : \n ");
+ Printf(" \t Analysis mode:\t %s\n \t Centrality:\t %.1lf - %.1lf\n \t Use MC Data?:\t %s\n \t Use PID?:\t %s\n",
+ "Grid",minCen,maxCen,
+ (isMC) ? "Yes" : "No",
+ (usePID) ? "Yes" : "No");
+
+ // _____________________________________________________ //
+
+ InitAndLoadLibs();
+
+ AliAnalysisManager *mgr = new AliAnalysisManager("Manager");
+
+ AliAnalysisGrid *alienHandler = CreateAlienHandler(runMode,alirootVer,rootVer,dataPath,dataDir,workDir,isMC,run);
+ if (!alienHandler) return;
+ mgr->SetGridHandler(alienHandler);
+
+ AliAODInputHandler* aodH = new AliAODInputHandler;
+ mgr->SetInputEventHandler(aodH);
+
+ //PID
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC);
+ //AliAnalysisTask *pidTask = AddTaskPIDResponse(isMC,kTRUE);
+ if(!pidTask) { printf("no PIDtask\n"); return; }
+
+ //Float_t checkIDTrig= kTRUE;
+
+ // My task
+ gROOT->LoadMacro("AliAnalysisTaskLambdaOverK0sJets.cxx++g");
+ //gSystem->Load("libPWGLFSTRANGENESS");
+ gROOT->LoadMacro("AddTaskLambdaOverK0sJets.C");
+ AliAnalysisTaskLambdaOverK0sJets *task = AddTaskLambdaOverK0sJets(name,data,minCen,maxCen,dcaDaug,sepInjec,isMC,usePID,doQA);
+ // _____________________________________________________ //
+
+ if (!mgr->InitAnalysis()) return;
+ mgr->PrintStatus();
+
+ mgr->StartAnalysis("grid");
+}
+
+// ______________________________________________________________
+
+void InitAndLoadLibs() {
+
+ gSystem->Load("libCore.so");
+ gSystem->Load("libTree.so");
+ gSystem->Load("libGeom.so");
+ gSystem->Load("libVMC.so");
+ gSystem->Load("libPhysics");
+ gSystem->Load("libMinuit.so");
+ gSystem->Load("libProof.so");
+ gSystem->Load("libGui.so");
+ gSystem->Load("libXMLParser.so");
+ gSystem->Load("libProofPlayer.so");
+ gSystem->Load("libXMLIO.so");
+
+ gSystem->Load("libSTEERBase.so");
+ gSystem->Load("libESD.so");
+ gSystem->Load("libAOD.so");
+ gSystem->Load("libCDB.so");
+ gSystem->Load("libANALYSIS.so");
+ gSystem->Load("libANALYSISalice.so");
+ gSystem->Load("libCORRFW.so");
+ gSystem->Load("libJETAN.so");
+ gSystem->Load("libRAWDatabase.so");
+ gSystem->Load("libSTEER.so");
+ gSystem->Load("libCORRFW.so");
+
+
+ gSystem->AddIncludePath("-I$ALICE_ROOT/include");
+}
+
+// ___________________________________________________________________ //
+
+// **** It is change 'AliAnalysisGrid' by 'AliAnalysisAlien'
+AliAnalysisAlien* CreateAlienHandler(TString runMode,TString alirootVer,
+ TString rootVer,TString dataPath,
+ TString dataDir,TString workDir,
+ Bool_t isMC,Int_t kRun) {
+
+ AliAnalysisAlien *plugin = new AliAnalysisAlien();
+ plugin->SetCheckCopy(kFALSE);
+
+ plugin->SetRunMode(runMode);
+ // Set versions of used packages
+ plugin->SetAPIVersion("V1.1x");
+ plugin->SetROOTVersion(rootVer);
+ plugin->SetAliROOTVersion(alirootVer);
+
+ /////////////////////////////////////////////////////////////////
+
+ // Declare input data to be processed.
+ // Method 1: Create automatically XML collections using alien 'find' command.
+ plugin->SetGridDataDir(dataDir);
+
+ if (!isMC)
+ plugin->SetRunPrefix("000");
+ plugin->SetDataPattern(dataPath);
+
+ plugin->AddRunNumber(kRun);
+
+ // Method 2: Declare existing data files (raw collections, xml collections, root file)
+ const char working_dir[250];
+
+ sprintf(working_dir, "%s/%d",workDir.Data(),kRun);
+ TString path = TString(working_dir);
+ plugin->SetGridWorkingDir(path);
+
+ //plugin->SetGridWorkingDir(workDir);
+ // Declare alien output directory. Relative to working directory.
+ plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output
+ // Declare the analysis source files names separated by blancs. To be compiled runtime
+ plugin->SetAnalysisSource("AliAnalysisTaskLambdaOverK0sJets.cxx");
+ //plugin->SetAdditionalLibs("AliAnalysisTaskMultiplicity.h AliAnalysisTaskMultiplicity.cxx");
+ plugin->SetAdditionalLibs("AliAnalysisTaskLambdaOverK0sJets.cxx AliAnalysisTaskLambdaOverK0sJets.h");
+ // Optionally set a name for the generated analysis macro (default MyAnalysis.C)
+ plugin->SetAnalysisMacro("AnalysisProduction.C");
+ //plugin->SetAnalysisMacro("mytask.C");
+ // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
+ plugin->SetSplitMaxInputFileNumber(50);
+ // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
+ plugin->SetMaxInitFailed(12);
+ // Optionally resubmit threshold.
+ plugin->SetMasterResubmitThreshold(90);
+ // Optionally set time to live (default 30000 sec)
+ plugin->SetTTL(30000);
+ // Optionally set input format (default xml-single)
+ plugin->SetInputFormat("xml-single");
+ // Optionally modify the name of the generated JDL (default analysis.jdl)
+ plugin->SetJDLName("TaskProduction.jdl");
+ //plugin->SetJDLName("mytask.jdl");
+ plugin->SetMergeViaJDL(kTRUE);
+ // Optionally modify job price (default 1)
+ plugin->SetPrice(1);
+ // Optionally modify split mode (default 'se')
+ plugin->SetSplitMode("se");
+ return plugin;
+
+}