//
- gSystem->SetIncludePath("-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 -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -g");
+ gSystem->SetIncludePath("-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 -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/OADB -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/base -I$ALICE_ROOT/PWG3/vertexingHF -g");
//
TString trainName = "D2H";
TString analysisMode = "grid"; // "local", "grid", or "proof"
TString dataset; // for proof
if(!useAlienPlugin) {
- TString makeAODInputChain="MakeAODInputChain.C"; makeAODInputChain.Prepend(loadMacroPath.Data());
+ TString makeAODInputChain="../MakeAODInputChain.C"; makeAODInputChain.Prepend(loadMacroPath.Data());
if(inputMode=="list") {
// Local files
gROOT->LoadMacro(makeAODInputChain.Data());
//-------------------------------------------------------------------
// Analysis tasks (wagons of the train)
//
+ // First add the task for the PID response setting
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AliAnalysisTaskSE *setupTask = AddTaskPIDResponse(kFALSE,kTRUE);
+
TString taskName;
////// ADD THE FULL D2H TRAIN
- /*taskName="AddD2HTrain.C"; taskName.Prepend(loadMacroPath.Data());
+ /*taskName="../AddD2HTrain.C"; taskName.Prepend(loadMacroPath.Data());
gROOT->LoadMacro(taskName.Data());
Bool_t readMC=kFALSE;
AddD2HTrain(readMC);//,1,0,0,0,0,0,0,0,0,0,0);*/
gROOT->LoadMacro(taskName.Data());
AliAnalysisTaskSEBkgLikeSignD0 *lsD0Task = AddTaskBkgLikeSignD0();
- taskName="AddTaskBkgLikeSignJPSI.C"; taskName.Prepend(loadMacroPath.Data());
- gROOT->LoadMacro(taskName.Data());
- AliAnalysisTaskSEBkgLikeSignJPSI *lsJPSITask = AddTaskBkgLikeSignJPSI();
-
- //taskName="AddTaskBtoJPSItoEle.C"; taskName.Prepend(loadMacroPath.Data());
- //gROOT->LoadMacro(taskName.Data());
- //AliAnalysisTaskSEBtoJPSItoEle *jpsiTask = AddTaskBtoJPSItoEle();
-
taskName="AddTaskCFMultiVarMultiStep.C"; taskName.Prepend(loadMacroPath.Data());
gROOT->LoadMacro(taskName.Data());
AliCFHeavyFlavourTaskMultiVarMultiStep *cfmvmsTask = AddTaskCFMultiVarMultiStep();
taskName.Prepend(loadMacroPath.Data());
gROOT->LoadMacro(taskName.Data());
Int_t switchMC[5]={0,0,0,0,0};
+ Int_t ppPbPb=1;// 0 for pp, 1 for PbPb, used to siwtch on/off the removal of daughters from the primary vertex
+ AliAnalysisTaskSECharmFraction *cFractTask = AddTaskSECharmFraction("standard",switchMC,readMC,kTRUE,kFALSE,"D0toKpiCharmFractCuts.root","c",ppPbPb);
// arguments: filename,switchMC,readmc,usepid,likesign,cutfilename,containerprefix
- AliAnalysisTaskSECharmFraction *cFractTask = AddTaskSECharmFraction("standard",switchMC);
+
// attach a private task (not committed)
// (the files MyTask.h MyTask.cxx AddMyTask.C have to be declared in plugin
AliAnalysisAlien *plugin = new AliAnalysisAlien();
// Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
plugin->SetRunMode(pluginmode.Data());
- plugin->SetUser("dainesea");
- plugin->SetNtestFiles(3);
+ plugin->SetUser();
// Set versions of used packages
plugin->SetAPIVersion("V1.1x");
- plugin->SetROOTVersion("v5-27-05-build3");
- plugin->SetAliROOTVersion("v4-20-10-AN");
+ plugin->SetROOTVersion();
+ plugin->SetAliROOTVersion();
+
+ gROOT->LoadMacro("$ALICE_ROOT/PWG3/vertexingHF/AddGoodRuns.C");
+
// Declare input data to be processed.
//************************************************
// Set data search pattern for DATA
- //************************************************
- /*
- plugin->SetGridDataDir("/alice/data/2010/LHC10b"); // specify LHC period
- plugin->SetDataPattern("pass2/AOD006/*AliAOD.root"); // specify reco pass and AOD set
+ //************************************************
+ plugin->SetGridDataDir("/alice/data/2010/LHC10d"); // specify LHC period
+ plugin->SetDataPattern("pass2/AOD018/*AliAOD.root"); // specify reco pass and AOD set
plugin->SetFriendChainName("./AliAOD.VertexingHF.root");
// OR plugin->SetFriendChainName("deltas/AliAOD.VertexingHF.root");
// Adds only the good runs from the Monalisa Run Condition Table
// More than one period can be added but the period name has to be removed from GridDataDir (to be tested)
Int_t totruns=0;
- totruns += AddGoodRuns(plugin,"LHC10b"); // specify LHC period
+ //totruns += AddGoodRuns(plugin,"LHC10b"); // specify LHC period
//totruns += AddGoodRuns(plugin,"LHC10c"); // specify LHC period
+ totruns += AddGoodRuns(plugin,"LHC10d"); // specify LHC period
plugin->SetNrunsPerMaster(totruns);
- */
+
//************************************************
// Set data search pattern for MONTECARLO
//************************************************
-
+ /*
plugin->SetGridDataDir("/alice/sim/LHC10d3"); // specify MC sample
plugin->SetDataPattern("AOD005/*AliAOD.root"); // specify AOD set
plugin->SetFriendChainName("./AliAOD.VertexingHF.root");
//totruns += AddGoodRuns(plugin,"LHC10c","LHC10f7"); // specify LHC period for anchor runs; and the name of the MC production
//totruns += AddGoodRuns(plugin,"LHC10d","LHC10f7"); // specify LHC period for anchor runs; and the name of the MC production
plugin->SetNrunsPerMaster(totruns);
-
+ */
//
- // plugin->SetMaxMergeFiles(100);
// Define alien work directory where all files will be copied. Relative to alien $HOME.
plugin->SetGridWorkingDir("myHFanalysis");
// Declare alien output directory. Relative to working directory.
//plugin->SetAnalysisSource("AliDStarJets.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("libPWG3vertexingHF.so libPWG3base.so libPWG3muon.so");
+ plugin->SetAdditionalLibs("libPWG3base.so libPWG3vertexingHF.so");
// use par files
if(useParFiles) {
plugin->EnablePackage("STEERBase.par");
plugin->EnablePackage("ESD.par");
plugin->EnablePackage("AOD.par");
plugin->EnablePackage("ANALYSIS.par");
+ plugin->EnablePackage("OADB.par");
plugin->EnablePackage("ANALYSISalice.par");
plugin->EnablePackage("CORRFW.par");
plugin->EnablePackage("PWG3base.par");
plugin->EnablePackage("PWG3vertexingHF.par");
- plugin->EnablePackage("PWG3muon.par");
}
- 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 -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -g");
- // Declare the output file names separated by blancs.
- // (can be like: file.root or file.root@ALICE::Niham::File)
+ 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 -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/OADB -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/base -I$ALICE_ROOT/PWG3/vertexingHF -g");
+
plugin->SetDefaultOutputs(kTRUE);
- //plugin->SetOutputFiles("output.root CmpHF.root CmpHFnt.root D0InvMass.root InvMassDplus.root InvMassDplus_nt1.root InvMassDplus_nt2.root");
- // Optionally define the files to be archived.
- // plugin->SetOutputArchive("log_archive.zip:stdout,stderr@ALICE::NIHAM::File root_archive.zip:*.root@ALICE::NIHAM::File");
- // plugin->SetOutputArchive("log_archive.zip:stdout,stderr");
+ // merging via jdl
+ plugin->SetMergeViaJDL(kTRUE);
+ plugin->SetOneStageMerging(kFALSE);
+ plugin->SetMaxMergeStages(2);
+
// Optionally set a name for the generated analysis macro (default MyAnalysis.C)
plugin->SetAnalysisMacro("AnalysisHF.C");
// Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
- plugin->SetSplitMaxInputFileNumber(10);
- // Optionally set number of failed jobs that will trigger killing waiting sub-jobs.
- //plugin->SetMaxInitFailed(5);
- // Optionally resubmit threshold.
- //plugin->SetMasterResubmitThreshold(90);
- // Optionally set time to live (default 30000 sec)
- //plugin->SetTTL(20000);
- // Optionally set input format (default xml-single)
- plugin->SetInputFormat("xml-single");
// Optionally modify the name of the generated JDL (default analysis.jdl)
plugin->SetJDLName("TaskHF.jdl");
- // Optionally modify job price (default 1)
- //plugin->SetPrice(1);
- // Optionally modify split mode (default 'se')
- plugin->SetSplitMode("se");
-
return plugin;
}
-//----------------------------------------------------------------------------
-Int_t AddGoodRuns(AliAnalysisAlien* plugin,TString lhcPeriod,TString mcprod="") {
- //
- // Adds good runs from the Monalisa Run Condition Table
- //
- if(mcprod=="") plugin->SetRunPrefix("000"); // DATA
-
- Int_t firstrun=0,lastrun=9999999;
- Int_t nruns=0,ngoodruns=0;
-
- if(mcprod=="LHC10d3") {firstrun=117054;lastrun=117222;}
- if(mcprod=="LHC10d5") {firstrun=117086;lastrun=117222;}
-
- if(lhcPeriod=="LHC10b") {
- nruns=31;
- Int_t runlist[31]={117222, 117220, 117116, 117112, 117109, 117099, 117092, 117086, 117077, 117065, 117063, 117060, 117059, 117054, 117053, 117052, 117050, 117048, 116645, 116643, 116574, 116571, 116562, 116403, 116288, 116102, 115401, 115393, 115193, 115186, 114931};
-
- for(Int_t k=0;k<nruns;k++){
- if(runlist[k]<firstrun || runlist[k]>lastrun) continue;
- plugin->AddRunNumber(runlist[k]);
- ngoodruns++;
- }
- plugin->SetNrunsPerMaster(ngoodruns);
- }
-
- if(lhcPeriod=="LHC10c") {
- nruns=36;
- Int_t runlist[36]={120829, 120825, 120824, 120823, 120822, 120821, 120820, 120758, 120750, 120741, 120671, 120617, 120616, 120505, 120504, 120503, 120244, 120079, 120076, 120073, 120072, 120069, 120067, 119862, 119859, 119856, 119853, 119849, 119846, 119845, 119844, 119842, 119841, 119163, 119161, 119159};
-
- for(Int_t k=0;k<nruns;k++){
- if(runlist[k]<firstrun || runlist[k]>lastrun) continue;
- plugin->AddRunNumber(runlist[k]);
- ngoodruns++;
- }
- plugin->SetNrunsPerMaster(ngoodruns);
- }
-
- if(lhcPeriod=="LHC10dhighmu") { // only runs with high mu
- nruns=19;
- Int_t runlist[19]={124750, 124746, 124702, 124608, 124607, 124606, 124605, 124604, 124381, 124380, 124378, 124367, 124362, 124358, 124355, 124191, 124187, 122375, 122374};
-
- for(Int_t k=0;k<nruns;k++){
- if(runlist[k]<firstrun || runlist[k]>lastrun) continue;
- plugin->AddRunNumber(runlist[k]);
- ngoodruns++;
- }
- plugin->SetNrunsPerMaster(ngoodruns);
- }
-
- if(lhcPeriod=="LHC10d") { // runs with high mu excluded
- nruns=59;
- Int_t runlist[59]={126437, 126432, 126425, 126424, 126422, 126409, 126408, 126407, 126406, 126405, 126404, 126403, 126359, 126352, 126351, 126350, 126285, 126284, 126283, 126168, 126167, 126160, 126158, 126097, 126090, 126088, 126082, 126081, 126078, 126073, 126008, 126007, 126004, 125855, 125851, 125850, 125849, 125848, 125847, 125844, 125843, 125842, 125633, 125632, 125630, 125628, 125296, 125186, 125156, 125140, 125139, 125134, 125133, 125101, 125100, 125097, 125085, 125023, 124751};
-
- for(Int_t k=0;k<nruns;k++){
- if(runlist[k]<firstrun || runlist[k]>lastrun) continue;
- plugin->AddRunNumber(runlist[k]);
- ngoodruns++;
- }
- plugin->SetNrunsPerMaster(ngoodruns);
- }
-
-
- return ngoodruns;
-}