AliAnalysisGrid* CreateAlienHandler(TString mode="test",TString fname="testName"){ AliAnalysisAlien *plugin = new AliAnalysisAlien(); plugin->SetOverwriteMode(); plugin->SetExecutableCommand("aliroot -q -b"); plugin->SetRunMode(mode.Data()); plugin->SetNtestFiles(20); // Set versions of used packages plugin->SetAPIVersion("V1.1x"); //plugin->SetROOTVersion("v5-34-26"); plugin->SetAliROOTVersion("v5-07-20"); plugin->SetAliPhysicsVersion("vAN-20160203"); // Declare input data to be processed. plugin->SetNrunsPerMaster(100); plugin->SetSplitMaxInputFileNumber(15); // 3 in the LEGO trains plugin->SetGridDataDir("/alice/data/2013/LHC13c/"); plugin->SetGridWorkingDir(Form("%s/",fname.Data())); plugin->SetRunPrefix("000"); plugin->SetDataPattern("/ESDs/pass2/*/AliESDs.root"); plugin->SetAnalysisMacro("TaskDeuteronTreeTest.C"); plugin->SetExecutable("TaskDeuteronTreeTest.sh"); plugin->SetJDLName("TaskDeuteronTreeTest.jdl"); Int_t runnumbers[]={195596,195592}; for(Int_t irun=0;irun<2;irun++){ Printf("%d %d",irun,runnumbers[irun]); plugin->AddRunNumber(runnumbers[irun]); } TString extraLibs; plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_PHYSICS/include"); //plugin->SetAdditionalLibs("libCORRFW.so libPWGTools.so libPWGCFCorrelationsBase.so libPWGCFCorrelationsDPhi.so AliAnalysisTaskPhiCorrelations.cxx AliAnalysisTaskPhiCorrelations.h"); //plugin->SetAnalysisSource("AliAnalysisTaskPhiCorrelations.cxx"); plugin->SetGridOutputDir("output"); // In this case will be $HOME/work/output // Declare the output file names separated by blancs. // (can be like: file.root or file.root@ALICE::Niham::File) //plugin->SetDefaultOutputs(0); //plugin->SetOutputFiles("AnalysisResults.root.root"); plugin->SetMergeViaJDL(kTRUE); plugin->SetOneStageMerging(kFALSE); //plugin->SetMaxMergeFiles(40); //plugin->SetMaxMergeStages(4); plugin->SetTTL(50000); // Optionally set input format (default xml-single) plugin->SetInputFormat("xml-single"); // Optionally modify job price (default 1) plugin->SetPrice(1); // Optionally modify split mode (default 'se') //plugin->SetSplitMaxInputFileNumber(); plugin->SetSplitMode("se"); return plugin; }
//_______________________________| CreateAlienHandler |________________________________ AliAnalysisGrid* CreateAlienHandler() { AliAnalysisAlien *Plugin = new AliAnalysisAlien(); Plugin->SetRunMode(fPluginMode.Data()); Plugin->SetUser(fUsername.Data()); Plugin->SetAPIVersion("V1.1x"); Plugin->SetROOTVersion("v5-34-30-alice-12"); Plugin->SetAliROOTVersion("v5-07-20-4"); Plugin->SetAliPhysicsVersion("vAN-20160129-1"); Plugin->SetNtestFiles(1); Plugin->SetFileForTestMode(TestFilesWPlugin.Data()); // Set data search pattern for DATA grid Mode Plugin->SetGridDataDir("/alice/sim/2013/LHC13b2_efix_p1"); // specify MC sample if(readAOD) Plugin->SetDataPattern("AOD/*AliAOD.root");// specify AOD set else Plugin->SetDataPattern("*/AliESDs.root"); Int_t totruns=0; //gROOT->LoadMacro("$ALICE_PHYSICS/PWGHF/vertexingHF/AddGoodRuns.C"); gROOT->LoadMacro("AddGoodRuns.C"); totruns += AddGoodRuns(Plugin,"LHC13b","LHC13b2_efix_p1"); //Set accordingly Plugin->SetNrunsPerMaster(totruns); Plugin->SetGridWorkingDir("SingleTrkEff/LHC13b2_efix_p1/16Feb2016/"); Plugin->SetGridOutputDir("out"); Plugin->SetExecutable("STE16Feb2016.sh"); Plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_PHYSICS -I$ALICE_PHYSICS/include -I$ALICE_PHYSICS/ITS -I$ALICE_PHYSICS/TPC -I$ALICE_PHYSICS/CONTAINERS -I$ALICE_PHYSICS/STEER/STEER -I$ALICE_PHYSICS/STEER/STEERBase -I$ALICE_PHYSICS/STEER/ESD -I$ALICE_PHYSICS/STEER/AOD -I$ALICE_PHYSICS/TRD -I$ALICE_PHYSICS/macros -I$ALICE_PHYSICS/ANALYSIS -I$ALICE_PHYSICS/OADB -g"); Plugin->SetSplitMaxInputFileNumber(5); Plugin->SetDefaultOutputs(kTRUE); Plugin->SetMergeViaJDL(kTRUE); // Merge Via JDL Plugin->SetOneStageMerging(kFALSE); Plugin->SetMaxMergeStages(2); Plugin->SetAnalysisMacro("STE16Feb2016.C"); Plugin->SetJDLName("STE16Feb2016.jdl"); return Plugin; }
//______________________________________________________________________________ AliAnalysisGrid* CreateAlienHandler(const char *taskname, const char *gridmode, const char *proofcluster, const char *proofdataset) { AliAnalysisAlien *plugin = new AliAnalysisAlien(); // Set the run mode (can be "full", "test", "offline", "submit" or "terminate") plugin->SetRunMode(gridmode); // Set versions of used packages plugin->SetAPIVersion("V1.1x"); plugin->SetROOTVersion("v5-34-08"); plugin->SetAliROOTVersion("vAN-20140915"); plugin->SetExecutableCommand("aliroot -b -q"); // Declare input data to be processed. // Method 1: Create automatically XML collections using alien 'find' command. // Define production directory LFN // plugin->SetGridDataDir("/alice/data/2010/LHC10h"); // plugin->SetGridDataDir(" /alice/data/2011/LHC11h_2/"); //sim // plugin->SetDataPattern("pass2/*AliAOD.root"); // sim plugin->SetGridDataDir("/alice/data/2011/LHC11h_2/"); //sim plugin->SetDataPattern("*/pass2/*AliESDs.root"); // sim plugin->SetRunPrefix("000"); // real data Int_t runlist[] = { // Counter 170309, 170308, 170306, 170270, 170269, 170268, 170230, 170228, 170204, 170203, // 10 170193, 170163, 170159, 170155, 170081, 170027, 169859, 169858, 169855, 169846, // 20 169838, 169837, 169835, 169417, 169415, 169411, 169238, 169167, 169160, 169156, // 30 169148, 169145, 169144, 169138, 169094, 169091, 169035, 168992, 168988, 168826, // 40 168777, 168514, 168512, 168511, 168467, 168464, 168460, 168458, 168362, 168361, // 50 168342, 168341, 168325, 168322, 168311, 168310, 167988, 167987 // 58 }; for(Int_t i = 0; i < 9; i++) plugin->AddRunNumber(runlist[i]); plugin->SetNrunsPerMaster(3); plugin->SetOutputToRunNo(); // Method 2: Declare existing data files (raw collections, xml collections, root file) // plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root"); // Define alien work directory where all files will be copied. Relative to alien $HOME. plugin->SetGridWorkingDir(taskname); // Declare alien output directory. Relative to working directory. plugin->SetGridOutputDir("output"); // In this case will be $HOME/taskname/out // plugin->SetAdditionalLibs("libTree.so libGeom.so libPhysics.so libVMC.so libMinuit.so libSTEERBase.so libESD.so libAOD.so libANALYSIS.so libOADB.so libANALYSISalice.so libCORRFW.so libPWGHFbase.so libPWGflowBase.so libPWGflowTasks.so libPWGHFvertexingHF.so"); // plugin->SetAdditionalLibs("libCORRFW.so libPWGHFbase.so libPWGflowBase.so libPWGflowTasks.so libPWGHFvertexingHF.so"); plugin->SetAnalysisSource("AliAnalysisTaskFlowd.cxx"); //plugin->SetAdditionalLibs("AliAnalysisTaskFlowd.h AliAnalysisTaskFlowd.cxx "); cout<<"-->>>>>>>>>>>>>>>>>>>>>>>>> 1"<<endl; // Declare the analysis source files names separated by blancs. To be compiled runtime // using ACLiC on the worker nodes. //plugin->SetAdditionalLibs("libPWGHFbase.so libPWGflowBase.so libPWGflowTasks.so libPWGHFvertexingHF.so AliAODMuonReplicator0.so"); cout<<"-->>>>>>>>>>>>>>>>>>>>>>>>> 2"<<endl; // plugin->SetAdditionalLibs("libTree.so libGeom.so libPhysics.so libVMC.so libMinuit.so libSTEERBase.so libESD.so libAOD.so libANALYSIS.so libOADB.so libANALYSISalice.so libCORRFW.so libPWGHFbase.so libPWGflowBase.so libPWGflowTasks.so libPWGHFvertexingHF.so"); // plugin->SetAnalysisSource("AliAnalysisTaskESDMuonFilterO.cxx"); //plugin->SetAnalysisSource("AliAODMuonReplicator0.cxx"); // Declare all libraries (other than the default ones for the framework. These will be // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here. // plugin->SetAdditionalLibs("AliAODMuonReplicator0_cxx.so"); // plugin->SetAdditionalLibs("AliAnalysisTaskESDMuonFilterO_cxx.so"); //questo plugin->SetAdditionalLibs("libSTEERBase.so libESD.so AliAnalysisTaskFlowd.h AliAnalysisTaskFlowd.cxx libPWGflowBase.so libPWGflowTasks.so libPWGHFbase.so libPWGHFvertexingHF.so"); plugin->AddIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT/TPC -I$ALICE_ROOT/CONTAINERS -I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/STEER/STEERBase -I$ALICE_ROOT/STEER/ESD -I$ALICE_ROOT/STEER/AOD -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/OADB -I$ALICE_ROOT/PWGHF -I$ALICE_ROOT/PWGHF/base -I$ALICE_ROOT/PWGHF/vertexingHF -I$ALICE_ROOT/PWG/FLOW/Base -I$ALICE_ROOT/PWG/FLOW/Tasks -g"); // plugin->SetAdditionalLibs("AliAODMuonReplicator0.h AliAODMuonReplicator0.cxx"); // plugin->SetAdditionalLibs("AliAnalysisTaskESDMuonFilterO.h AliAnalysisTaskESDMuonFilterO.cxx"); //plugin->SetAdditionalLibs("AliAODMuonReplicator0.h AliAODMuonReplicator0.cxx AliAnalysisTaskESDMuonFilterO.h AliAnalysisTaskESDMuonFilterO.cxx"); cout<<"-->>>>>>>>>>>>>>>>>>>>>>>>> 3"<<endl; // plugin->SetAdditionalLibs("AliAODMuonReplicator0.h AliAODMuonReplicator0.cxx"); // plugin->SetAdditionalLibs("AliAnalysisTaskESDMuonFilterO.h AliAnalysisTaskESDMuonFilterO.cxx"); // Declare the output file names separated by blancs. // (can be like: file.root or file.root@ALICE::Niham::File) // To only save certain files, use SetDefaultOutputs(kFALSE), and then // SetOutputFiles("list.root other.filename") to choose which files to save plugin->SetDefaultOutputs(); //plugin->SetOutputFiles("list.root"); // Optionally set a name for the generated analysis macro (default MyAnalysis.C) plugin->SetAnalysisMacro(Form("%s.C",taskname)); // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore) plugin->SetSplitMaxInputFileNumber(10); // Optionally modify the executable name (default analysis.sh) plugin->SetExecutable(Form("%s.sh",taskname)); // set number of test files to use in "test" mode plugin->SetNtestFiles(1); // file containing a list of chuncks to be used for testin plugin->SetFileForTestMode("testdata"); // 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(Form("%s.jdl",taskname)); // Optionally modify job price (default 1) plugin->SetPrice(1); // Optionally modify split mode (default 'se') plugin->SetSplitMode("se"); //---------------------------------------------------------- //--- PROOF MODE SPECIFIC SETTINGS ------------ //---------------------------------------------------------- // Proof cluster plugin->SetProofCluster(proofcluster); // Dataset to be used plugin->SetProofDataSet(proofdataset); // May need to reset proof. Supported modes: 0-no reset, 1-soft, 2-hard plugin->SetProofReset(0); // May limit number of workers plugin->SetNproofWorkers(0); // May limit the number of workers per slave plugin->SetNproofWorkersPerSlave(1); // May use a specific version of root installed in proof plugin->SetRootVersionForProof("current"); // May set the aliroot mode. Check http://aaf.cern.ch/node/83 plugin->SetAliRootMode("default"); // Loads AF libs by default // May request ClearPackages (individual ClearPackage not supported) plugin->SetClearPackages(kFALSE); // Plugin test mode works only providing a file containing test file locations, used in "local" mode also plugin->SetFileForTestMode("files.txt"); // file should contain path name to a local directory containg *ESDs.root etc // Request connection to alien upon connection to grid plugin->SetProofConnectGrid(kFALSE); cout<<"-->>>>>>>>>>>>>>>>>>>>>>>>> 4"<<endl; return plugin; cout<<"-->>>>>>>>>>>>>>>>>>>>>>>>> 5"<<endl; }
//______________________________________________________________________________ AliAnalysisGrid* CreateAlienHandler(Bool_t bAOD, Int_t bunchN, const char *taskname, const char *gridmode, const char *proofcluster, const char *proofdataset) { AliAnalysisAlien *plugin = new AliAnalysisAlien(); // Set the run mode (can be "full", "test", "offline", "submit" or "terminate") plugin->SetRunMode(gridmode); // Set versions of used packages plugin->SetAPIVersion("V1.1x"); plugin->SetROOTVersion("v5-34-08"); plugin->SetAliROOTVersion("v5-05-19-AN"); // Declare input data to be processed. // Method 1: Create automatically XML collections using alien 'find' command. // Define production directory LFN plugin->SetGridDataDir("/alice/data/2010/LHC10h/"); // On real reconstructed data: // plugin->SetGridDataDir("/alice/data/2009/LHC09d"); // Set data search pattern //plugin->SetDataPattern("*ESDs.root"); // THIS CHOOSES ALL PASSES // Data pattern for reconstructed data if(!bAOD){ plugin->SetDataPattern("*ESDs/pass2/*ESDs.root"); // CHECK LATEST PASS OF DATA SET IN ALIENSH } else{ plugin->SetDataPattern("*ESDs/pass2/AOD086/*/AliAOD.root"); } plugin->SetRunPrefix("000"); // real data // ...then add run numbers to be considered //plugin->SetRunRange(114917,115322); if(bunchN==0){ plugin->AddRunNumber(137366); } //bunch1 else if(bunchN == 1){ plugin->AddRunNumber(139510); plugin->AddRunNumber(139507); plugin->AddRunNumber(139505); plugin->AddRunNumber(139503); plugin->AddRunNumber(139465); plugin->AddRunNumber(139438); plugin->AddRunNumber(139437); plugin->AddRunNumber(139360); plugin->AddRunNumber(139329); plugin->AddRunNumber(139328); } //bunch2 else if(bunchN == 2){ plugin->AddRunNumber(139314); plugin->AddRunNumber(139310); plugin->AddRunNumber(139309); plugin->AddRunNumber(139173); plugin->AddRunNumber(139107); plugin->AddRunNumber(139105); plugin->AddRunNumber(139038); plugin->AddRunNumber(139037); plugin->AddRunNumber(139036); plugin->AddRunNumber(139029); plugin->AddRunNumber(139028); plugin->AddRunNumber(138872); plugin->AddRunNumber(138871); plugin->AddRunNumber(138870); plugin->AddRunNumber(138837); plugin->AddRunNumber(138732); plugin->AddRunNumber(138730); plugin->AddRunNumber(138666); plugin->AddRunNumber(138662); plugin->AddRunNumber(138653); } else if(bunchN == 3){ plugin->AddRunNumber(138652); plugin->AddRunNumber(138638); plugin->AddRunNumber(138624); plugin->AddRunNumber(138621); plugin->AddRunNumber(138583); plugin->AddRunNumber(138582); plugin->AddRunNumber(138579); plugin->AddRunNumber(138578); plugin->AddRunNumber(138534); plugin->AddRunNumber(138469); } else if(bunchN == 4){ plugin->AddRunNumber(138442); plugin->AddRunNumber(138439); plugin->AddRunNumber(138438); plugin->AddRunNumber(138396); plugin->AddRunNumber(138364); plugin->AddRunNumber(138275); plugin->AddRunNumber(138225); plugin->AddRunNumber(138201); plugin->AddRunNumber(138197); plugin->AddRunNumber(138192); } else if(bunchN == 5){ plugin->AddRunNumber(138190); plugin->AddRunNumber(137848); plugin->AddRunNumber(137844); plugin->AddRunNumber(137752); plugin->AddRunNumber(137751); plugin->AddRunNumber(137724); plugin->AddRunNumber(137722); plugin->AddRunNumber(137718); plugin->AddRunNumber(137704); plugin->AddRunNumber(137693); } else if(bunchN == 6){ plugin->AddRunNumber(137692); plugin->AddRunNumber(137691); plugin->AddRunNumber(137686); plugin->AddRunNumber(137685); plugin->AddRunNumber(137639); plugin->AddRunNumber(137638); plugin->AddRunNumber(137608); plugin->AddRunNumber(137595); plugin->AddRunNumber(137549); plugin->AddRunNumber(137546); } else if(bunchN == 7){ plugin->AddRunNumber(137544); plugin->AddRunNumber(137541); plugin->AddRunNumber(137539); plugin->AddRunNumber(137531); plugin->AddRunNumber(137530); plugin->AddRunNumber(137443); plugin->AddRunNumber(137441); plugin->AddRunNumber(137440); plugin->AddRunNumber(137439); plugin->AddRunNumber(137434); } else if(bunchN == 8){ plugin->AddRunNumber(137432); plugin->AddRunNumber(137431); plugin->AddRunNumber(137430); plugin->AddRunNumber(137366); plugin->AddRunNumber(137243); plugin->AddRunNumber(137236); plugin->AddRunNumber(137235); plugin->AddRunNumber(137232); plugin->AddRunNumber(137231); plugin->AddRunNumber(137162); plugin->AddRunNumber(137161); } else{ stderr<<"BUNCH NOT THERE"<<endl; return NULL; } //plugin->AddRunList("139510, 139507, 139505, 139503, 139465, 139438, 139437, 139360, 139329, 139328, 139314, 139310, 139309, 139173, 139107, 139105, 139038, 139037, 139036, 139029, 139028, 138872, 138871, 138870, 138837, 138732, 138730, 138666, 138662, 138653, 138652, 138638, 138624, 138621, 138583, 138582, 138579, 138578, 138534, 138469, 138442, 138439, 138438, 138396, 138364, 138275, 138225, 138201, 138197, 138192, 138190, 137848, 137844, 137752, 137751, 137724, 137722, 137718, 137704, 137693, 137692, 137691, 137686, 137685, 137639, 137638, 137608, 137595, 137549, 137546, 137544, 137541, 137539, 137531, 137530, 137443, 137441, 137440, 137439, 137434, 137432, 137431, 137430, 137366, 137243, 137236, 137235, 137232, 137231, 137162, 137161"); plugin->SetNrunsPerMaster(1); plugin->SetOutputToRunNo(); // comment out the next line when using the "terminate" option, unless // you want separate merged files for each run plugin->SetMergeViaJDL(); // Method 2: Declare existing data files (raw collections, xml collections, root file) // If no path mentioned data is supposed to be in the work directory (see SetGridWorkingDir()) // XML collections added via this method can be combined with the first method if // the content is compatible (using or not tags) // plugin->AddDataFile("tag.xml"); // plugin->AddDataFile("/alice/data/2008/LHC08c/000057657/raw/Run57657.Merged.RAW.tag.root"); // Define alien work directory where all files will be copied. Relative to alien $HOME. plugin->SetGridWorkingDir(taskname); // Declare alien output directory. Relative to working directory. plugin->SetGridOutputDir("out"); // In this case will be $HOME/taskname/out // Declare the analysis source files names separated by blancs. To be compiled runtime // using ACLiC on the worker nodes. plugin->SetAnalysisSource("AliBalance.cxx AliAnalysisTaskBF.cxx"); // Declare all libraries (other than the default ones for the framework. These will be // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here. //plugin->AddIncludePath("-I."); //plugin->SetAdditionalLibs("libPWGCFebye.so"); plugin->SetAdditionalLibs("AliBalance.cxx AliBalance.h AliAnalysisTaskBF.cxx AliAnalysisTaskBF.h"); // Declare the output file names separated by blancs. // (can be like: file.root or file.root@ALICE::Niham::File) // To only save certain files, use SetDefaultOutputs(kFALSE), and then // SetOutputFiles("list.root other.filename") to choose which files to save plugin->SetDefaultOutputs(); //plugin->SetOutputFiles("list.root"); // Optionally set a name for the generated analysis macro (default MyAnalysis.C) plugin->SetAnalysisMacro(Form("%s.C",taskname)); // Optionally set maximum number of input files/subjob (default 100, put 0 to ignore) plugin->SetSplitMaxInputFileNumber(100); // Optionally modify the executable name (default analysis.sh) plugin->SetExecutable(Form("%s.sh",taskname)); // set number of test files to use in "test" mode plugin->SetNtestFiles(1); // Optionally resubmit threshold. plugin->SetMasterResubmitThreshold(90); // Optionally set time to live (default 30000 sec) plugin->SetTTL(90000); // Optionally set input format (default xml-single) plugin->SetInputFormat("xml-single"); // Optionally modify the name of the generated JDL (default analysis.jdl) plugin->SetJDLName(Form("%s.jdl",taskname)); // Optionally modify job price (default 1) plugin->SetPrice(1); // Optionally modify split mode (default 'se') plugin->SetSplitMode("se"); //plugin->SetUseSubmitPolicy(); //plugin->SetKeepLogs(); //---------------------------------------------------------- //--- PROOF MODE SPECIFIC SETTINGS ------------ //---------------------------------------------------------- // Proof cluster plugin->SetProofCluster(proofcluster); // Dataset to be used plugin->SetProofDataSet(proofdataset); // May need to reset proof. Supported modes: 0-no reset, 1-soft, 2-hard plugin->SetProofReset(0); // May limit number of workers plugin->SetNproofWorkers(0); // May limit the number of workers per slave plugin->SetNproofWorkersPerSlave(1); // May use a specific version of root installed in proof plugin->SetRootVersionForProof("current"); // May set the aliroot mode. Check http://aaf.cern.ch/node/83 plugin->SetAliRootMode("default"); // Loads AF libs by default // May request ClearPackages (individual ClearPackage not supported) plugin->SetClearPackages(kFALSE); // Plugin test mode works only providing a file containing test file locations, used in "local" mode also plugin->SetFileForTestMode("files.txt"); // file should contain path name to a local directory containg *ESDs.root etc // Request connection to alien upon connection to grid plugin->SetProofConnectGrid(kFALSE); plugin->Print(); return plugin; }