#include <AlgAdapt.h>
Inheritance diagram for Anp::AlgAdapt:

Public Member Functions | |
| AlgAdapt () | |
| virtual | ~AlgAdapt () |
| virtual bool | Init ()=0 |
| virtual long double | GetPT () const |
| virtual unsigned int | GetNPar () const =0 |
| virtual void | InitReco (RecoNu &) const |
| virtual void | InitTrue (TrueNu &) const |
| virtual double | GetWeight (RecoNu &, const TrueNu &) const |
| virtual double | GetReco (RecoNu &) const =0 |
| virtual double | GetTrue (const TrueNu &) const =0 |
| virtual const std::vector< double > & | Get (const std::string &key) const |
| virtual void | Set (const std::vector< double > &dvec, const std::string &key) |
| virtual const std::vector< std::string > & | GetParName () const |
| virtual void | Config (const Registry &)=0 |
| virtual void | Print (std::ostream &os=std::cout) const |
| const std::string & | GetName () const |
| void | SetName (const std::string &name) |
Protected Member Functions | |
| void | ReadVec (const std::string &prefix, const Registry ®) |
| const std::vector< double > | GetVec (const std::string &key, const Registry ®) const |
| void | PrintVec (std::ostream &o, int w=7, int p=5) const |
| void | PrintVec (const std::vector< double > &v, std::ostream &o, int w=7, int p=5) const |
Protected Attributes | |
| std::vector< double > | fCurErr |
| std::vector< double > | fCurPar |
| std::vector< double > | fDefErr |
| std::vector< double > | fDefPar |
| std::vector< std::string > | fParName |
| std::string | fName |
|
|
Definition at line 18 of file AlgAdapt.cxx. 00019 {
00020 }
|
|
|
Definition at line 23 of file AlgAdapt.cxx. 00024 {
00025 }
|
|
|
|
|
|
Definition at line 58 of file AlgAdapt.cxx. 00059 {
00060 if(key == "CurErr")
00061 {
00062 return fCurErr;
00063 }
00064 else if(key == "CurPar")
00065 {
00066 return fCurPar;
00067 }
00068 else if(key == "DefErr")
00069 {
00070 return fDefErr;
00071 }
00072 else if(key == "DefPar")
00073 {
00074 return fDefPar;
00075 }
00076
00077 cerr << "AlgAdapt::Get - unknown key: " << key << endl;
00078
00079 assert(false && "unknown key");
00080
00081 return fCurPar;
00082 }
|
|
|
Definition at line 103 of file AlgAdapt.h. 00103 { return fName; }
|
|
|
Referenced by Set(). |
|
|
Definition at line 93 of file AlgAdapt.h. 00094 {
00095 return fParName;
00096 }
|
|
|
Definition at line 28 of file AlgAdapt.cxx. References fCurPar, fDefErr, and fDefPar. 00029 {
00030 if(fCurPar.size() != fDefPar.size() || fCurPar.size() != fDefErr.size())
00031 {
00032 cerr << "AlgAdapt::GetPT - parameter and/or error vectors have different size" << endl;
00033 return 0.0;
00034 }
00035
00036 long double pterm = 0.0;
00037
00038 for(unsigned int ipar = 0; ipar < fCurPar.size(); ++ipar)
00039 {
00040 const double cur_par = fCurPar[ipar];
00041 const double def_par = fDefPar[ipar];
00042 const double def_err = fDefErr[ipar];
00043
00044 if(def_err > 0.0)
00045 {
00046 pterm += (cur_par - def_par)*(cur_par - def_par)/(def_err*def_err);
00047 }
00048 else
00049 {
00050 cerr << "AlgAdapt::GetPT - default error values are not positive" << endl;
00051 }
00052 }
00053
00054 return pterm;
00055 }
|
|
|
|
|
|
|
|
||||||||||||
|
Definition at line 167 of file AlgAdapt.cxx. References Registry::Get(), and UtilString::StringTok(). Referenced by ReadVec(). 00168 {
00169 //
00170 // Extract Registry value stored at key and convert string numbers separated by
00171 // " " or "," or both to vector of doubles.
00172 //
00173
00174 vector<double> dvec;
00175
00176 const char *value_char = 0;
00177 if(!reg.Get(key.c_str(), value_char) || !value_char)
00178 {
00179 return dvec;
00180 }
00181
00182 vector<string> svec;
00183
00184 UtilString::StringTok(svec, string(value_char), ", ");
00185
00186 dvec = vector<double>(svec.size(), 0.0);
00187
00188 for(unsigned int i = 0; i < svec.size(); ++i)
00189 {
00190 if(!svec[i].empty())
00191 {
00192 dvec[i] = std::atof(svec[i].c_str());
00193 }
00194 }
00195
00196 return dvec;
00197 }
|
|
||||||||||||
|
Definition at line 101 of file AlgAdapt.h. 00101 { return 1.0; }
|
|
|
|
|
|
Definition at line 98 of file AlgAdapt.h. 00098 {}
|
|
|
Definition at line 99 of file AlgAdapt.h. 00099 {}
|
|
|
Definition at line 262 of file AlgAdapt.cxx. 00263 {
00264 os << "AlgAdapt::Print - this function is not implemented for this class" << endl;
00265 }
|
|
||||||||||||||||||||
|
Definition at line 228 of file AlgAdapt.cxx. 00229 {
00230 for(unsigned int i = 0; i < v.size(); ++i)
00231 {
00232 if(i == 0)
00233 {
00234 o << "(";
00235 }
00236 else
00237 {
00238 o << ", ";
00239 }
00240
00241 if(p > 0)
00242 {
00243 o << setprecision(p);
00244 }
00245 if(w > 0)
00246 {
00247 o << setw(w);
00248 }
00249
00250 o << v[i];
00251
00252 if(i + 1 == v.size())
00253 {
00254 o << ")";
00255 }
00256 }
00257
00258 o << endl;
00259 }
|
|
||||||||||||||||
|
Definition at line 200 of file AlgAdapt.cxx. References fCurErr, fCurPar, fDefErr, and fDefPar. 00201 {
00202 if(!fCurPar.empty())
00203 {
00204 o << " CurPar = ";
00205 PrintVec(fCurPar, o, w, p);
00206 }
00207
00208 if(!fCurErr.empty())
00209 {
00210 o << " CurErr = ";
00211 PrintVec(fCurErr, o, w, p);
00212 }
00213
00214 if(!fDefPar.empty())
00215 {
00216 o << " DefPar = ";
00217 PrintVec(fDefPar, o, w, p);
00218 }
00219
00220 if(!fDefErr.empty())
00221 {
00222 o << " DefErr = ";
00223 PrintVec(fDefErr, o, w, p);
00224 }
00225 }
|
|
||||||||||||
|
Definition at line 121 of file AlgAdapt.cxx. References GetVec(), and Set(). 00122 {
00123 //
00124 // Read in default and and current error and parameter vectors from
00125 // Registry, if these keys exist in Registry. Use virtual functions Set()
00126 // to set parameter values.
00127 //
00128
00129 const vector<double> pvec = GetVec(prefix + "Par", reg);
00130 if(!pvec.empty())
00131 {
00132 Set(pvec, "CurPar");
00133 }
00134
00135 const vector<double> evec = GetVec(prefix + "Err", reg);
00136 if(!evec.empty())
00137 {
00138 Set(evec, "CurErr");
00139 }
00140
00141 const vector<double> evec_def = GetVec(prefix + "DefErr", reg);
00142 if(!evec_def.empty())
00143 {
00144 Set(evec_def, "DefErr");
00145 }
00146
00147 const vector<double> pvec_def = GetVec(prefix + "DefPar", reg);
00148 if(!pvec_def.empty())
00149 {
00150 Set(pvec_def, "DefPar");
00151 }
00152
00153 const vector<double> pvec_cur = GetVec(prefix + "CurPar", reg);
00154 if(!pvec_cur.empty())
00155 {
00156 Set(pvec_cur, "CurPar");
00157 }
00158
00159 const vector<double> evec_cur = GetVec(prefix + "CurErr", reg);
00160 if(!evec_cur.empty())
00161 {
00162 Set(evec_cur, "CurErr");
00163 }
00164 }
|
|
||||||||||||
|
Definition at line 85 of file AlgAdapt.cxx. References fCurErr, fCurPar, fDefErr, fDefPar, and GetNPar(). Referenced by ReadVec(). 00086 {
00087 if(dvec.size() != GetNPar())
00088 {
00089 cerr << "AlgAdapt::Set - number of parameters and size of input vector do not match: "
00090 << " GetNPar() = " << GetNPar() << " and dvec.size() = " << dvec.size() << endl;
00091 return;
00092 }
00093
00094 if(key == "CurErr")
00095 {
00096 fCurErr = dvec;
00097 return;
00098 }
00099 else if(key == "CurPar")
00100 {
00101 fCurPar = dvec;
00102 return;
00103 }
00104 else if(key == "DefErr")
00105 {
00106 fDefErr = dvec;
00107 return;
00108 }
00109 else if(key == "DefPar")
00110 {
00111 fDefPar = dvec;
00112 return;
00113 }
00114
00115 cerr << "AlgAdapt::Set - unknown key: " << key << endl;
00116
00117 assert(false && "unknown key");
00118 }
|
|
|
Definition at line 104 of file AlgAdapt.h. References fName. 00104 { fName = name; }
|
|
|
Definition at line 78 of file AlgAdapt.h. Referenced by PrintVec(), and Set(). |
|
|
Definition at line 79 of file AlgAdapt.h. Referenced by GetPT(), PrintVec(), and Set(). |
|
|
Definition at line 80 of file AlgAdapt.h. Referenced by GetPT(), PrintVec(), and Set(). |
|
|
Definition at line 81 of file AlgAdapt.h. Referenced by GetPT(), PrintVec(), and Set(). |
|
|
Definition at line 85 of file AlgAdapt.h. Referenced by SetName(). |
|
|
Definition at line 83 of file AlgAdapt.h. |
1.3.9.1