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.

70 lines
2.8 KiB

  1. /**
  2. * @file parameterscan.hh
  3. * @author Christoph Langenbruch, Renata Kopecna
  4. * @date 2009-03-18
  5. *
  6. */
  7. #ifndef PARAMETERSCAN_H
  8. #define PARAMETERSCAN_H
  9. #include <string>
  10. #include <vector>
  11. #include <multifit.hh>
  12. //TODO: move to /Run/!
  13. namespace fcnc {
  14. class options;
  15. class generator;
  16. class parameters;
  17. class pdf;
  18. ///class to perform repeated fits while changing a parameter value, e.g. background fraction
  19. class parameterscan: public multifit {
  20. private:
  21. ///common parameters in different parameter sets
  22. std::vector< std::string > common_params;
  23. public:
  24. ///constructor
  25. parameterscan(options* o);
  26. /**
  27. * perform a parameter scan
  28. * @param param_name the name of the parameter which will be varied in the scan
  29. * @param min the start value for the varied parameter
  30. * @param max the stop value for the varied parameter
  31. * @param nsteps the number of steps in which to vary the parameter
  32. * @param nevents the number of events used per fit of the toy data
  33. * @param reruns the number of repeats for a single value of the parameter
  34. * @param prob pointer to the pdf to use in the likelihood fit
  35. * @param params pointer to parameterset to use in the likelihood fit
  36. * @param gen pointer to the toy data generator to use
  37. * @param only_float_in_generation only varies the parameter in the generation,
  38. * but fixes it in the fit. This way one can do systematic studies.
  39. **/
  40. void scan(std::string param_name, double min, double max, unsigned int nsteps, unsigned int nevents, unsigned int reruns, pdf* prob, parameters* params, generator* gen, bool only_float_in_generation=false);
  41. /**
  42. * perform a parameter scan
  43. * @param param_name the name of the parameter which will be varied in the scan
  44. * @param min the start value for the varied parameter
  45. * @param max the stop value for the varied parameter
  46. * @param nsteps the number of steps in which to vary the parameter
  47. * @param nevents the number of events used per fit of the toy data
  48. * @param reruns the number of repeats for a single value of the parameter
  49. * @param prob pointer to the pdf to use in the likelihood fit
  50. * @param params pointer to parameterset to use in the likelihood fit
  51. * @param gen pointer to the toy data generator to use
  52. * @param only_float_in_generation only varies the parameter in the generation,
  53. * but fixes it in the fit. This way one can do systematic studies.
  54. **/
  55. void scan(std::string param_name, double min, double max, unsigned int nsteps, std::vector<unsigned int> nevents, unsigned int reruns, std::vector<pdf*> pdfs, std::vector<parameters*> params, std::vector<generator*> gens, bool only_float_in_generation=false);
  56. ///set common parameters
  57. void set_common_parameters(std::vector<std::string> common_pars) {
  58. common_params = common_pars;
  59. };
  60. };
  61. }
  62. #endif