Go to the documentation of this file.00001 #include "MuonAnalysis/MomentumScaleCalibration/interface/BackgroundFunction.h"
00002
00003 void BackgroundFunction::readParameters( TString fileName )
00004 {
00005 iterationNum_ = 0;
00006 parArray_ = 0;
00007
00008
00009
00010 ifstream parametersFile(fileName.Data());
00011 std::string line;
00012
00013 std::string iteration("Iteration ");
00014
00015 while (parametersFile) {
00016 getline( parametersFile, line );
00017 size_t lineInt = line.find("value");
00018
00019
00020 size_t iterationSubStr = line.find(iteration);
00021
00022
00023 if( iterationSubStr != std::string::npos ) {
00024
00025 int functionNum = 0;
00026
00027
00028
00029 std::stringstream sLine(line);
00030 std::string num;
00031 int wordCounter = 0;
00032
00033 while( sLine >> num ) {
00034 ++wordCounter;
00035
00036 if( wordCounter == 10 ) {
00037 std::stringstream in(num);
00038 in >> functionNum;
00039 }
00040 if( wordCounter == 13 ) {
00041 std::stringstream in(num);
00042 in >> iterationNum_;
00043 }
00044 }
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055 functionId_.push_back(functionNum);
00056
00057
00058 backgroundFunctionVec_.push_back( backgroundFunctionService( functionNum, 0., 200. ) );
00059 }
00060
00061 if ( (lineInt != std::string::npos) ) {
00062 size_t subStr1 = line.find("value");
00063 std::stringstream paramStr;
00064 double param = 0;
00065
00066
00067 paramStr << line.substr(subStr1+5);
00068 paramStr >> param;
00069
00070
00071 parVecVec_.push_back(param);
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082 }
00083 }
00084
00085 convertToArrays( backgroundFunction_, backgroundFunctionVec_ );
00086 }