ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/JetFitAnalyzer/interface/jetfit.h
(Generate patch)

Comparing UserCode/JetFitAnalyzer/interface/jetfit.h (file contents):
Revision 1.1 by dnisson, Wed Sep 2 21:43:12 2009 UTC vs.
Revision 1.4 by dnisson, Wed Nov 11 22:24:40 2009 UTC

# Line 12 | Line 12
12   #include <TH2.h>
13  
14   namespace jetfit {
15 +
16 +  enum trouble_occ_t {
17 +    T_NULL = 0,
18 +    T_SIMPLEX,
19 +    T_MIGRAD,
20 +    T_MINOS
21 +  };
22 +
23 +  struct trouble {
24 +    trouble_occ_t occ;
25 +    int istat;
26 +  };
27 +
28 +  struct results {
29 +    TH2 *hist_rebinned;
30 +    std::vector< double > chisquare;
31 +    std::vector< std::vector<TString> > pars;
32 +    std::vector< std::vector<double> > pval;
33 +    std::vector< std::vector<double> > perr;
34 +    std::vector< std::vector<double> > plo;
35 +    std::vector< std::vector<double> > phi;
36 +  };
37 +
38    class model_def {
39    public:
40 +    int get_ngauss();
41 +    void set_ngauss(int _ngauss);
42 +
43 +    double fit_fcn(double, double, double *);
44 +
45      TFormula *get_formula();
46      void set_formula(TFormula *);
47      void get_indiv_par(int, std::string&, double&, double&, double&, double&);
# Line 28 | Line 56 | namespace jetfit {
56      int get_indiv_max_y();
57      void set_indiv_max_y(int);
58      virtual double chisquare_error(double) = 0;
59 +    double formula_int(double, double, double, double,
60 +                       double*, double, double, double*);
61 +    void par_init(TH2 *, TMinuit *, std::vector<TString> &,
62 +                  double *, double *, double *, double *,
63 +                  int, results);
64 +
65 +
66    private:
67      TFormula *indiv_formula; // formula for individual Gaussian
68      std::vector<std::string> indiv_par_names;
# Line 42 | Line 77 | namespace jetfit {
77      int indiv_max_E;
78      int indiv_max_x;
79      int indiv_max_y;
80 +    int ngauss;
81    };
82  
83 <  enum trouble_occ_t {
84 <    T_NULL = 0,
85 <    T_SIMPLEX,
86 <    T_MIGRAD,
87 <    T_MINOS
52 <  };
53 <
54 <  struct trouble {
55 <    trouble_occ_t occ;
56 <    int istat;
57 <  };
58 <
59 <  struct results {
60 <    TH2 *hist_rebinned;
61 <    std::vector< std::vector<TString> > pars;
62 <    std::vector< std::vector<double> > pval;
63 <    std::vector< std::vector<double> > perr;
64 <    std::vector< std::vector<double> > plo;
65 <    std::vector< std::vector<double> > phi;
66 <  };
83 >  results fit_histo(TH2 *hist, std::vector<trouble> &t,
84 >                    void (*cc_minuit)(TMinuit *, TH2 *, int) = 0,
85 >                    int start_ngauss = 0,
86 >                    int rebinX = 1, int rebinY = 1,
87 >                    double P_cutoff_val = 0.5);
88  
89    model_def& curr_model_def();
90    void set_model_def(model_def *_mdef);
91  
71  int get_ngauss();
72  void set_ngauss(int _ngauss);
73  double fit_fcn(double, double, double *);
74  double fit_fcn_TF2(double *, double *);
92    bool get_ignorezero();
93    void set_ignorezero(bool);
94 <  
95 <  results fit_histo(TH2 *hist, std::vector<trouble> &t,
79 <                    void (*cc_minuit)(TMinuit *, TH2 *, int) = 0,
80 <                    int start_ngauss = 0,
81 <                    int rebinX = 1, int rebinY = 1,
82 <                    double P_cutoff_val = 0.5);
94 >
95 >  double fit_fcn_TF2(double *, double *);  
96   }
97  
98   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines