CMS 3D CMS Logo

MultiHistoChiSquare.h
Go to the documentation of this file.
1 #ifndef PhysicsTools_Utilities_MultiHistoChiSquare_h
2 #define PhysicsTools_Utilities_MultiHistoChiSquare_h
4 #include "TMath.h"
5 #include "TH1.h"
6 
7 namespace fit {
8  namespace helper {
10  } // namespace helper
11 
12  template <typename T1,
19  public:
21  template <typename TT1, typename TT2, typename TT3, typename TT4, typename TT5, typename TT6>
23  TH1 *histo1,
24  TT2 &t2,
25  TH1 *histo2,
26  TT3 &t3,
27  TH1 *histo3,
28  TT4 &t4,
29  TH1 *histo4,
30  TT5 &t5,
31  TH1 *histo5,
32  TT6 &t6,
33  TH1 *histo6,
34  double rangeMin,
35  double rangeMax)
36  : chi1_(t1, histo1, rangeMin, rangeMax),
37  chi2_(t2, histo2, rangeMin, rangeMax),
38  chi3_(t3, histo3, rangeMin, rangeMax),
39  chi4_(t4, histo4, rangeMin, rangeMax),
40  chi5_(t5, histo5, rangeMin, rangeMax),
41  chi6_(t6, histo6, rangeMin, rangeMax) {}
42  double operator()() const {
43  double chi2 = chi1_() + chi2_() + chi3_() + chi4_() + chi5_() + chi6_();
44  static size_t count = 0;
45  ++count;
46  if (count % 10 == 0)
47  return chi2;
48  }
49  void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4, TH1 *histo5, TH1 *histo6) {
50  chi1_.setHistos(histo1);
51  chi2_.setHistos(histo2);
52  chi3_.setHistos(histo3);
53  chi4_.setHistos(histo4);
54  chi5_.setHistos(histo5);
55  chi6_.setHistos(histo6);
56  }
57  size_t numberOfBins() const {
58  return chi1_.numberOfBins() + chi2_.numberOfBins() + chi3_.numberOfBins() + chi4_.numberOfBins() +
59  chi5_.numberOfBins() + chi6_.numberOfBins();
60  }
61  T1 &function1() { return chi1_.function(); }
62  const T1 &function1() const { return chi1_.function(); }
63  T2 &function2() { return chi2_.function(); }
64  const T2 &function2() const { return chi2_.function(); }
65  T3 &function3() { return chi3_.function(); }
66  const T3 &function3() const { return chi3_.function(); }
67  T4 &function4() { return chi4_.function(); }
68  const T4 &function4() const { return chi4_.function(); }
69  T5 &function5() { return chi5_.function(); }
70  const T5 &function5() const { return chi5_.function(); }
71  T6 &function6() { return chi6_.function(); }
72  const T6 &function6() const { return chi6_.function(); }
73 
74  private:
75  T1 chi1_;
76  T2 chi2_;
77  T3 chi3_;
78  T4 chi4_;
79  T5 chi5_;
80  T6 chi6_;
81  };
82 
83  template <typename T1, typename T2, typename T3, typename T4, typename T5>
84  class MultiHistoChiSquare<T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg> {
85  public:
87  template <typename TT1, typename TT2, typename TT3, typename TT4, typename TT5>
89  TH1 *histo1,
90  TT2 &t2,
91  TH1 *histo2,
92  TT3 &t3,
93  TH1 *histo3,
94  TT4 &t4,
95  TH1 *histo4,
96  TT5 &t5,
97  TH1 *histo5,
98  double rangeMin,
99  double rangeMax)
100  : chi1_(t1, histo1, rangeMin, rangeMax),
101  chi2_(t2, histo2, rangeMin, rangeMax),
102  chi3_(t3, histo3, rangeMin, rangeMax),
103  chi4_(t4, histo4, rangeMin, rangeMax),
104  chi5_(t5, histo5, rangeMin, rangeMax) {}
105  double operator()() const {
106  double chi2 = chi1_() + chi2_() + chi3_() + chi4_() + chi5_();
107  static size_t count = 0;
108  ++count;
109  return chi2;
110  }
111  void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4, TH1 *histo5) {
112  chi1_.setHistos(histo1);
113  chi2_.setHistos(histo2);
114  chi3_.setHistos(histo3);
115  chi4_.setHistos(histo4);
116  chi5_.setHistos(histo5);
117  }
118  size_t numberOfBins() const {
119  return chi1_.numberOfBins() + chi2_.numberOfBins() + chi3_.numberOfBins() + chi4_.numberOfBins() +
120  chi5_.numberOfBins();
121  }
122  T1 &function1() { return chi1_.function(); }
123  const T1 &function1() const { return chi1_.function(); }
124  T2 &function2() { return chi2_.function(); }
125  const T2 &function2() const { return chi2_.function(); }
126  T3 &function3() { return chi3_.function(); }
127  const T3 &function3() const { return chi3_.function(); }
128  T4 &function4() { return chi4_.function(); }
129  const T4 &function4() const { return chi4_.function(); }
130  T5 &function5() { return chi5_.function(); }
131  const T5 &function5() const { return chi5_.function(); }
132 
133  private:
134  T1 chi1_;
135  T2 chi2_;
136  T3 chi3_;
137  T4 chi4_;
138  T5 chi5_;
139  };
140 
141  template <typename T1, typename T2, typename T3, typename T4>
142  class MultiHistoChiSquare<T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg> {
143  public:
145  template <typename TT1, typename TT2, typename TT3, typename TT4>
147  TH1 *histo1,
148  TT2 &t2,
149  TH1 *histo2,
150  TT3 &t3,
151  TH1 *histo3,
152  TT4 &t4,
153  TH1 *histo4,
154  double rangeMin,
155  double rangeMax)
156  : chi1_(t1, histo1, rangeMin, rangeMax),
157  chi2_(t2, histo2, rangeMin, rangeMax),
158  chi3_(t3, histo3, rangeMin, rangeMax),
159  chi4_(t4, histo4, rangeMin, rangeMax) {}
160  double operator()() const {
161  double chi2 = chi1_() + chi2_() + chi3_() + chi4_();
162  static size_t count = 0;
163  ++count;
164  return chi2;
165  }
166  void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4) {
167  chi1_.setHistos(histo1);
168  chi2_.setHistos(histo2);
169  chi3_.setHistos(histo3);
170  chi4_.setHistos(histo4);
171  }
172  size_t numberOfBins() const {
173  return chi1_.numberOfBins() + chi2_.numberOfBins() + chi3_.numberOfBins() + chi4_.numberOfBins();
174  }
175  T1 &function1() { return chi1_.function(); }
176  const T1 &function1() const { return chi1_.function(); }
177  T2 &function2() { return chi2_.function(); }
178  const T2 &function2() const { return chi2_.function(); }
179  T3 &function3() { return chi3_.function(); }
180  const T3 &function3() const { return chi3_.function(); }
181  T4 &function4() { return chi4_.function(); }
182  const T4 &function4() const { return chi4_.function(); }
183 
184  private:
185  T1 chi1_;
186  T2 chi2_;
187  T3 chi3_;
188  T4 chi4_;
189  };
190 
191  template <typename T1, typename T2, typename T3>
193  T2,
194  T3,
195  helper::MultiHistoChiSquareNoArg,
198  public:
200  template <typename TT1, typename TT2, typename TT3>
202  TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, TT3 &t3, TH1 *histo3, double rangeMin, double rangeMax)
203  : chi1_(t1, histo1, rangeMin, rangeMax),
204  chi2_(t2, histo2, rangeMin, rangeMax),
205  chi3_(t3, histo3, rangeMin, rangeMax) {}
206  double operator()() const { return chi1_() + chi2_() + chi3_(); }
207  void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3) {
208  chi1_.setHistos(histo1);
209  chi2_.setHistos(histo2);
210  chi3_.setHistos(histo3);
211  }
212  size_t numberOfBins() const { return chi1_.numberOfBins() + chi2_.numberOfBins() + chi3_.numberOfBins(); }
213  T1 &function1() { return chi1_.function(); }
214  const T1 &function1() const { return chi1_.function(); }
215  T2 &function2() { return chi2_.function(); }
216  const T2 &function2() const { return chi2_.function(); }
217  T3 &function3() { return chi3_.function(); }
218  const T3 &function3() const { return chi3_.function(); }
219 
220  private:
221  T1 chi1_;
222  T2 chi2_;
223  T3 chi3_;
224  };
225 
226  template <typename T1, typename T2>
228  T2,
229  helper::MultiHistoChiSquareNoArg,
233  public:
235  template <typename TT1, typename TT2>
236  MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, double rangeMin, double rangeMax)
237  : chi1_(t1, histo1, rangeMin, rangeMax), chi2_(t2, histo2, rangeMin, rangeMax) {}
238  double operator()() const { return chi1_() + chi2_(); }
239  void setHistos(TH1 *histo1, TH1 *histo2) {
240  chi1_.setHistos(histo1);
241  chi2_.setHistos(histo2);
242  }
243  size_t numberOfBins() const { return chi1_.numberOfBins() + chi2_.numberOfBins(); }
244 
245  private:
246  T1 chi1_;
247  T2 chi2_;
248  };
249 
250  template <typename T1>
252  helper::MultiHistoChiSquareNoArg,
257  public:
259  template <typename TT1>
260  MultiHistoChiSquare(TT1 &t1, TH1 *histo1, double rangeMin, double rangeMax)
261  : chi1_(t1, histo1, rangeMin, rangeMax) {}
262  double operator()() const { return chi1_(); }
263  void setHistos(TH1 *histo1) { chi1_.setHistos(histo1); }
264  size_t numberOfBins() const { return chi1_.numberOfBins(); }
265 
266  private:
267  T1 chi1_;
268  };
269 
270  template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
271  struct RootMinuitResultPrinter<MultiHistoChiSquare<T1, T2, T3, T4, T5, T6> > {
272  static void print(double amin,
273  unsigned int numberOfFreeParameters,
275  unsigned int ndof = f.numberOfBins() - numberOfFreeParameters;
276  std::cout << "chi-squared/n.d.o.f. = " << amin << "/" << ndof << " = " << amin / ndof
277  << "; prob: " << TMath::Prob(amin, ndof) << std::endl;
278  }
279  };
280 } // namespace fit
281 
282 #endif
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function1
const T1 & function1() const
Definition: MultiHistoChiSquare.h:176
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function3
const T3 & function3() const
Definition: MultiHistoChiSquare.h:127
RandomServiceHelper.t2
t2
Definition: RandomServiceHelper.py:257
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function2
const T2 & function2() const
Definition: MultiHistoChiSquare.h:216
fit::MultiHistoChiSquare::chi6_
T6 chi6_
Definition: MultiHistoChiSquare.h:80
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:238
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function4
T4 & function4()
Definition: MultiHistoChiSquare.h:181
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:264
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function3
T3 & function3()
Definition: MultiHistoChiSquare.h:126
fit::MultiHistoChiSquare::function1
const T1 & function1() const
Definition: MultiHistoChiSquare.h:62
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:199
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function3
T3 & function3()
Definition: MultiHistoChiSquare.h:179
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function2
T2 & function2()
Definition: MultiHistoChiSquare.h:215
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function1
T1 & function1()
Definition: MultiHistoChiSquare.h:175
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:86
gather_cfg.cout
cout
Definition: gather_cfg.py:144
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi3_
T3 chi3_
Definition: MultiHistoChiSquare.h:187
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:246
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function4
const T4 & function4() const
Definition: MultiHistoChiSquare.h:182
fit::MultiHistoChiSquare::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:42
fit::MultiHistoChiSquare::chi5_
T5 chi5_
Definition: MultiHistoChiSquare.h:79
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi2_
T2 chi2_
Definition: MultiHistoChiSquare.h:247
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:221
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:243
fit::MultiHistoChiSquare::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:75
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
fit::MultiHistoChiSquare::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, TT3 &t3, TH1 *histo3, TT4 &t4, TH1 *histo4, TT5 &t5, TH1 *histo5, TT6 &t6, TH1 *histo6, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:22
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:185
fit::MultiHistoChiSquare::setHistos
void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4, TH1 *histo5, TH1 *histo6)
Definition: MultiHistoChiSquare.h:49
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:236
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi4_
T4 chi4_
Definition: MultiHistoChiSquare.h:188
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, TT3 &t3, TH1 *histo3, TT4 &t4, TH1 *histo4, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:146
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:134
fit::MultiHistoChiSquare::function1
T1 & function1()
Definition: MultiHistoChiSquare.h:61
ndof
Definition: HIMultiTrackSelector.h:49
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:212
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:206
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, TT3 &t3, TH1 *histo3, TT4 &t4, TH1 *histo4, TT5 &t5, TH1 *histo5, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:88
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function2
T2 & function2()
Definition: MultiHistoChiSquare.h:177
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::chi4_
T4 chi4_
Definition: MultiHistoChiSquare.h:137
RandomServiceHelper.t1
t1
Definition: RandomServiceHelper.py:256
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function5
T5 & function5()
Definition: MultiHistoChiSquare.h:130
fit::MultiHistoChiSquare::function6
const T6 & function6() const
Definition: MultiHistoChiSquare.h:72
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::setHistos
void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4)
Definition: MultiHistoChiSquare.h:166
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::chi2_
T2 chi2_
Definition: MultiHistoChiSquare.h:135
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function4
const T4 & function4() const
Definition: MultiHistoChiSquare.h:129
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:234
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi3_
T3 chi3_
Definition: MultiHistoChiSquare.h:223
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:260
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function1
T1 & function1()
Definition: MultiHistoChiSquare.h:122
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi2_
T2 chi2_
Definition: MultiHistoChiSquare.h:186
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:262
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:144
fit::MultiHistoChiSquare::function2
const T2 & function2() const
Definition: MultiHistoChiSquare.h:64
RandomServiceHelper.t3
t3
Definition: RandomServiceHelper.py:258
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:160
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function3
T3 & function3()
Definition: MultiHistoChiSquare.h:217
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function2
const T2 & function2() const
Definition: MultiHistoChiSquare.h:178
fit::MultiHistoChiSquare::function3
const T3 & function3() const
Definition: MultiHistoChiSquare.h:66
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function3
const T3 & function3() const
Definition: MultiHistoChiSquare.h:180
fit::MultiHistoChiSquare::chi2_
T2 chi2_
Definition: MultiHistoChiSquare.h:76
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function2
const T2 & function2() const
Definition: MultiHistoChiSquare.h:125
fit::MultiHistoChiSquare::chi3_
T3 chi3_
Definition: MultiHistoChiSquare.h:77
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:118
fit::MultiHistoChiSquare::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:20
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function4
T4 & function4()
Definition: MultiHistoChiSquare.h:128
fit::MultiHistoChiSquare::function5
T5 & function5()
Definition: MultiHistoChiSquare.h:69
fit::helper::MultiHistoChiSquareNoArg
Definition: MultiHistoChiSquare.h:9
fit::MultiHistoChiSquare< T1, T2, T3, T4, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:172
helper
Definition: helper.py:1
fit::MultiHistoChiSquare::function4
const T4 & function4() const
Definition: MultiHistoChiSquare.h:68
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function3
const T3 & function3() const
Definition: MultiHistoChiSquare.h:218
RootMinuitResultPrinter.h
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::operator()
double operator()() const
Definition: MultiHistoChiSquare.h:105
fit::MultiHistoChiSquare::function2
T2 & function2()
Definition: MultiHistoChiSquare.h:63
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::chi5_
T5 chi5_
Definition: MultiHistoChiSquare.h:138
fit::MultiHistoChiSquare< T1, T2, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::setHistos
void setHistos(TH1 *histo1, TH1 *histo2)
Definition: MultiHistoChiSquare.h:239
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::setHistos
void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3)
Definition: MultiHistoChiSquare.h:207
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function5
const T5 & function5() const
Definition: MultiHistoChiSquare.h:131
fit::MultiHistoChiSquare::function5
const T5 & function5() const
Definition: MultiHistoChiSquare.h:70
fit::MultiHistoChiSquare
Definition: MultiHistoChiSquare.h:18
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function1
const T1 & function1() const
Definition: MultiHistoChiSquare.h:214
fit::MultiHistoChiSquare::function3
T3 & function3()
Definition: MultiHistoChiSquare.h:65
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function1
const T1 & function1() const
Definition: MultiHistoChiSquare.h:123
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare()
Definition: MultiHistoChiSquare.h:258
fit::MultiHistoChiSquare::function6
T6 & function6()
Definition: MultiHistoChiSquare.h:71
fit::RootMinuitResultPrinter
Definition: RootMinuitResultPrinter.h:8
fit::MultiHistoChiSquare::chi4_
T4 chi4_
Definition: MultiHistoChiSquare.h:78
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi2_
T2 chi2_
Definition: MultiHistoChiSquare.h:222
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::function1
T1 & function1()
Definition: MultiHistoChiSquare.h:213
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::setHistos
void setHistos(TH1 *histo1, TH1 *histo2, TH1 *histo3, TH1 *histo4, TH1 *histo5)
Definition: MultiHistoChiSquare.h:111
fit::MultiHistoChiSquare< T1, T2, T3, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::MultiHistoChiSquare
MultiHistoChiSquare(TT1 &t1, TH1 *histo1, TT2 &t2, TH1 *histo2, TT3 &t3, TH1 *histo3, double rangeMin, double rangeMax)
Definition: MultiHistoChiSquare.h:201
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::chi3_
T3 chi3_
Definition: MultiHistoChiSquare.h:136
fit::MultiHistoChiSquare::numberOfBins
size_t numberOfBins() const
Definition: MultiHistoChiSquare.h:57
fit
Definition: CombinedChiSquaredLikelihood.h:6
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::chi1_
T1 chi1_
Definition: MultiHistoChiSquare.h:267
fit::MultiHistoChiSquare< T1, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg, helper::MultiHistoChiSquareNoArg >::setHistos
void setHistos(TH1 *histo1)
Definition: MultiHistoChiSquare.h:263
fit::MultiHistoChiSquare::function4
T4 & function4()
Definition: MultiHistoChiSquare.h:67
fit::RootMinuitResultPrinter< MultiHistoChiSquare< T1, T2, T3, T4, T5, T6 > >::print
static void print(double amin, unsigned int numberOfFreeParameters, const MultiHistoChiSquare< T1, T2, T3, T4, T5, T6 > &f)
Definition: MultiHistoChiSquare.h:272
fit::MultiHistoChiSquare< T1, T2, T3, T4, T5, helper::MultiHistoChiSquareNoArg >::function2
T2 & function2()
Definition: MultiHistoChiSquare.h:124