]>
Commit | Line | Data |
---|---|---|
547e2d97 | 1 | TList *RsnManager() { |
900e06e4 | 2 | |
3da8cef7 | 3 | Int_t isESD = 0; |
4 | ||
dc8dd82a | 5 | Int_t isPP = 0; |
3da8cef7 | 6 | Int_t useRsnMini = 1; |
900e06e4 | 7 | |
dc8dd82a | 8 | Int_t useMixing = 1; |
9 | Int_t numMix = 5; | |
900e06e4 | 10 | |
3da8cef7 | 11 | Int_t fullOutput = 1; |
12 | Int_t mcMomentum = 0; | |
13 | Int_t mcMon = 0; | |
14 | ||
a83bcf6e | 15 | Int_t usePhysSel = -1; |
16 | // usePhysSel = AliVEvent::kMB; | |
3da8cef7 | 17 | Int_t useCentralityTask = 0; |
dc8dd82a | 18 | Int_t useEventPlaneTask = 0; |
19 | ||
20 | Double_t eventCutVertex = 10.0; | |
a83bcf6e | 21 | Int_t useYNotEta = 0; |
dc8dd82a | 22 | |
23 | // useCommonQualityCut=-1 -> Defaultcuts for 2010 | |
24 | Int_t useCommonQualityCut = -1; | |
25 | useCommonQualityCut = 5; | |
deb5c67a | 26 | |
3da8cef7 | 27 | Int_t useEventMixPar = 0; |
28 | Int_t useRsnPar = 0; | |
29 | Int_t useRsnParDev = -1; | |
43d3541a | 30 | |
dc8dd82a | 31 | TString rootver = "v5-33-02b"; |
deb5c67a | 32 | TString alirootver = ""; |
b63dbf69 | 33 | // alirootver = "v5-03-07-AN"; |
43d3541a | 34 | |
deb5c67a | 35 | TString legoTrainPath = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train"; |
43d3541a | 36 | // legoTrainPath = "$HOME/git/AliRsn/PWGLF/RESONANCES/macros/lego_train"; |
900e06e4 | 37 | |
900e06e4 | 38 | |
39 | TList *listRsn = new TList(); | |
40 | ||
41 | // This will use AddRsnPairs<Name>.C | |
42 | // and for cuts AddRsnDaughterCuts<CutName>.C | |
43 | // and <opt> string is passed to AddRsnDaughterCuts<CutName>.C | |
44 | // so you can control different cut settings | |
45 | // string "<Name>:mon" means that it will add monitoring histograms from cuts | |
46 | // Note : for now you have to set gRsnUseMiniPackage = 0 to have mon histograms | |
deb5c67a | 47 | // listRsn->Add(new TNamed("<Name>:mon","<CutName>:<opt>")); |
900e06e4 | 48 | |
43d3541a | 49 | TString commonCutOption=""; |
3da8cef7 | 50 | commonCutOption = "mon"; |
51 | // commonCutOption += "_eta"; | |
b63dbf69 | 52 | |
3da8cef7 | 53 | AddResonanceToRsnManager(listRsn,"AddRsnToManagerPhi.C",legoTrainPath.Data()); |
54 | // AddResonanceToRsnManager(listRsn,"AddRsnToManagerKStar.C",legoTrainPath.Data()); | |
55 | // AddResonanceToRsnManager(listRsn,"AddRsnToManagerRho.C",legoTrainPath.Data()); | |
56 | // AddResonanceToRsnManager(listRsn,"AddRsnToManagerLambda.C",legoTrainPath.Data()); | |
547e2d97 | 57 | |
3248b3db | 58 | |
b63dbf69 | 59 | |
deb5c67a | 60 | //============= ONLY for GRID ==================== |
dc8dd82a | 61 | TString dsConfig = "datasets-grid/LHC11e3a_AOD074.txt"; |
62 | Int_t globalTrainID=0; | |
63 | Int_t numRuns = 1000; | |
64 | Int_t numRunsSkip = 0; | |
deb5c67a | 65 | |
3248b3db | 66 | //================================================ |
547e2d97 | 67 | |
68 | /////////////////////////////////////////// | |
69 | // don't edit next lines (EXPERTS ONLY) | |
70 | /////////////////////////////////////////// | |
3da8cef7 | 71 | |
547e2d97 | 72 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); |
43d3541a | 73 | if (!mgr) { |
74 | Printf("Error[RsnManager] mgr is null !!!"); | |
75 | return 0; | |
76 | } | |
547e2d97 | 77 | |
78 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainPath",legoTrainPath.Data()); | |
79 | ||
3248b3db | 80 | AliAnalysisManager::SetGlobalInt("rsnIsPP",isPP); |
81 | ||
547e2d97 | 82 | // use parfiles instead of libs |
83 | AliAnalysisManager::SetGlobalInt("rsnUseEventMixingPar",useEventMixPar); | |
84 | AliAnalysisManager::SetGlobalInt("rsnUseRSNPar",useRsnPar); | |
b63dbf69 | 85 | AliAnalysisManager::SetGlobalInt("rsnUseRSNParDev",useRsnParDev); |
547e2d97 | 86 | // common options |
3da8cef7 | 87 | AliAnalysisManager::SetGlobalInt("rsnUsePhysSel",usePhysSel); |
88 | AliAnalysisManager::SetGlobalInt("rsnUseCentralityTask",useCentralityTask); | |
dc8dd82a | 89 | AliAnalysisManager::SetGlobalInt("rsnUseEventPlaneTask",useEventPlaneTask); |
90 | ||
547e2d97 | 91 | AliAnalysisManager::SetGlobalInt("rsnUsePIDResponse",1); |
dc8dd82a | 92 | |
93 | AliAnalysisManager::SetGlobalInt("rsnCommonQualityCut",useCommonQualityCut); | |
a83bcf6e | 94 | AliAnalysisManager::SetGlobalInt("rsnUseRapidity",useYNotEta); |
dc8dd82a | 95 | |
547e2d97 | 96 | // rsn options |
97 | ||
3da8cef7 | 98 | AliAnalysisManager::SetGlobalInt("rsnUseMixing",useMixing); |
547e2d97 | 99 | if (useRsnMini) { |
100 | AliAnalysisManager::SetGlobalInt("rsnUseMiniPackage",1); | |
101 | AliAnalysisManager::SetGlobalInt("rsnUseRsnInputHandler",0); | |
102 | AliAnalysisManager::SetGlobalInt("rsnSplitMgrByTasks",1); | |
900e06e4 | 103 | } else { |
547e2d97 | 104 | AliAnalysisManager::SetGlobalInt("rsnUseMiniPackage",0); |
105 | AliAnalysisManager::SetGlobalInt("rsnUseRsnInputHandler",1); | |
106 | AliAnalysisManager::SetGlobalInt("rsnSplitMgrByTasks",0); | |
3da8cef7 | 107 | // AliAnalysisManager::SetGlobalInt("rsnUseMixing",0); |
900e06e4 | 108 | } |
547e2d97 | 109 | |
110 | // mixing setting | |
111 | AliAnalysisManager::SetGlobalInt("rsnNumMix",numMix); | |
112 | ||
113 | // oputput settings | |
114 | AliAnalysisManager::SetGlobalInt("rsnOutputFull",fullOutput); | |
115 | AliAnalysisManager::SetGlobalInt("rsnUseMCMomentum",mcMomentum); | |
43d3541a | 116 | AliAnalysisManager::SetGlobalInt("rsnUseMCMonitoring",mcMon); |
dc8dd82a | 117 | AliAnalysisManager::SetGlobalDbl("rsnEventCutVertex",eventCutVertex); |
547e2d97 | 118 | |
119 | // expert options (don't change) | |
120 | AliAnalysisManager::SetGlobalInt("rsnMixPrintRefresh",-1); | |
121 | ||
3248b3db | 122 | // RSN train settings for GRID |
3248b3db | 123 | AliAnalysisManager::SetGlobalStr("rsnTrainDSConfig",dsConfig.Data()); |
dc8dd82a | 124 | AliAnalysisManager::SetGlobalInt("rsnGlobalTrainID",globalTrainID); |
125 | AliAnalysisManager::SetGlobalInt("rsnGridNumRuns",numRuns); | |
126 | AliAnalysisManager::SetGlobalInt("rsnGridNumRunsSkip",numRunsSkip); | |
3248b3db | 127 | |
deb5c67a | 128 | // root and aliroot version |
129 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainROOTversion",rootver.Data()); | |
130 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainAliROOTversion",alirootver.Data()); | |
131 | ||
43d3541a | 132 | AliAnalysisManager::SetGlobalStr("rsnLegoTrainCommonCutOption",commonCutOption.Data()); |
3da8cef7 | 133 | |
547e2d97 | 134 | return listRsn; |
900e06e4 | 135 | } |
3da8cef7 | 136 | |
137 | Bool_t AddResonanceToRsnManager(TList *listRsn,TString rsnAddMacro="AddRsnToManagerPhi.C",TString path="") { | |
138 | if (!listRsn) return kFALSE; | |
139 | ||
140 | RsnManagerLoadMacro(rsnAddMacro,path); | |
141 | rsnAddMacro.ReplaceAll(".C",""); | |
142 | gROOT->ProcessLine(TString::Format("%s((TList*)%p)",rsnAddMacro.Data(),listRsn).Data()); | |
143 | ||
144 | return kTRUE; | |
145 | } | |
146 | ||
147 | Bool_t RsnManagerLoadMacro(TString macro,TString path="") { | |
148 | ||
149 | TString lego_path=path; | |
150 | ||
151 | if (lego_path.IsNull()) { | |
152 | Bool_t valid; | |
153 | lego_path = AliAnalysisManager::GetGlobalStr("rsnLegoTrainPath",valid); | |
dc8dd82a | 154 | if (!valid) lego_path = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train"; |
3da8cef7 | 155 | } |
156 | if (!gSystem->AccessPathName(macro.Data())) { | |
157 | gROOT->LoadMacro(macro.Data()); | |
158 | Printf("Macro loaded from %s/%s ...",gSystem->pwd(),macro.Data()); | |
159 | return kTRUE; | |
160 | } | |
161 | ||
162 | if (!gSystem->AccessPathName(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())))) { | |
163 | gROOT->LoadMacro(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
164 | Printf("Macro loaded from %s ...",gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
165 | return kTRUE; | |
166 | } | |
167 | ||
168 | Printf("Error loading %s",macro.Data()); | |
169 | ||
170 | return kFALSE; | |
171 | } | |
172 |