]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/RESONANCES/macros/lego_train/AddAMRsn.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / lego_train / AddAMRsn.C
index bbed2239d0db1c7920920045a8fcdeedc16deeb7..c9817f2fa081af1f43620547fdfe7c569b9cf0f0 100644 (file)
@@ -1,25 +1,53 @@
 #ifndef __CINT__
 #include "AliRsnTrainManager.h"
 #endif
-Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",TString input="aod",TString inputMC="", TString postfix = "",TString idStr="0")
+Bool_t AddAMRsnTrain(TString analysisSource = "proof", TString analysisMode = "test",TString input="aod",TString inputMC="", TString postfix = "",TString idStr="0")
 {
 
    Bool_t usePrivateTrain = kFALSE;
    usePrivateTrain = kTRUE;
 
    TString legoTrainPath = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train";
-   //legoTrainPath = "/home/mvala/git/AliRsn/PWGLF/RESONANCES/macros/lego_train";
+//   legoTrainPath = "/home/mvala/git/AliRsn/PWGLF/RESONANCES/macros/lego_train";
    AliAnalysisManager::SetGlobalStr("RsnLegoTrainPath",legoTrainPath.Data());
 
+   AliAnalysisManager *mrg = AliAnalysisManager::GetAnalysisManager();
+
+   TString rsnBaseSettings = "Rsn_pp";
+//   rsnBaseSettings = "Rsn_PbPb";
+//   rsnBaseSettings = "Rsn_pPb";
+
+   Bool_t useRsnMini = kTRUE;
+//   useRsnMini = kFALSE;
+
+
+   Bool_t useMixing = kFALSE;
+//   useMixing = kTRUE;
 
    // RSN Setting (same as old AddRsnToManager<Rsn>.C)
    // Rsn Particle
    TString rsnStr="Phi";
    // Rsn Cut
-   TString rsnCutStr="PhiNsigma:KTPCnsig30";
+   TString rsnCutStr="";
+
+   rsnCutStr="PhiNsigma:KTPCnsig30";
+
+   if ((rsnCutStr.IsNull())&&(!postfix.IsNull())) {
+      rsnCutStr = "PhiNsigma:";
+      rsnCutStr.Append(postfix.Data());
+   }
+
    // Rsn Quality Cut
    TString rsnQualityCutStr = "";
-   // rsnQualityCutStr = "pp_LHC11_p4_120";
+//   rsnQualityCutStr = "pp_LHC11a_p4_120";
+//   rsnQualityCutStr = "pp_LHC11a_p4_70";
+
+
+   TString extraMacro = "";
+   TString extraMacroArgs = "";
+//   extraMacro = "RsnTrainSettingsExtra.C";
+//   extraMacroArgs = "10.0,10,1,1,1,1,1,1,1,0";
+//   extraMacroArgs = "10, 5, 5, -1, 1, 0, 1, 1, 1, 0";
 
    input.ToLower();
    inputMC.ToLower();
@@ -42,16 +70,9 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
       Int_t physSel = AliAnalysisManager::GetGlobalInt("rsnUsePhysSel",valid);
       Int_t useCentralityTask = AliAnalysisManager::GetGlobalInt("rsnUseCentralityTask",valid);
       Int_t useEventPlaneTask = AliAnalysisManager::GetGlobalInt("rsnUseEventPlaneTask",valid);
+      Int_t useVZEROEPSelection = AliAnalysisManager::GetGlobalInt("rsnUseVZEROEPSelection",valid);
       Int_t usePIDqa = AliAnalysisManager::GetGlobalInt("rsnUsePIDqa",valid);
 
-
-//      Int_t splitMgrByTask = AliAnalysisManager::GetGlobalInt("rsnSplitMgrByTasks",valid);
-
-//      Int_t useMixing = AliAnalysisManager::GetGlobalInt("rsnUseMixing",valid);
-
-//      Int_t isRsnMini = AliAnalysisManager::GetGlobalInt("rsnUseMiniPackage",valid);
-//      Int_t mixNum = AliAnalysisManager::GetGlobalInt("rsnNumMix",valid);
-
       // ALICE stuff
       AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
       if (!mgr) { Printf("Error[AddAMRsn] mgr is null !!!"); return kFALSE; }
@@ -61,18 +82,18 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
 
       TString myAdditionalLibs;
       if (eventMixinPar) { AliAnalysisAlien::SetupPar("EventMixing"); myAdditionalLibs += " EventMixing.par"; }
-      else { gSystem->Load("libEventMixing.so"); myAdditionalLibs += " libEventMixing.so"; }
+      else { gSystem->Load("libEventMixing"); myAdditionalLibs += " libEventMixing.so"; }
 
       TString rsnLibName = "PWGLFresonances";
       if (gSystem->Getenv("ALICE_ROOT")) {
          TString alirootVersion = gSystem->GetFromPipe("aliroot --version | awk '{print $3}'");
          if (alirootVersion<"v5-02-19-AN" && alirootVersion.CompareTo("trunk")) rsnLibName = "PWG2resonances";
          if (rsnPar) { AliAnalysisAlien::SetupPar(rsnLibName.Data()); myAdditionalLibs += Form(" %s.par",rsnLibName.Data()); }
-         else { gSystem->Load(Form("lib%s.so",rsnLibName.Data())); myAdditionalLibs += Form(" lib%s.so",rsnLibName.Data()); }
+         else { gSystem->Load(Form("lib%s",rsnLibName.Data())); myAdditionalLibs += Form(" lib%s.so",rsnLibName.Data()); }
       }
       if (rsnParDev>=0) {
          if (rsnParDev) { AliAnalysisAlien::SetupPar("PWGLFresonancesdev"); myAdditionalLibs += " PWGLFresonancesdev.par"; }
-         else { gSystem->Load("libPWGLFresonancesdev.so"); myAdditionalLibs += " libPWGLFresonancesdev.so"; }
+         else { gSystem->Load("libPWGLFresonancesdev"); myAdditionalLibs += " libPWGLFresonancesdev.so"; }
       }
       analysisPlugin->SetAdditionalLibs(myAdditionalLibs.Data());
 
@@ -85,13 +106,13 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
       }
 
       AliRsnInputHandler *rsnIH=0;
-
       if (pidResponse) {
          if (multiInputHandler) {
             // add PID Response Handler
             if (!RsnLoadMacro("AddPIDResponseInputHandler.C")) return kFALSE;
             AddPIDResponseInputHandler(multiInputHandler,useMC);
          } else {
+            Printf("Adding PIDResponse task ...");
             gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
             AddTaskPIDResponse(useMC);
          }
@@ -103,13 +124,17 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
          multiInputHandler->AddInputEventHandler(rsnIH);
       }
 
-      if (physSel) {
+      if (physSel>0) {
          if (!input.CompareTo("esd")) {
-            gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
-            AddTaskPhysicsSelection(useMC);
+            gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskPhysicsSelection.C");
+            Bool_t physSelBigOut = kTRUE;
+//            physSelBigOut = kFALSE;
+
+            AddTaskPhysicsSelection(useMC,kTRUE,0,physSelBigOut);
+            if (physSelBigOut) mrg->SetSpecialOutputLocation("root://aaa//aaa/");
          }
 
-         // maybe we can put it in $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C
+         // maybe we can put it in $ALICE_ROOT/OADB/macros/AddTaskPhysicsSelection.C
          if (multiInputHandler) {
             AliInputEventHandler *ih = multiInputHandler->GetFirstInputEventHandler();
             ih->SetEventSelection(multiInputHandler->GetEventSelection());
@@ -117,7 +142,7 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
       }
 
       if (useCentralityTask) {
-         gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskCentrality.C");
+         gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
          AliCentralitySelectionTask *centralityTask = AddTaskCentrality(kFALSE);
       }
 
@@ -126,6 +151,11 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
          AliEPSelectionTask *eventPlaneTask = AddTaskEventplane();
       }
 
+      if (useVZEROEPSelection) {
+         gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskVZEROEPSelection.C");
+         AddTaskVZEROEPSelection();
+      }
+
       if (usePIDqa) {
          gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
          AddTaskPIDqa();
@@ -133,15 +163,11 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
 
    } else {
 
-      gSystem->Load("libEventMixing.so");
-      gSystem->Load("libCORRFW.so");
-      gSystem->Load("libPWGLFresonances.so");
+      gSystem->Load("libEventMixing");
+      gSystem->Load("libCORRFW");
+      gSystem->Load("libPWGLFresonances");
    }
 
-   TString rsnBaseSettings = "Rsn_pp";
-//   rsnBaseSettings = "Rsn_PbPb";
-//   rsnBaseSettings = "Rsn_pPb";
-
    if (!input.CompareTo("esd")) rsnBaseSettings.Append("_ESD");
    else rsnBaseSettings.Append("_AOD");
 
@@ -149,10 +175,15 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
    if (useMC) rsnBaseSettings.Append("_MC");
 
    // use mini
-   rsnBaseSettings.Append("_MINI");
+   if (useRsnMini) rsnBaseSettings.Append("_MINI");
+
+   // use mixing
+   if (useMixing) rsnBaseSettings.Append("_MIX");
 
    if (!RsnLoadMacro("AddRsnTaskTrain.C")) return kFALSE;
-   AddRsnTaskTrain(rsnBaseSettings,rsnStr.Data(),rsnCutStr.Data(),"","","");
+   AddRsnTaskTrain(rsnBaseSettings.Data(),rsnStr.Data(),rsnCutStr.Data(),rsnQualityCutStr.Data(),extraMacro,extraMacroArgs);
+
+   Printf("%s_%s_%s %s",rsnBaseSettings.Data(),rsnStr.Data(),rsnCutStr.Data(),rsnQualityCutStr.Data());
 
    return kTRUE;
 }