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.

112 lines
2.3 KiB

  1. //Renata Kopecna
  2. #ifndef PARSEOPTS_HH
  3. #define PARSEOPTS_HH
  4. //TODO: toys
  5. //TODO: this should probably be a class instead of a struct
  6. //parameters
  7. //b Bin #b
  8. //d Dataset; 0 :data, 1 MC, ...
  9. //g FoldinG
  10. //e number of Events
  11. //i,j general purpose indices
  12. //l get likelihood profiles of final fit?
  13. //p Use P' instead of S
  14. //r Run: 0/1/2/12/21/22
  15. //n number of toys
  16. //o feLdmanCousins
  17. //u Number of bins
  18. //v Verbosity
  19. //y Year: 2011, 2012, 2015, 2016, 2017, 2018
  20. //z Used for testing stuff in case one needs an extra parameter to tune or so
  21. struct basic_params{
  22. int bin;
  23. int dataset;
  24. int folding;
  25. int index;
  26. int jobID;
  27. bool likelyhood;
  28. bool FeldCous;
  29. bool usePprime;
  30. bool reference;
  31. int Run;
  32. int year;
  33. int nEvents;
  34. int nBins;
  35. int verbosity;
  36. int testInt;
  37. int polarity;
  38. basic_params(){
  39. bin = -1;
  40. dataset = -1;
  41. folding = -1;
  42. index = -1;
  43. jobID = -1;
  44. Run = -1;
  45. year = -1;
  46. nEvents = -1;
  47. nBins = -1;
  48. likelyhood = false;
  49. FeldCous = false;
  50. usePprime = false;
  51. reference = false;
  52. verbosity = 2;
  53. testInt = -1;
  54. polarity = 0;
  55. }
  56. };
  57. //Actions
  58. //a angular resolution
  59. //c angular Correction
  60. //f fit:
  61. //0: bkg only (0 signals :) (only ang fit!)
  62. //1: Full fit (2D+4D)
  63. //2: 2D mass fit
  64. //3: MoM
  65. //4: 4D MC fit (B mass+angles in bins of q2)
  66. //5: GenLvlFit
  67. //h Get help
  68. //k convert Events
  69. //m pulls from MC
  70. //s systematics
  71. //t pulls from toys
  72. struct basic_actions{
  73. bool angRes;
  74. bool angCorr; //Use generic index i to set whether it is a scan or not
  75. bool angCorrScan;
  76. bool convert;
  77. int fitType;
  78. bool getHelp;
  79. int systematics;
  80. bool genToys;
  81. bool pullsToys;
  82. bool pullsMC;
  83. bool script;
  84. basic_actions(){
  85. fitType = -1;
  86. systematics = -1;
  87. angCorrScan = false;
  88. angRes = false;
  89. angCorr = false;
  90. convert = false;
  91. getHelp = false;
  92. genToys = false;
  93. pullsToys = false;
  94. pullsMC = false;
  95. script = false;
  96. }
  97. };
  98. int parseOpts(int argc, char *argv[], basic_params &par, basic_actions &act, int nMCEvents);
  99. int checkOpts(basic_params &par, basic_actions &act);
  100. #endif // PARSEOPTS_HH