]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/macros/lego_train/old/RsnManager.C
Moved old macros for lego_train into lego_train/old folder
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / lego_train / old / RsnManager.C
CommitLineData
547e2d97 1TList *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
137Bool_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
147Bool_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