template<class Function>
class fit::RootMinuitCommands< Function >
Definition at line 48 of file RootMinuitCommands.h.
template<typename Function >
Definition at line 125 of file RootMinuitCommands.h.
References cmsBenchmark::cmssw_base, cmsBenchmark::cmssw_release_base, TrackerTrackHitFilter_cff::commands, edm::errors::Configuration, gather_cfg::cout, edmIntegrityCheck::d, fit::RootMinuitCommand::doubleArgs, MillePedeFileConverter_cfg::e, fit::parameter_t::err, Exception, f, FrontierConditions_GlobalTag_cff::file, fit::parameter_t::fixed, alignBH_cfg::fixed, mps_fire::i, join(), kFix, kMigrad, kMinimize, kParameter, kPrintAll, kRelease, kSet, plotBeamSpotDB::last, mps_splice::line, fit::parameter_t::max, fit::parameter_t::min, eostools::move(), fit::RootMinuitCommand::name, fit::RootMinuitCommand::print(), alignCSCRings::s, fit::RootMinuitCommand::stringArgs, and fit::parameter_t::val.
129 vector<string> directories;
130 directories.reserve(3);
131 directories.emplace_back(
".");
132 if(!cmssw_release_base.empty()) {
133 directories.emplace_back(cmssw_release_base +
"/src");
135 if(!cmssw_base.empty()) {
136 directories.emplace_back(cmssw_base +
"/src");
139 for(
auto const&
d: directories) {
146 if(!file.is_open()) {
148 <<
"RootMinuitCommands: can't open file: " << fileName
152 cout <<
">>> configuration file: " << fileName << endl;
156 while(getline(file, line)) {
158 if(line.size()==0)
continue;
159 char last = *line.rbegin();
160 if(!(last >=
'0' && last <=
'z')) line.erase(line.end() - 1);
161 boost::char_separator<char> sep(
" ");
163 tokenizer::iterator
i = tokens.begin(),
e = tokens.end();
164 if(tokens.begin()==tokens.end())
continue;
165 if(*(i->begin()) !=
'#') {
170 <<
"please, declare all parameter before all other minuit commands.\n";
177 tokenizer::iterator j =
i; ++j;
182 else if(fixed ==
"free")
187 <<
"fix parameter option unknown: " << *i <<
"\n" 188 <<
"valid options are: fixed, free.\n";
192 pars_.push_back(std::make_pair(name, par));
198 <<
" [" << par.min <<
", " << par.max <<
"]," 199 <<
" err: " << par.err
206 com.stringArgs.push_back(arg);
211 }
else if(*i ==
kSet) {
216 com.stringArgs.push_back(arg);
233 <<
"unkonwn command:: " << *i <<
"\n";
239 cout <<
">>> end configuration" << endl;
std::string errorHeader() const
boost::tokenizer< boost::char_separator< char > > tokenizer
double par(const std::string &name)
std::vector< command > commands_
std::string nextToken(typename tokenizer::iterator &i, const typename tokenizer::iterator &end) const
bool fixed(const std::string &name)
commands
min number of hits for refit layers to remove
double string2double(const std::string &str) const
std::map< std::string, size_t > parIndices_
static std::string join(char **cmd)
RootMinuitCommand command