]>
Commit | Line | Data |
---|---|---|
dc8dd82a | 1 | TList *RsnManagerTrain(TString addRsnManager="AddRsnToManagerTrain.C", |
2 | Int_t isESD=0, | |
3 | Int_t isMC=0, | |
4 | Int_t isPP=1, | |
5 | Int_t useRsnMini = 1, | |
6 | Int_t useMixing = 0, | |
7 | Int_t numMix = 10, | |
8 | Int_t fullOutput = 1) | |
9 | { | |
10 | ||
11 | // sets Rsn Lego train path | |
12 | TString legoTrainPath = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train"; | |
13 | ||
14 | // creates list | |
15 | TList *listRsn = new TList(); | |
16 | ||
17 | TString commonCutOption=""; | |
18 | commonCutOption = "mon"; | |
19 | ||
20 | Printf("Adding RsnManger : %s",addRsnManager.Data()); | |
21 | AddResonanceToRsnManager(listRsn,addRsnManager.Data(),legoTrainPath.Data()); | |
22 | ||
23 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
24 | if (!mgr) { | |
25 | Printf("Error[RsnManager] mgr is null !!!"); | |
26 | return 0; | |
27 | } | |
28 | ||
29 | Bool_t valid; | |
30 | AliAnalysisManager::GetGlobalStr("rsnLegoTrainPath",valid); | |
31 | if (valid) { | |
32 | return list; | |
33 | } | |
34 | ||
35 | Printf("Setting up RSN variables ..."); | |
36 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainPath",legoTrainPath.Data()); | |
37 | AliAnalysisManager::SetGlobalInt("rsnIsPP",isPP); | |
38 | AliAnalysisManager::SetGlobalInt("rsnUseMC",isMC); | |
39 | AliAnalysisManager::SetGlobalInt("rsnUseMiniPackage",useRsnMini); | |
40 | ||
41 | // mixing setting | |
42 | AliAnalysisManager::SetGlobalInt("rsnUseMixing",useMixing); | |
43 | AliAnalysisManager::SetGlobalInt("rsnNumMix",numMix); | |
44 | ||
45 | // oputput settings | |
46 | AliAnalysisManager::SetGlobalInt("rsnOutputFull",fullOutput); | |
47 | ||
48 | // expert options (don't change) | |
49 | AliAnalysisManager::SetGlobalInt("rsnMixPrintRefresh",-1); | |
50 | ||
51 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainCommonCutOption",commonCutOption.Data()); | |
52 | ||
53 | return listRsn; | |
54 | } | |
55 | ||
56 | Bool_t AddResonanceToRsnManager(TList *listRsn,TString rsnAddMacro="AddRsnToManagerPhi.C",TString path="") { | |
57 | if (!listRsn) return kFALSE; | |
58 | ||
59 | RsnManagerLoadMacro(rsnAddMacro,path); | |
60 | rsnAddMacro.ReplaceAll(".C",""); | |
61 | gROOT->ProcessLine(TString::Format("%s((TList*)%p)",rsnAddMacro.Data(),listRsn).Data()); | |
62 | ||
63 | return kTRUE; | |
64 | } | |
65 | ||
66 | Bool_t RsnManagerLoadMacro(TString macro,TString path="") { | |
67 | ||
68 | TString lego_path=path; | |
69 | ||
70 | if (lego_path.IsNull()) { | |
71 | Bool_t valid; | |
72 | lego_path = AliAnalysisManager::GetGlobalStr("rsnLegoTrainPath",valid); | |
73 | if (!valid) lego_path = "$ALICE_ROOT/PWG2/RESONANCES/macros/lego_train"; | |
74 | } | |
75 | if (!gSystem->AccessPathName(macro.Data())) { | |
76 | gROOT->LoadMacro(macro.Data()); | |
77 | Printf("Macro loaded from %s/%s ...",gSystem->pwd(),macro.Data()); | |
78 | return kTRUE; | |
79 | } | |
80 | ||
81 | if (!gSystem->AccessPathName(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())))) { | |
82 | gROOT->LoadMacro(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
83 | Printf("Macro loaded from %s ...",gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
84 | return kTRUE; | |
85 | } | |
86 | ||
87 | Printf("Error loading %s",macro.Data()); | |
88 | ||
89 | return kFALSE; | |
90 | } | |
91 |