]>
Commit | Line | Data |
---|---|---|
ae15a5ec | 1 | AliAnalysisTask *AddRsnTaskTrain(const char *commonStr,const char *rsnStr,const char *rsnCutStr,TString rsnQualityCutStr="",TString extraMacro="",TString extraMacroArgs="") { |
e22320ab | 2 | // rsnStr -> <Name> |
3 | // rsnCutStr -> <CutName> | |
221dc8d3 | 4 | // This will use AddRsnPairs<Name>.C |
5 | // and for cuts AddRsnDaughterCuts<CutName>.C | |
6 | // and <opt> string is passed to AddRsnDaughterCuts<CutName>.C | |
7 | // so you can control different cut settings | |
8 | // string "<Name>:mon" means that it will add monitoring histograms from cuts | |
9 | // Note : for now you have to set gRsnUseMiniPackage = 0 to have mon histograms | |
e22320ab | 10 | // return AddRsnTask("<Name>:mon","<CutName>:<opt>",""); |
11 | // or like we are using it now | |
12 | // return AddRsnTask(rsnStr,rsnCutStr,""); | |
221dc8d3 | 13 | |
0eaedb4f | 14 | Printf ("Running AddRsnTaskTrain(\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\")",commonStr,rsnStr,rsnCutStr,rsnQualityCutStr.Data(),extraMacro.Data(),extraMacroArgs.Data()); |
e22320ab | 15 | Bool_t valid; |
aec68607 | 16 | AliAnalysisManager::GetGlobalStr("LegoTrainPath",valid); |
e22320ab | 17 | if (!valid) { |
18 | TString legoTrainPath = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train"; | |
aec68607 | 19 | AliAnalysisManager::SetGlobalStr("LegoTrainPath",legoTrainPath.Data()); |
e22320ab | 20 | } |
221dc8d3 | 21 | |
e22320ab | 22 | // Creating Rsn Train Manager |
221dc8d3 | 23 | AliRsnTrainManager *rsnMgr = new AliRsnTrainManager(); |
24 | ||
b68f0fc1 | 25 | // Rsn Quality Cuts |
26 | if (!RsnLoadMacroTrain("RsnQualityCut.C")) return kFALSE; | |
27 | if (!rsnQualityCutStr.IsNull()) AliRsnTrainManager::SetGlobalStr("RsnQualityCut",rsnQualityCutStr.Data()); | |
28 | //pp_LHC11_p4_120 | |
29 | ||
30 | ||
680e4375 | 31 | if (!RsnLoadMacroTrain("RsnTrainCommonSettings.C")) return kFALSE; |
ae15a5ec | 32 | if (!extraMacro.IsNull()) { |
33 | if (!RsnLoadMacroTrain(extraMacro.Data())) return kFALSE; | |
34 | } | |
35 | RsnTrainCommonSettings(commonStr,rsnStr,extraMacro,extraMacroArgs); | |
680e4375 | 36 | |
221dc8d3 | 37 | rsnMgr->Print(); |
38 | ||
e22320ab | 39 | if (!RsnLoadMacroTrain("AddRsnTask.C")) return kFALSE; |
680e4375 | 40 | |
ae15a5ec | 41 | // Generate Rsn Analysisa Task |
680e4375 | 42 | AliAnalysisTask *task = AddRsnTask(rsnStr,rsnCutStr,""); |
43 | ||
1c7bcf66 | 44 | Printf("Saving Rsn Info -> RsnInfo.root"); |
45 | TFile *f = TFile::Open("RsnInfo.root","RECREATE"); | |
46 | AliRsnTrainManager *rsnMgr = AliRsnTrainManager::GetRsnTrainManager(); | |
47 | TMap *map = rsnMgr->GetGlobals(); | |
48 | f->WriteObject(map,"RsnInfoMap"); | |
49 | f->Close(); | |
50 | ||
ae15a5ec | 51 | // deleting AliRsnTrainManager to reset all previous settings |
52 | delete rsnMgr; | |
680e4375 | 53 | |
ae15a5ec | 54 | return task; |
680e4375 | 55 | |
221dc8d3 | 56 | } |
e22320ab | 57 | |
58 | Bool_t RsnLoadMacroTrain(TString macro,TString path="") { | |
59 | ||
60 | Bool_t valid; | |
61 | TString lego_path = AliAnalysisManager::GetGlobalStr("RsnLegoTrainPath",valid); | |
6f55d053 | 62 | if (!valid) lego_path = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train"; |
e22320ab | 63 | |
64 | if (!gSystem->AccessPathName(macro.Data())) { | |
65 | gROOT->LoadMacro(macro.Data()); | |
66 | Printf("Macro loaded from %s/%s ...",gSystem->pwd(),macro.Data()); | |
67 | return kTRUE; | |
68 | } | |
69 | ||
70 | if (!gSystem->AccessPathName(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())))) { | |
71 | gROOT->LoadMacro(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
72 | Printf("Macro loaded from %s ...",gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data()))); | |
73 | return kTRUE; | |
74 | } | |
75 | ||
76 | Printf("Error loading %s",macro.Data()); | |
77 | ||
78 | return kFALSE; | |
aec68607 | 79 | } |