Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
8.6 KiB

  1. //Renata Kopecna
  2. #ifndef PATHS_HH
  3. #define PATHS_HH
  4. #include <iostream>
  5. #include <assert.h>
  6. #include <options.hh>
  7. #include <parse.hh>
  8. //=====================================//
  9. // Main folder paths //
  10. //=====================================//
  11. std::string datapath(); //Returns the path where the data is stored based on the server/user
  12. std::string workpath(); //Returns the path where the program is executed based on the server/user
  13. const std::string DATA_PATH = datapath();
  14. const std::string FIT_RESULTS_PATH = workpath()+"fitResults/";
  15. const std::string PLOTS_PATH = workpath()+"plots/";
  16. const std::string TOYS_PATH = workpath()+"Toys/";
  17. const std::string COEFFS_PATH = workpath()+"Coeffs/";
  18. const std::string LATEX_PATH = workpath()+"LaTeXfiles/";
  19. //=====================================//
  20. // Paths for datsets //
  21. //=====================================//
  22. std::string getSelectedTuplePath(int dataset, int run, int year);
  23. std::string get_theFCNCpath(int dataset, int run);
  24. std::string get_finalToySamplePath(int nPDF, int job_id, bool fitReference);
  25. //=====================================//
  26. // Paths for angular parametrization //
  27. //=====================================//
  28. namespace fcnc { //Forward declaration, fully defined in options.hh
  29. class options;
  30. }
  31. std::string get_angCorrPath(bool test);
  32. std::string coeffs_eff_phsp_4D(fcnc::options *opts);
  33. //=====================================//
  34. // Paths for angular resolution //
  35. //=====================================//
  36. std::string get_angResoPlot_path(std::string angle, int year, std::string format);
  37. //=====================================//
  38. // Paths for fit results //
  39. //=====================================//
  40. std::string get_MainFitPlot_path();
  41. std::string get_MCfitPlot_path(bool Ref, bool PHSP);
  42. std::string get_genLvlFitPlot_path(bool PHSP);
  43. std::string get_MoMPlot_path();
  44. std::string get_GenLvlPlot_path();
  45. std::string get_PullPlot_path();
  46. std::string get_ToysFitResult_path(basic_params params);
  47. std::string get_MainFitResult_path();
  48. std::string get_JpsiSimFit2D_path(int idx, bool pPrimes);
  49. std::string get_SigMCSimFit2D_path(int idx, int bin);
  50. std::string get_param_scan_path(std::string name, bool error);
  51. //=====================================//
  52. // Fit result tags //
  53. //=====================================//
  54. std::string tag_bin(int nBinsToFit);
  55. std::string tag_bin(int nBinsToFit, int bin);
  56. std::string tag_Run(int Run);
  57. std::string tag_datasample(bool fitReference, bool fitMC, bool fitPHSP);
  58. std::string tag_sample_blind(basic_params params);
  59. std::string tag_sample_blind(bool FitOnlyRun1, bool FitOnlyRun2,
  60. bool FitOnlyMagDown, bool FitOnlyMagUp);
  61. std::string final_result_name(bool fitReference, bool fitSignalMC, basic_params params,
  62. bool simFit, int nBinsToFit, int effRun,
  63. bool FitFinalToySamples, double statFrac,
  64. bool NP, int systematics);
  65. std::string get_eps_label(bool fitReference, bool fitSignalMC, bool fitPHSP,
  66. bool FitFinalToySamples,
  67. int nBinsToFit, int bin,
  68. int polarity,
  69. bool SimultaneousFit, fcnc::options opts);
  70. std::string get_eps_label(bool fitReference, bool fitSignalMC, bool fitPHSP,
  71. bool FitFinalToySamples,
  72. int nBinsToFit, int bin,
  73. bool SimultaneousFit, basic_params params);
  74. // if bin == -1, no specific bin number is printed
  75. //--------------------------------------------------------------
  76. std::string get_MCfit_label(bool fitReference, bool fitPHSP,
  77. int nBinsToFit, int bin,
  78. bool simFit,
  79. basic_params params, int effRun,
  80. bool onlyAng, bool onlyMass);
  81. std::string finalResult_MCfit_txt(int nPDF, bool fitReference, bool fitPHSP,
  82. int nBinsToFit, int bin,
  83. bool simFit,
  84. basic_params params, int effRun,
  85. bool onlyAng, bool onlyMass);
  86. std::string final_result_name_MC(basic_params params, int nBins,
  87. bool fitReference, bool fitPHSP, bool simFit,
  88. bool onlyAng, bool onlyMass);
  89. //--------------------------------------------------------------
  90. std::string get_genLvlFit_label(bool fitPHSP,
  91. int nBinsToFit, int bin,
  92. basic_params params,
  93. bool onlyAng, bool onlyMass);
  94. std::string finalResult_genLvlMCfit_txt(bool fitPHSP,
  95. int nBinsToFit, int bin,
  96. basic_params params,
  97. bool onlyAng, bool onlyMass);
  98. std::string final_result_name_genLvlMC(basic_params params, int nBins, bool fitPHSP,
  99. bool onlyAng, bool onlyMass);
  100. //--------------------------------------------------------------
  101. std::string get_bkgFitPlot_path();
  102. std::string get_bkgFitResult_path();
  103. std::string get_bkg_tag(int bin, int nBins,
  104. bool fitReference,
  105. bool lowMass, bool highMass,
  106. bool fitKpi, basic_params params);
  107. std::string get_bkgCorrPlot_path(std::string ang1, std::string ang2,
  108. int bin, int nBins,
  109. bool fitReference,
  110. bool lowMass, bool highMass,
  111. bool fitKpi, basic_params params);
  112. std::string final_result_name_bkg(int nBins,
  113. bool fitReference,
  114. bool lowMass, bool highMass,
  115. bool fitKpi, basic_params params);
  116. //--------------------------------------------------------------
  117. std::string get_MassFitPlot_path();
  118. std::string get_MassFitResult_path();
  119. std::string get_MassFit_label(bool fitReference,
  120. int bin, int nBins,
  121. bool splitRuns, basic_params params,
  122. int effRun);
  123. std::string final_result_name_mass(bool fitReference, int nBins,
  124. bool splitRuns,
  125. basic_params params, int effRun);
  126. //--------------------------------------------------------------
  127. std::string get_ToysFitPlot_path(basic_params params);
  128. std::string get_ToysFit_label(int jobID, bool fitReference,
  129. int bin, int nBins,
  130. bool simFit, basic_params params, int effRun,
  131. bool onlyAng, bool onlyMass,
  132. bool onlySig, bool onlyBkg,
  133. bool lowMass, bool highMass);
  134. std::string final_result_name_toys(int jobID, bool fitReference,
  135. int nBins, bool simFit,
  136. basic_params params, int effRun,
  137. bool onlyAng, bool onlyMass,
  138. bool onlySig, bool onlyBkg,
  139. bool lowMass, bool highMass);
  140. std::string init_params_name_toys(int jobID, bool fitReference,
  141. int nBins, bool simFit,
  142. basic_params params, int effRun,
  143. bool onlyAng, bool onlyMass,
  144. bool onlySig, bool onlyBkg,
  145. bool lowMass, bool highMass);
  146. std::string get_finalToys_file(bool fitReference, int nBins,
  147. bool simFit,
  148. basic_params params, int effRun);
  149. std::string get_ToyPullPlot_folder( basic_params params);
  150. std::string get_ToyPullPlot_tag(int bin, std::string varName, basic_params params, bool dist, bool pull);
  151. //--------------------------------------------------------------
  152. //=====================================//
  153. // Paths for Latex couts //
  154. //=====================================//
  155. //File used for capturing latex output such as parameter tables
  156. //The file is handled by function in helpers.cc
  157. //Technically should be a class but I'm feeling lazy
  158. std::string get_Latex_noteFile(std::string tag);
  159. std::string latex_fitterFile(std::string index);
  160. std::string latex_toyFile();
  161. std::string latex_params();
  162. std::string latex_paramScan();
  163. std::string latex_bkgFit();
  164. std::string latex_massFit();
  165. #endif // PATHS_HH