]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/macros/lego_train/AddRsnTaskTrain.C
Updated macros for Sigma* analysis + debug option enabled in AliRsnCutV0 (M.Venaruzzo...
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / lego_train / AddRsnTaskTrain.C
CommitLineData
ae15a5ec 1AliAnalysisTask *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
e22320ab 14 Bool_t valid;
aec68607 15 AliAnalysisManager::GetGlobalStr("LegoTrainPath",valid);
e22320ab 16 if (!valid) {
17 TString legoTrainPath = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train";
aec68607 18 AliAnalysisManager::SetGlobalStr("LegoTrainPath",legoTrainPath.Data());
e22320ab 19 }
221dc8d3 20
e22320ab 21 // Creating Rsn Train Manager
221dc8d3 22 AliRsnTrainManager *rsnMgr = new AliRsnTrainManager();
23
b68f0fc1 24 // Rsn Quality Cuts
25 if (!RsnLoadMacroTrain("RsnQualityCut.C")) return kFALSE;
26 if (!rsnQualityCutStr.IsNull()) AliRsnTrainManager::SetGlobalStr("RsnQualityCut",rsnQualityCutStr.Data());
27 //pp_LHC11_p4_120
28
29
680e4375 30 if (!RsnLoadMacroTrain("RsnTrainCommonSettings.C")) return kFALSE;
ae15a5ec 31 if (!extraMacro.IsNull()) {
32 if (!RsnLoadMacroTrain(extraMacro.Data())) return kFALSE;
33 }
34 RsnTrainCommonSettings(commonStr,rsnStr,extraMacro,extraMacroArgs);
680e4375 35
221dc8d3 36 rsnMgr->Print();
37
e22320ab 38 if (!RsnLoadMacroTrain("AddRsnTask.C")) return kFALSE;
680e4375 39
ae15a5ec 40 // Generate Rsn Analysisa Task
680e4375 41 AliAnalysisTask *task = AddRsnTask(rsnStr,rsnCutStr,"");
42
1c7bcf66 43 Printf("Saving Rsn Info -> RsnInfo.root");
44 TFile *f = TFile::Open("RsnInfo.root","RECREATE");
45 AliRsnTrainManager *rsnMgr = AliRsnTrainManager::GetRsnTrainManager();
46 TMap *map = rsnMgr->GetGlobals();
47 f->WriteObject(map,"RsnInfoMap");
48 f->Close();
49
ae15a5ec 50 // deleting AliRsnTrainManager to reset all previous settings
51 delete rsnMgr;
680e4375 52
ae15a5ec 53 return task;
680e4375 54
221dc8d3 55}
e22320ab 56
57Bool_t RsnLoadMacroTrain(TString macro,TString path="") {
58
59 Bool_t valid;
60 TString lego_path = AliAnalysisManager::GetGlobalStr("RsnLegoTrainPath",valid);
6f55d053 61 if (!valid) lego_path = "$ALICE_ROOT/PWGLF/RESONANCES/macros/lego_train";
e22320ab 62
63 if (!gSystem->AccessPathName(macro.Data())) {
64 gROOT->LoadMacro(macro.Data());
65 Printf("Macro loaded from %s/%s ...",gSystem->pwd(),macro.Data());
66 return kTRUE;
67 }
68
69 if (!gSystem->AccessPathName(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())))) {
70 gROOT->LoadMacro(gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())));
71 Printf("Macro loaded from %s ...",gSystem->ExpandPathName(Form("%s/%s",lego_path.Data(),macro.Data())));
72 return kTRUE;
73 }
74
75 Printf("Error loading %s",macro.Data());
76
77 return kFALSE;
aec68607 78}