#include <GeneratorInterface/MCatNLOInterface/interface/MCatNLOSource.h>
Public Member Functions | |
void | endRun (Run &r) |
MCatNLOSource (const ParameterSet &, const InputSourceDescription &) | |
virtual | ~MCatNLOSource () |
Private Member Functions | |
void | clear () |
void | createStringFile (const std::string &) |
void | getVpar () |
bool | give (const std::string &iParm) |
bool | hwgive (const std::string &iParm) |
void | processHG () |
void | processLL () |
void | processQQ () |
void | processSB () |
void | processST () |
void | processUnknown (bool) |
void | processVH () |
void | processVV () |
virtual bool | produce (Event &e) |
Private Attributes | |
double | comenergy |
char | directory [70] |
bool | doHardEvents_ |
bool | doMPInteraction_ |
int | eventCounter_ |
HepMC::GenEvent * | evt |
double | extCrossSect |
double | extFilterEff |
bool | herwigHepMCVerbosity_ |
int | herwigVerbosity_ |
double | intCrossSect |
std::string | lhapdfSetPath_ |
int | maxEventsToPrint_ |
int | mcatnloVerbosity_ |
int | numEvents_ |
char | prefix_bases [10] |
char | prefix_events [10] |
bool | printCards_ |
int | processNumber_ |
std::string | stringFileName_ |
bool | useJimmy_ |
Definition at line 22 of file MCatNLOSource.h.
MCatNLOSource::MCatNLOSource | ( | const ParameterSet & | pset, | |
const InputSourceDescription & | desc | |||
) |
make sure all quarks-antiquarks have the same mass
Definition at line 46 of file MCatNLOSource.cc.
References funct::abs(), c, comenergy, edm::errors::Configuration, createStringFile(), directory, doHardEvents_, doMPInteraction_, fstbases, edm::ParameterSet::getParameter(), herwigHepMCVerbosity_, herwigVerbosity_, hw6203, hwbosc, hwgive(), hwgupr, hwhard, hwprop, i, if(), int, jimmin, jminit, jmparm, k, lhapdfSetPath_, maxEventsToPrint_, mcatnloVerbosity_, mysetpdfpath, NULL, numEvents_, params, pars, prefix_bases, prefix_events, printCards_, processHG(), processLL(), processNumber_, processQQ(), processSB(), processST(), processUnknown(), processVH(), processVV(), randomEngine, s, setherwpdf, stringFileName_, useJimmy_, vvjin, and x.
00046 : 00047 GeneratedInputSource(pset, desc), evt(0), 00048 doHardEvents_(pset.getUntrackedParameter<bool>("doHardEvents",true)), 00049 mcatnloVerbosity_(pset.getUntrackedParameter<int>("mcatnloVerbosity",0)), 00050 herwigVerbosity_ (pset.getUntrackedParameter<int>("herwigVerbosity",0)), 00051 herwigHepMCVerbosity_ (pset.getUntrackedParameter<bool>("herwigHepMCVerbosity",false)), 00052 maxEventsToPrint_ (pset.getUntrackedParameter<int>("maxEventsToPrint",0)), 00053 comenergy(pset.getUntrackedParameter<double>("comEnergy",14000.)), 00054 processNumber_(pset.getUntrackedParameter<int>("processNumber",0)), 00055 numEvents_(pset.getUntrackedParameter<int>("numHardEvents",maxEvents())), 00056 stringFileName_(pset.getUntrackedParameter<string>("stringFileName",std::string("stringInput"))), 00057 lhapdfSetPath_(pset.getUntrackedParameter<string>("lhapdfSetPath",std::string(""))), 00058 useJimmy_(pset.getUntrackedParameter<bool>("useJimmy",true)), 00059 doMPInteraction_(pset.getUntrackedParameter<bool>("doMPInteraction",true)), 00060 printCards_(pset.getUntrackedParameter<bool>("printCards",true)), 00061 eventCounter_(0), 00062 extCrossSect(pset.getUntrackedParameter<double>("crossSection", -1.)), 00063 extFilterEff(pset.getUntrackedParameter<double>("filterEfficiency", -1.)) 00064 { 00065 std::ostringstream header_str; 00066 00067 header_str << "----------------------------------------------" << "\n"; 00068 header_str << "Initializing MCatNLOSource" << "\n"; 00069 header_str << "----------------------------------------------" << "\n"; 00070 /*check for MC@NLO verbosity mode: 00071 0 : print default info 00072 1 : + print MC@NLO output 00073 2 : + print bases integration information 00074 3 : + print spring event generation information 00075 herwigVerbosity Level IPRINT 00076 valid argumets are: 0: print title only 00077 1: + print selected input parameters 00078 2: + print table of particle codes and properties 00079 3: + tables of Sudakov form factors 00080 */ 00081 if(numEvents_<1) 00082 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00083 <<" Number of input events not set: Either use maxEvents input > 0 or numHardEvents > maxEvents output."; 00084 00085 fstbases.basesoutput = mcatnloVerbosity_; 00086 header_str << " MC@NLO verbosity level = " << fstbases.basesoutput << "\n"; 00087 header_str << " Herwig verbosity level = " << herwigVerbosity_ << "\n"; 00088 header_str << " HepMC verbosity = " << herwigHepMCVerbosity_ << "\n"; 00089 header_str << " Number of events to be printed = " << maxEventsToPrint_ << "\n"; 00090 if(useJimmy_) { 00091 header_str << " HERWIG will be using JIMMY for UE/MI." << "\n"; 00092 if(doMPInteraction_) 00093 header_str << " JIMMY trying to generate multiple interactions." << "\n"; 00094 } 00095 00096 // setting up lhapdf path name from environment varaible (***) 00097 char* lhaPdfs = NULL; 00098 header_str<<" Trying to find LHAPATH in environment ..."; 00099 lhaPdfs = getenv("LHAPATH"); 00100 if(lhaPdfs != NULL) { 00101 header_str<<" done.\n"; 00102 lhapdfSetPath_=std::string(lhaPdfs); 00103 } 00104 else 00105 header_str<<" failed.\n"; 00106 00107 // set some MC@NLO parameters ... 00108 params.mmmaxevt = numEvents_; 00109 params.mmiproc=processNumber_; 00110 params.mmit1 = 10; 00111 params.mmit2 = 10; 00112 // we only allow for proton-proton collision 00113 params.mmpart1[0]='P'; 00114 params.mmpart2[0]='P'; 00115 for(int k=1;k<4; ++k) { 00116 params.mmpart1[k]=' '; 00117 params.mmpart2[k]=' '; 00118 } 00119 00120 // Set MC@NLO parameters in a single ParameterSet 00121 ParameterSet mcatnlo_params = pset.getParameter<ParameterSet>("MCatNLOParameters") ; 00122 vector<string> setNames1 = mcatnlo_params.getParameter<vector<string> >("parameterSets"); 00123 // Loop over the sets 00124 for ( unsigned i=0; i<setNames1.size(); ++i ) { 00125 string mySet = setNames1[i]; 00126 // Read the MC@NLO parameters for each set of parameters 00127 vector<string> pars = mcatnlo_params.getParameter<vector<string> >(mySet); 00128 header_str << "----------------------------------------------" << "\n"; 00129 header_str << "Read MC@NLO parameter set " << mySet << "\n"; 00130 header_str << "----------------------------------------------" << "\n"; 00131 00132 // set parameters for string input ... 00133 directory[0]='\0'; 00134 prefix_bases[0]='\0'; 00135 prefix_events[0]='\0'; 00136 00137 // Loop over all parameters and stop in case of mistake 00138 for( vector<string>::const_iterator itPar = pars.begin(); itPar != pars.end(); ++itPar ) { 00139 if(!(this->give(*itPar))) { 00140 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00141 <<" MCatNLO did not accept the following \""<<*itPar<<"\""; 00142 } 00143 else if(printCards_) { 00144 header_str << " " << *itPar << "\n"; 00145 } 00146 } 00147 } 00148 00149 header_str << "----------------------------------------------" << "\n"; 00150 header_str << "Setting MCatNLO random number generator seed." << "\n"; 00151 header_str << "----------------------------------------------" << "\n"; 00152 edm::Service<RandomNumberGenerator> rng; 00153 randomEngine = &(rng->getEngine()); 00154 int seed = rng->mySeed(); 00155 double x[5]; 00156 int s = seed; 00157 for (int i=0; i<5; i++) { 00158 s = s * 29943829 - 1; 00159 x[i] = s * (1./(65536.*65536.)); 00160 } 00161 // get main seed 00162 long double c; 00163 c = (long double)2111111111.0 * x[3] + 00164 1492.0 * (x[3] = x[2]) + 00165 1776.0 * (x[2] = x[1]) + 00166 5115.0 * (x[1] = x[0]) + 00167 x[4]; 00168 x[4] = floorl(c); 00169 x[0] = c - x[4]; 00170 x[4] = x[4] * (1./(65536.*65536.)); 00171 params.mmiseed = int(x[0]*99999); 00172 header_str << " RNDEVSEED = "<<params.mmiseed<<"\n"; 00173 00174 // get helper seeds for decay etc ... 00175 c = (long double)2111111111.0 * x[3] + 00176 1492.0 * (x[3] = x[2]) + 00177 1776.0 * (x[2] = x[1]) + 00178 5115.0 * (x[1] = x[0]) + 00179 x[4]; 00180 x[4] = floorl(c); 00181 x[0] = c - x[4]; 00182 x[4] = x[4] * (1./(65536.*65536.)); 00183 params.mmidecseed=int(x[0]*99999); 00184 c = (long double)2111111111.0 * x[3] + 00185 1492.0 * (x[3] = x[2]) + 00186 1776.0 * (x[2] = x[1]) + 00187 5115.0 * (x[1] = x[0]) + 00188 x[4]; 00189 x[4] = floorl(c); 00190 x[0] = c - x[4]; 00191 x[4] = x[4] * (1./(65536.*65536.)); 00192 params.mmifk88seed=int(x[0]*99999); 00193 00194 00195 // only LHAPDF available 00196 params.mmgname[0]='L'; 00197 params.mmgname[1]='H'; 00198 params.mmgname[2]='A'; 00199 params.mmgname[3]='P'; 00200 params.mmgname[4]='D'; 00201 params.mmgname[5]='F'; 00202 for(int k=6;k<20; ++k) params.mmgname[k]=' '; 00203 00204 00205 params.mmxrenmc=params.mmxren; 00206 params.mmxfhmc=params.mmxfh; 00207 00208 00209 // we only allow for proton-proton collision 00210 params.mmpart1[0]='P'; 00211 params.mmpart2[0]='P'; 00212 for(int k=1;k<4; ++k) { 00213 params.mmpart1[k]=' '; 00214 params.mmpart2[k]=' '; 00215 } 00216 00217 createStringFile(stringFileName_); 00218 00219 char pdfpath[232]; 00220 int pathlen = lhapdfSetPath_.length(); 00221 for(int i=0; i<pathlen; ++i) 00222 pdfpath[i]=lhapdfSetPath_.at(i); 00223 for(int i=pathlen; i<232; ++i) 00224 pdfpath[i]=' '; 00225 mysetpdfpath(pdfpath); 00226 00227 // decide which process to call ... 00228 if(doHardEvents_) { 00229 header_str << "----------------------------------------------" << "\n"; 00230 header_str << "Starting hard event generation." << "\n"; 00231 header_str << "----------------------------------------------" << "\n"; 00232 00233 if(processNumber_>0) processUnknown(true); 00234 00235 switch(abs(processNumber_)) { 00236 case(1705):case(1706):case(11705):case(11706): 00237 processQQ(); 00238 break; 00239 case(2850):case(2860):case(2870):case(2880):case(12850):case(12860):case(12870):case(12880): 00240 processVV(); 00241 break; 00242 case(1600):case(1601):case(1602):case(1603):case(1604):case(1605):case(1606):case(1607):case(1608):case(1609):case(11600):case(11601): 00243 case(11602):case(11603):case(11604):case(11605):case(11606):case(11607):case(11608):case(11609):case(1610):case(1611):case(1612): 00244 case(11610):case(11611):case(11612):case(1699):case(11699): 00245 processHG(); 00246 break; 00247 case(1396):case(1397):case(1497):case(1498):case(11396):case(11397):case(11497):case(11498): 00248 processSB(); 00249 break; 00250 case(1351):case(1352):case(1353):case(1354):case(1355):case(1356):case(1361):case(1362):case(1363):case(1364):case(1365):case(1366): 00251 case(1371):case(1372):case(1373):case(1374):case(1375):case(1376):case(1461):case(1462):case(1463):case(1471):case(1472):case(1473): 00252 case(11351):case(11352):case(11353):case(11354):case(11355):case(11356):case(11361):case(11362):case(11363):case(11364):case(11365): 00253 case(11366):case(11371):case(11372):case(11373):case(11374):case(11375):case(11376):case(11461):case(11462):case(11463):case(11471): 00254 case(11472):case(11473): 00255 processLL(); 00256 break; 00257 case(2600):case(2601):case(2602):case(2603):case(2604):case(2605):case(2606):case(2607):case(2608):case(2609):case(2610):case(2611):case(2612):case(2699): 00258 case(12600):case(12601):case(12602):case(12603):case(12604):case(12605):case(12606):case(12607):case(12608):case(12609):case(12610):case(12611):case(12612): 00259 case(12699):case(2700):case(2701):case(2702):case(2703):case(2704):case(2705):case(2706):case(2707):case(2708):case(2709):case(2710):case(2711): 00260 case(2712):case(2799):case(12700):case(12701):case(12702):case(12703):case(12704):case(12705):case(12706):case(12707):case(12708):case(12709):case(12710): 00261 case(12711):case(12712):case(12799): 00262 processVH(); 00263 break; 00264 case(2000):case(2001):case(2004):case(2010):case(2011):case(2014):case(2020):case(2021):case(2024):case(12000):case(12001): 00265 case(12004):case(12010):case(12011):case(12014):case(12020):case(12021):case(12024): 00266 processST(); 00267 break; 00268 default: 00269 processUnknown(false); 00270 break; 00271 } 00272 } 00273 else { 00274 header_str << "----------------------------------------------" << "\n"; 00275 header_str << "SKipping hard event generation." << "\n"; 00276 header_str << "----------------------------------------------" << "\n"; 00277 } 00278 00279 edm::LogInfo("")<<header_str.str(); 00280 00281 std::ostringstream header2_str; 00282 00283 // ============================== HERWIG PART ========================================= 00284 00285 header2_str << "----------------------------------------------" << "\n"; 00286 header2_str << "Initializing Herwig" << "\n"; 00287 header2_str << "----------------------------------------------" << "\n"; 00288 00289 hwudat(); 00290 00291 // setting basic parameters ... 00292 hwproc.PBEAM1 = comenergy/2.; 00293 hwproc.PBEAM2 = comenergy/2.; 00294 hwbmch.PART1[0] = 'P'; 00295 hwbmch.PART2[0] = 'P'; 00296 for(int i=1;i<8;++i){ 00297 hwbmch.PART1[i] = ' '; 00298 hwbmch.PART2[i] = ' ';} 00299 00300 if(useJimmy_ && doMPInteraction_) jmparm.MSFLAG = 1; 00301 00302 // initialize other common block ... 00303 hwigin(); 00304 00305 // seting maximum errrors allowed 00306 hwevnt.MAXER = numEvents_/10; 00307 if(hwevnt.MAXER<100) hwevnt.MAXER=100; 00308 00309 00310 if(useJimmy_) jimmin(); 00311 00312 // set some 'non-herwig' defaults 00313 hwevnt.MAXPR = maxEventsToPrint_; // no printing out of events 00314 hwpram.IPRINT = herwigVerbosity_; // HERWIG print out mode 00315 hwprop.RMASS[6] = params.mmxmt; // top mass 00316 hwproc.IPROC = processNumber_; 00317 00318 // set HERWIG PDF's to LHAPDF 00319 setherwpdf(); 00320 00321 // setting pdfs to MCatNLO pdf's 00322 hwpram.MODPDF[0]=params.mmidpdfset; 00323 hwpram.MODPDF[1]=params.mmidpdfset; 00324 00325 00326 // check process code and set necessary HERWIG parameters 00327 int jpr0 = (abs(hwproc.IPROC)%10000); 00328 int jpr = jpr0/100; 00329 if(jpr == 13 || jpr == 14) { 00330 if(jpr0 == 1396) { 00331 hwhard.EMMIN = params.mmv1massinf; 00332 hwhard.EMMAX = params.mmv1masssup; 00333 } 00334 else if(jpr0 == 1397) { 00335 hwprop.RMASS[200] = params.mmxzm; 00336 hwpram.GAMZ = params.mmxzw; 00337 hwbosc.GAMMAX = params.mmv1gammax; 00338 } 00339 else if(jpr0 == 1497 || jpr0 == 1498) { 00340 hwprop.RMASS[198] = params.mmxwm; 00341 hwpram.GAMW = params.mmxww; 00342 hwbosc.GAMMAX = params.mmv1gammax; 00343 } 00344 else if((jpr0 >= 1350 && jpr0 <= 1356) || (jpr0 >= 1361 && jpr0 <= 1366)) { 00345 hwprop.RMASS[200] = params.mmxzm; 00346 hwpram.GAMZ = params.mmxzw; 00347 hwbosc.GAMMAX = params.mmv1gammax; 00348 hwhard.EMMIN = params.mmv1massinf; 00349 hwhard.EMMAX = params.mmv1masssup; 00350 } 00351 else if(jpr0 >= 1371 && jpr0 <= 1373) { 00352 hwhard.EMMIN = params.mmv1massinf; 00353 hwhard.EMMAX = params.mmv1masssup; 00354 } 00355 else if((jpr0 >= 1450 && jpr0 <= 1453) 00356 || (jpr0 >= 1461 && jpr0 <= 1463) 00357 || (jpr0 >= 1471 && jpr0 <= 1473)) { 00358 hwprop.RMASS[198] = params.mmxwm; 00359 hwpram.GAMW = params.mmxww; 00360 hwbosc.GAMMAX = params.mmv1gammax; 00361 hwhard.EMMIN = params.mmv1massinf; 00362 hwhard.EMMAX = params.mmv1masssup; 00363 } 00364 } 00365 else if(jpr == 28) { 00366 hwprop.RMASS[198] = params.mmxwm; 00367 hwpram.GAMW = params.mmxww; 00368 hwprop.RMASS[200] = params.mmxzm; 00369 hwpram.GAMZ = params.mmxzw; 00370 if(params.mmv1gammax>params.mmv2gammax) 00371 hwbosc.GAMMAX = params.mmv1gammax; 00372 else 00373 hwbosc.GAMMAX = params.mmv2gammax; 00374 } 00375 else if(jpr == 16) { 00376 hwprop.RMASS[201] = params.mmxmh0; 00377 hwprop.RMASS[6] = params.mmxmt; 00378 } 00379 else if(jpr == 17) { 00380 if(abs(hwproc.IPROC)==1705 || abs(hwproc.IPROC)==11705) 00381 hwprop.RMASS[5]= params.mmxmt; 00382 else if (abs(hwproc.IPROC)==1706 || abs(hwproc.IPROC)==11706) { 00383 hwprop.RMASS[6]= params.mmxmt; 00384 hwprop.RMASS[198] = params.mmxwm; 00385 } 00386 } 00387 else if(jpr == 26) { 00388 hwprop.RMASS[198] = params.mmxwm; 00389 hwpram.GAMW = params.mmxww; 00390 hwprop.RMASS[201] = params.mmxmh0; 00391 } 00392 else if(jpr == 27) { 00393 hwprop.RMASS[200] = params.mmxzm; 00394 hwpram.GAMZ = params.mmxzw; 00395 hwprop.RMASS[201] = params.mmxmh0; 00396 } 00397 else if(jpr == 20) { 00398 hwprop.RMASS[6] = params.mmxmt; 00399 hwprop.RMASS[198] = params.mmxwm; 00400 } 00401 else { 00402 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00403 <<" bad process ID IPROC "<<hwproc.IPROC<<"!"; 00404 } 00405 hwprop.RMASS[1] = params.mmxmass1; 00406 hwprop.RMASS[2] = params.mmxmass2; 00407 hwprop.RMASS[3] = params.mmxmass3; 00408 hwprop.RMASS[4] = params.mmxmass4; 00409 hwprop.RMASS[5] = params.mmxmass5; 00410 hwprop.RMASS[13] = params.mmxmass21; 00411 00412 // some sensitive defaults 00413 hwpram.SOFTME = false; 00414 hwevnt.NOWGT = false; 00415 hw6203.NEGWTS = true; 00416 hwpram.LRSUD = 0; 00417 hwpram.LWSUD = 77; 00418 hwpram.NSTRU = 8; 00419 hwpram.PRVTX = false; 00420 hwhard.PTMIN = 0.5; 00421 if(!hwevnt.NOWGT) { 00422 hwevnt.WGTMAX = 1.000001; 00423 hw6203.AVABW = 1.000001; 00424 } 00425 hwprop.RLTIM[6]=1.0e-23; 00426 hwprop.RLTIM[12]=1.0e-23; 00427 if(abs(hwproc.IPROC)==1705 || abs(hwproc.IPROC)==11705) 00428 hwpram.PSPLT[1] = 0.5; 00429 00430 // Set HERWIG parameters in a single ParameterSet 00431 ParameterSet herwig_params = 00432 pset.getParameter<ParameterSet>("HerwigParameters") ; 00433 00434 // The parameter sets to be read (default, min bias, user ...) in the 00435 // proper order. 00436 vector<string> setNames2 = 00437 herwig_params.getParameter<vector<string> >("parameterSets"); 00438 00439 // Loop over the sets 00440 for ( unsigned i=0; i<setNames2.size(); ++i ) { 00441 00442 string mySet = setNames2[i]; 00443 00444 // Read the HERWIG parameters for each set of parameters 00445 vector<string> pars = 00446 herwig_params.getParameter<vector<string> >(mySet); 00447 00448 header2_str << "----------------------------------------------" << "\n"; 00449 header2_str << "Read HERWIG parameter set " << mySet << "\n"; 00450 header2_str << "----------------------------------------------" << "\n"; 00451 00452 // Loop over all parameters and stop in case of mistake 00453 for( vector<string>::const_iterator 00454 itPar = pars.begin(); itPar != pars.end(); ++itPar ) { 00455 static string sRandomValueSetting1("NRN(1)"); 00456 static string sRandomValueSetting2("NRN(2)"); 00457 if( (0 == itPar->compare(0,sRandomValueSetting1.size(),sRandomValueSetting1) )||(0 == itPar->compare(0,sRandomValueSetting2.size(),sRandomValueSetting2) )) { 00458 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00459 <<" attempted to set random number using HERWIG command 'NRN(.)'. This is not allowed.\n Please use the RandomNumberGeneratorService to set the random number seed."; 00460 } 00461 00462 if( ! hwgive(*itPar) ) { 00463 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00464 <<" herwig did not accept the following \""<<*itPar<<"\""; 00465 } 00466 else if(printCards_){ 00467 header2_str << " " << *itPar << "\n"; 00468 } 00469 } 00470 } 00471 00472 00473 if(vvjin.QQIN[0]!='\0') { 00474 header2_str<<" HERWIG will be reading hard events from file: "; 00475 for(int i=0; i<50; ++i) header2_str<<vvjin.QQIN[i]; 00476 header2_str<<"\n"; 00477 } 00478 else { 00479 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00480 <<" <prefix>.events file must be provided.\n Set the QQIN-parameter in the config file."; 00481 } 00482 00483 if(abs(hwproc.IPROC)<=10000) { 00484 hwgupr.LHSOFT = true; 00485 header2_str <<" HERWIG will produce underlying event."<<"\n"; 00486 } 00487 else { 00488 hwgupr.LHSOFT = false; 00489 header2_str <<" HERWIG will *not* produce underlying event."<<"\n"; 00490 } 00491 00493 for(int i=1; i<6; ++i) 00494 hwprop.RMASS[i+6]=hwprop.RMASS[i]; 00495 00496 // set W+ to W- 00497 hwprop.RMASS[199]=hwprop.RMASS[198]; 00498 00499 // setting up herwig RNG seeds NRN(.) 00500 header2_str << "----------------------------------------------" << "\n"; 00501 header2_str << "Setting Herwig random number generator seeds" << "\n"; 00502 header2_str << "----------------------------------------------" << "\n"; 00503 c = (long double)2111111111.0 * x[3] + 00504 1492.0 * (x[3] = x[2]) + 00505 1776.0 * (x[2] = x[1]) + 00506 5115.0 * (x[1] = x[0]) + 00507 x[4]; 00508 x[4] = floorl(c); 00509 x[0] = c - x[4]; 00510 x[4] = x[4] * (1./(65536.*65536.)); 00511 hwevnt.NRN[0]=int(x[0]*99999); 00512 header2_str << " NRN(1) = "<<hwevnt.NRN[0]<<"\n"; 00513 c = (long double)2111111111.0 * x[3] + 00514 1492.0 * (x[3] = x[2]) + 00515 1776.0 * (x[2] = x[1]) + 00516 5115.0 * (x[1] = x[0]) + 00517 x[4]; 00518 x[4] = floorl(c); 00519 x[0] = c - x[4]; 00520 hwevnt.NRN[1]=int(x[0]*99999); 00521 header2_str << " NRN(2) = "<<hwevnt.NRN[1]<<"\n"; 00522 00523 hwuinc(); 00524 00525 // *** commented out the seeting stables for PI0 and B hadrons 00526 /* 00527 hwusta("PI0 ",1); 00528 if(jpr == 20) { 00529 hwusta("B+ ",1); 00530 hwusta("B- ",1); 00531 hwusta("B_D0 ",1); 00532 hwusta("B_DBAR0 ",1); 00533 hwusta("B_S0 ",1); 00534 hwusta("B_SBAR0 ",1); 00535 hwusta("SIGMA_B+",1); 00536 hwusta("LMBDA_B0",1); 00537 hwusta("SIGMA_B-",1); 00538 hwusta("XI_B0 ",1); 00539 hwusta("XI_B- ",1); 00540 hwusta("OMEGA_B-",1); 00541 hwusta("B_C- ",1); 00542 hwusta("UPSLON1S",1); 00543 hwusta("SGM_BBR-",1); 00544 hwusta("LMD_BBR0",1); 00545 hwusta("SGM_BBR+",1); 00546 hwusta("XI_BBAR0",1); 00547 hwusta("XI_B+ ",1); 00548 hwusta("OMG_BBR+",1); 00549 hwusta("B_C+ ",1); 00550 } 00551 */ 00552 00553 hweini(); 00554 00555 if(useJimmy_) jminit(); 00556 00557 produces<HepMCProduct>(); 00558 produces<GenInfoProduct, edm::InRun>(); 00559 00560 header2_str << "\n----------------------------------------------" << "\n"; 00561 header2_str << "Starting event generation" << "\n"; 00562 header2_str << "----------------------------------------------" << "\n"; 00563 00564 LogInfo("")<<header2_str.str(); 00565 00566 }
MCatNLOSource::~MCatNLOSource | ( | ) | [virtual] |
Definition at line 569 of file MCatNLOSource.cc.
References clear().
00570 { 00571 std::ostringstream footer_str; 00572 00573 footer_str << "----------------------------------------------" << "\n"; 00574 footer_str << "Event generation done" << "\n"; 00575 footer_str << "----------------------------------------------" << "\n"; 00576 00577 LogInfo("")<<footer_str.str(); 00578 00579 clear(); 00580 }
Definition at line 582 of file MCatNLOSource.cc.
References jmefin, and useJimmy_.
Referenced by ~MCatNLOSource().
void MCatNLOSource::createStringFile | ( | const std::string & | fileName | ) | [private] |
Definition at line 1708 of file MCatNLOSource.cc.
References directory, fstbases, i, output(), prefix_bases, prefix_events, and vvjin.
Referenced by MCatNLOSource().
01709 { 01710 01711 bool endone = false; 01712 for(int i=0; i<100; ++i) { 01713 if(fileName.c_str()[i]=='\0') endone = true; 01714 if(!endone) fstbases.stfilename[i]=fileName.c_str()[i]; 01715 else fstbases.stfilename[i]=' '; 01716 } 01717 01718 // put together ouput-file-strings ... 01719 char string1[81]; 01720 char string2[81]; 01721 std::ofstream output; 01722 output.open(fileName.c_str()); 01723 int position = 0; 01724 while(directory[position]!='\0' && position < 70) { 01725 string1[position]=directory[position]; 01726 string2[position]=directory[position]; 01727 position++; 01728 } 01729 int position3 = position; 01730 int position2 = 0; 01731 while(prefix_bases[position2]!='\0' && position2<10) { 01732 string1[position3]=prefix_bases[position2]; 01733 position3++; 01734 position2++; 01735 } 01736 string1[position3]='\0'; 01737 position3 = position; 01738 position2 = 0; 01739 while(prefix_events[position2]!='\0' && position2<10) { 01740 string2[position3]=prefix_events[position2]; 01741 position3++; 01742 position2++; 01743 } 01744 string2[position3]='\0'; 01745 output.put('\''); 01746 for(int i=0; ;++i) { 01747 if(string1[i]=='\0') { 01748 vvjin.QQIN[i]='.'; 01749 vvjin.QQIN[i+1]='e'; 01750 vvjin.QQIN[i+2]='v'; 01751 vvjin.QQIN[i+3]='e'; 01752 vvjin.QQIN[i+4]='n'; 01753 vvjin.QQIN[i+5]='t'; 01754 vvjin.QQIN[i+6]='s'; 01755 vvjin.QQIN[i+7]='\0'; 01756 break; 01757 } 01758 else { 01759 output.put(string1[i]); 01760 vvjin.QQIN[i]=string1[i]; 01761 } 01762 } 01763 output.put('\''); 01764 output.put('\n'); 01765 output.put('\''); 01766 for(int i=0; ;++i) { 01767 if(string2[i]=='\0') break; 01768 else output.put(string2[i]); 01769 } 01770 output.put('\''); 01771 output.put('\n'); 01772 output.close(); 01773 }
Reimplemented from edm::ConfigurableInputSource.
Definition at line 1775 of file MCatNLOSource.cc.
References extCrossSect, extFilterEff, intCrossSect, and edm::Run::put().
01775 { 01776 hwefin(); 01777 auto_ptr<GenInfoProduct> giprod (new GenInfoProduct()); 01778 intCrossSect = 1000.0*hwevnt.AVWGT; 01779 giprod->set_cross_section(intCrossSect); 01780 giprod->set_external_cross_section(extCrossSect); 01781 giprod->set_filter_efficiency(extFilterEff); 01782 r.put(giprod); 01783 01784 }
void MCatNLOSource::getVpar | ( | ) | [private] |
Definition at line 1667 of file MCatNLOSource.cc.
References funct::abs(), edm::errors::Configuration, params, and processNumber_.
Referenced by processLL(), processSB(), and processVH().
01668 { 01669 switch(abs(processNumber_)) { 01670 case(1397):case(11397): 01671 case(1351):case(1352):case(1353):case(1354):case(1355):case(1356): 01672 case(1361):case(1362):case(1363):case(1364):case(1365):case(1366): 01673 case(1371):case(1372):case(1373):case(1374):case(1375):case(1376): 01674 case(11351):case(11352):case(11353):case(11354):case(11355):case(11356): 01675 case(11361):case(11362):case(11363):case(11364):case(11365):case(11366): 01676 case(11371):case(11372):case(11373):case(11374):case(11375):case(11376): 01677 params.mmxm0 = params.mmxzm; 01678 params.mmgah = params.mmxzw; 01679 break; 01680 01681 case(2700):case(2701):case(2702):case(2703):case(2704):case(2705):case(2706): 01682 case(2707):case(2708):case(2709):case(2710):case(2711):case(2712):case(2799): 01683 case(12700):case(12701):case(12702):case(12703):case(12704):case(12705):case(12706): 01684 case(12707):case(12708):case(12709):case(12710):case(12711):case(12712):case(12799): 01685 params.mmxm0v = params.mmxzm; 01686 params.mmgav = params.mmxzw; 01687 break; 01688 case(1497):case(11497): 01689 case(1498):case(11498): 01690 case(1461):case(1462):case(1463):case(1471):case(1472):case(1473): 01691 case(11461):case(11462):case(11463):case(11471):case(11472):case(11473): 01692 params.mmxm0 = params.mmxwm; 01693 params.mmgah = params.mmxww; 01694 break; 01695 01696 case(2600):case(2601):case(2602):case(2603):case(2604):case(2605):case(2606): 01697 case(2607):case(2608):case(2609):case(2610):case(2611):case(2612):case(2699): 01698 case(12600):case(12601):case(12602):case(12603):case(12604):case(12605):case(12606): 01699 case(12607):case(12608):case(12609):case(12610):case(12611):case(12612):case(12699): 01700 params.mmxm0v = params.mmxwm; 01701 params.mmgav = params.mmxww; 01702 break; 01703 default: 01704 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") <<" No such option in getVpar."; 01705 } 01706 }
bool MCatNLOSource::give | ( | const std::string & | iParm | ) | [private] |
Definition at line 1460 of file MCatNLOSource.cc.
References directory, para331, params, prefix_bases, and prefix_events.
01461 { 01462 bool accepted = 1; 01463 if(!strncmp(iParm.c_str(),"ECM",3)) 01464 params.mmecm = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01465 else if(!strncmp(iParm.c_str(),"TWIDTH",6)) 01466 params.mmtwidth = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01467 else if(!strncmp(iParm.c_str(),"FREN",4)) 01468 params.mmxren = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01469 else if(!strncmp(iParm.c_str(),"FFACT",5)) 01470 params.mmxfh = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01471 else if(!strncmp(iParm.c_str(),"HVQMASS",7)) 01472 params.mmxmt = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01473 else if(!strncmp(iParm.c_str(),"WMASS",5)) 01474 params.mmxwm = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01475 else if(!strncmp(iParm.c_str(),"ZMASS",5)) 01476 params.mmxzm = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01477 else if(!strncmp(iParm.c_str(),"WWIDTH",6)) 01478 params.mmxww = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01479 else if(!strncmp(iParm.c_str(),"ZWIDTH",6)) 01480 params.mmxzw = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01481 else if(!strncmp(iParm.c_str(),"HGGMASS",7)) 01482 params.mmxmh0 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01483 else if(!strncmp(iParm.c_str(),"HGGWIDTH",8)) 01484 params.mmgah = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01485 else if(!strncmp(iParm.c_str(),"IBORNHGG",8)) 01486 params.mmibornex = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01487 else if(!strncmp(iParm.c_str(),"V1GAMMAX",8)) 01488 params.mmv1gammax = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01489 else if(!strncmp(iParm.c_str(),"V1MASSINF",9)) 01490 params.mmv1massinf = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01491 else if(!strncmp(iParm.c_str(),"V1MASSSUP",9)) 01492 params.mmv1masssup = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01493 else if(!strncmp(iParm.c_str(),"V2GAMMAX",8)) 01494 params.mmv2gammax = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01495 else if(!strncmp(iParm.c_str(),"V2MASSINF",9)) 01496 params.mmv2massinf = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01497 else if(!strncmp(iParm.c_str(),"V2MASSSUP",9)) 01498 params.mmv2masssup = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01499 else if(!strncmp(iParm.c_str(),"HGAMMAX",7)) 01500 params.mmgammax = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01501 else if(!strncmp(iParm.c_str(),"HMASSINF",8)) 01502 params.mmxmhl = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01503 else if(!strncmp(iParm.c_str(),"HMASSSUP",8)) 01504 params.mmxmhu = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01505 else if(!strncmp(iParm.c_str(),"T1GAMMAX",8)) 01506 para331.mmgammay1 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01507 else if(!strncmp(iParm.c_str(),"T1MASSINF",9)) 01508 para331.mmym1low = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01509 else if(!strncmp(iParm.c_str(),"T1MASSSUP",9)) 01510 para331.mmym1upp = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01511 else if(!strncmp(iParm.c_str(),"T2GAMMAX",8)) 01512 para331.mmgammay2 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01513 else if(!strncmp(iParm.c_str(),"T2MASSINF",9)) 01514 para331.mmym2low = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01515 else if(!strncmp(iParm.c_str(),"T2MASSSUP",9)) 01516 para331.mmym2upp = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01517 else if(!strncmp(iParm.c_str(),"UMASS",5)) 01518 params.mmxmass1 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01519 else if(!strncmp(iParm.c_str(),"DMASS",5)) 01520 params.mmxmass2 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01521 else if(!strncmp(iParm.c_str(),"SMASS",5)) 01522 params.mmxmass3 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01523 else if(!strncmp(iParm.c_str(),"CMASS",5)) 01524 params.mmxmass4 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01525 else if(!strncmp(iParm.c_str(),"BMASS",5)) 01526 params.mmxmass5 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01527 else if(!strncmp(iParm.c_str(),"GMASS",5)) 01528 params.mmxmass21 = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01529 else if(!strncmp(iParm.c_str(),"VUD",3)) 01530 params.mmvud = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01531 else if(!strncmp(iParm.c_str(),"VUS",3)) 01532 params.mmvus = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01533 else if(!strncmp(iParm.c_str(),"VUB",3)) 01534 params.mmvub = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01535 else if(!strncmp(iParm.c_str(),"VCD",3)) 01536 params.mmvcd = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01537 else if(!strncmp(iParm.c_str(),"VCS",3)) 01538 params.mmvcs = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01539 else if(!strncmp(iParm.c_str(),"VCB",3)) 01540 params.mmvcb = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01541 else if(!strncmp(iParm.c_str(),"VTD",3)) 01542 params.mmvtd = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01543 else if(!strncmp(iParm.c_str(),"VTS",3)) 01544 params.mmvts = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01545 else if(!strncmp(iParm.c_str(),"VTB",3)) 01546 params.mmvtb = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01547 else if(!strncmp(iParm.c_str(),"AEMRUN",6)) 01548 { 01549 int tostart=0; 01550 while(iParm.c_str()[tostart]!='=') tostart++; 01551 tostart++; 01552 while(iParm.c_str()[tostart]==' ') tostart++; 01553 01554 if(!strncmp(&iParm.c_str()[tostart],"YES",3)) 01555 params.mmaemrun = 0; 01556 else if(!strncmp(&iParm.c_str()[tostart],"NO",2)) 01557 params.mmaemrun = 1; 01558 else 01559 return false; 01560 } 01561 else if(!strncmp(iParm.c_str(),"IPROC",5)) 01562 LogWarning("")<<" WARNING: IPROC parameter will be ignored. Use 'untracked int32 processNumber = xxx' to set IPROC.\n"; 01563 else if(!strncmp(iParm.c_str(),"IVCODE",6)) 01564 params.mmivcode = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01565 else if(!strncmp(iParm.c_str(),"IL1CODE",7)) 01566 params.mmil1code = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01567 else if(!strncmp(iParm.c_str(),"IL2CODE",7)) 01568 params.mmil2code = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01569 else if(!strncmp(iParm.c_str(),"PART1",5) || !strncmp(iParm.c_str(),"PART2",5)) 01570 LogWarning("")<<" WARNING: PARTi parameter will be ignored. Only proton-proton collisions supported. For proton-antiproton please go to Batavia (but hurry).\n"; 01571 else if(!strncmp(iParm.c_str(),"PDFGROUP",8)) { 01572 /* 01573 int tostart=0; 01574 while(iParm.c_str()[tostart]!='=') tostart++; 01575 tostart++; 01576 while(iParm.c_str()[tostart]==' ') tostart++; 01577 int todo = 0; 01578 while(iParm.c_str()[todo+tostart]!='\0' && todo < 20) { 01579 params.mmgname[todo]=iParm.c_str()[todo+tostart]; 01580 01581 todo++; 01582 } 01583 for(int i=todo ;i <20; ++i) params.mmgname[i]=' '; 01584 */ 01585 LogWarning("")<<" WARNING: PDFGROUP parameter will be ignored. Only LHAPDF sets supported.\n"; 01586 } 01587 else if(!strncmp(iParm.c_str(),"PDFSET",6)) 01588 params.mmidpdfset = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01589 else if(!strncmp(iParm.c_str(),"LAMBDAFIVE",10)) 01590 params.mmxlam = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01591 else if(!strncmp(iParm.c_str(),"SCHEMEOFPDF",11)) { 01592 int tostart=0; 01593 while(iParm.c_str()[tostart]!='=') tostart++; 01594 tostart++; 01595 while(iParm.c_str()[tostart]==' ') tostart++; 01596 params.mmscheme[0]=iParm.c_str()[tostart]; 01597 params.mmscheme[1]=iParm.c_str()[tostart+1]; 01598 } 01599 else if(!strncmp(iParm.c_str(),"LAMBDAHERW",10)) 01600 params.mmxlamherw = atof(&iParm[strcspn(iParm.c_str(),"=")+1]); 01601 else if(!strncmp(iParm.c_str(),"FPREFIX",7)) { 01602 int tostart=0; 01603 while(iParm.c_str()[tostart]!='=') tostart++; 01604 tostart++; 01605 while(iParm.c_str()[tostart]==' ') tostart++; 01606 int todo = 0; 01607 while(iParm.c_str()[todo+tostart]!='\0' && todo < 10) { 01608 prefix_bases[todo]=iParm.c_str()[todo+tostart]; 01609 todo++; 01610 } 01611 if(todo<10) prefix_bases[todo]='\0'; 01612 } 01613 else if(!strncmp(iParm.c_str(),"EVPREFIX",8)) { 01614 int tostart=0; 01615 while(iParm.c_str()[tostart]!='=') tostart++; 01616 tostart++; 01617 while(iParm.c_str()[tostart]==' ') tostart++; 01618 int todo = 0; 01619 while(iParm.c_str()[todo+tostart]!='\0' && todo < 10) { 01620 prefix_events[todo]=iParm.c_str()[todo+tostart]; 01621 todo++; 01622 } 01623 if(todo<10) prefix_events[todo]='\0'; 01624 } 01625 else if(!strncmp(iParm.c_str(),"NEVENTS",7)) 01626 LogWarning("")<<" WARNING: NEVENTS parameter will be ignored. Use 'untracked int32 maxEvents = xxx' to set NEVENTS."<<"\n"; 01627 else if(!strncmp(iParm.c_str(),"WGTTYPE",7)) 01628 params.mmiwgtnorm = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01629 else if(!strncmp(iParm.c_str(),"RNDEVSEED",9)) 01630 // params.mmiseed = atoi(&iParm[strcspn(iParm.c_str(),"=")+1]); 01631 LogWarning("")<<" WARNING: RNDEVSEED will be ignored. Use the RandomNumberGeneratorService to set RNG seed."<<"\n"; 01632 else if(!strncmp(iParm.c_str(),"BASES",5)) 01633 LogWarning("")<<" WARNING: BASES parameter will be ignored."<<"\n"; 01634 else if(!strncmp(iParm.c_str(),"PDFLIBRARY",10)) 01635 LogWarning("")<<" WARNING: PDFLIBRARY parameter will be ignored. Only LHAPDF is supported."<<"\n"; 01636 else if(!strncmp(iParm.c_str(),"HERPDF",6)) 01637 LogWarning("")<<" WARNING: HERPDF parameter will be ignored. Use the same PDF as for hard event generation."<<"\n"; 01638 else if(!strncmp(iParm.c_str(),"HWPATH",6)) 01639 LogWarning("")<<" WARNING: HWPATH parameter is not needed and will be ignored." << "\n"; 01640 else if(!strncmp(iParm.c_str(),"HWUTI",5)) 01641 LogWarning("")<<" WARNING: HWUTI parameter will be ignored. Herwig utilities not needed."<<"\n"; 01642 else if(!strncmp(iParm.c_str(),"HERWIGVER",9)) 01643 LogWarning("")<<" WARNING: HERWIGVER parameter will be ignored. Herwig library not needed."<<"\n"; 01644 else if(!strncmp(iParm.c_str(),"LHAPATH",7)) 01645 LogWarning("")<<" WARNING: LHAPATH parameter will be ignored. Use the <untracked string lhapdfSetPath> parameter in order to set LHAPDF path."<<"\n"; 01646 else if(!strncmp(iParm.c_str(),"LHAOFL",6)) 01647 LogWarning("")<<" WARNING: LHAOFL parameter will be ignored. *** THIS WILL CHANGE IN FURTHER RELEASE ***"<<"\n"; 01648 else if(!strncmp(iParm.c_str(),"PDFPATH",6)) 01649 LogWarning("")<<" WARNING: PDFPATH parameter will be ignored. Only LHAPDF available."<<"\n"; 01650 else if(!strncmp(iParm.c_str(),"SCRTCH",6)) { 01651 int tostart=0; 01652 while(iParm.c_str()[tostart]!='=') tostart++; 01653 tostart++; 01654 while(iParm.c_str()[tostart]==' ') tostart++; 01655 int todo = 0; 01656 while(iParm.c_str()[todo+tostart]!='\0' && todo < 70) { 01657 directory[todo]=iParm.c_str()[todo+tostart]; 01658 todo++; 01659 } 01660 if(todo<70) directory[todo]='\0'; 01661 } 01662 01663 else accepted = false; 01664 return accepted; 01665 }
bool MCatNLOSource::hwgive | ( | const std::string & | iParm | ) | [private] |
Definition at line 694 of file MCatNLOSource.cc.
References edm::errors::Configuration, hw6202, hw6203, hw6300, hw6500, hwbosc, hwbrch, hwdist, hwdspn, hwgupr, hwhard, hwminb, hwprop, hwrpar, hwsusy, hwuclu, hwusud, hwuwts, i, jmparm, and vvjin.
Referenced by MCatNLOSource().
00694 { 00695 00696 bool accepted = 1; 00697 00698 if(!strncmp(ParameterString.c_str(),"QQIN",4)) 00699 { 00700 int tostart=0; 00701 while(ParameterString.c_str()[tostart]!='=') tostart++; 00702 tostart++; 00703 while(ParameterString.c_str()[tostart]==' ') tostart++; 00704 int todo = 0; 00705 while(ParameterString.c_str()[todo+tostart]!='\0') { 00706 vvjin.QQIN[todo]=ParameterString.c_str()[todo+tostart]; 00707 todo++; 00708 } 00709 for(int i=todo ;i <50+todo; ++i) vvjin.QQIN[i]=' '; 00710 } 00711 else if(!strncmp(ParameterString.c_str(),"IPROC",5)) { 00712 LogWarning("")<<" WARNING: IPROC parameter will be ignored. Use 'untracked int32 processNumber = xxx' to set IPROC.\n"; 00713 } 00714 else if(!strncmp(ParameterString.c_str(),"MAXEV",5)) { 00715 LogWarning("")<<" WARNING: MAXEV parameter will be ignored. Use 'untracked int32 maxEvents = xxx' to set the number of events to be generated.\n"; 00716 } 00717 else if(!strncmp(ParameterString.c_str(),"AUTPDF(",7)){ 00718 LogWarning("")<<" WARNING: AUTPDF parameter *not* suported. HERWIG will use LHAPDF only.\n"; 00719 } 00720 else if(!strncmp(ParameterString.c_str(),"TAUDEC",6)){ 00721 int tostart=0; 00722 while(ParameterString.c_str()[tostart]!='=') tostart++; 00723 tostart++; 00724 while(ParameterString.c_str()[tostart]==' ') tostart++; 00725 int todo = 0; 00726 while(ParameterString.c_str()[todo+tostart]!='\0') { 00727 hwdspn.TAUDEC[todo]=ParameterString.c_str()[todo+tostart]; 00728 todo++; 00729 } 00730 if(todo != 6) { 00731 throw edm::Exception(edm::errors::Configuration,"HerwigError") 00732 <<" Attempted to set TAUDEC to "<<hwdspn.TAUDEC<<". This is not allowed.\n Options for TAUDEC are HERWIG and TAUOLA."; 00733 } 00734 } 00735 else if(!strncmp(ParameterString.c_str(),"BDECAY",6)){ 00736 LogWarning("")<<" WARNING: BDECAY parameter *not* suported. HERWIG will use default b decay.\n"; 00737 } 00738 else if(!strncmp(ParameterString.c_str(),"QCDLAM",6)) 00739 hwpram.QCDLAM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00740 else if(!strncmp(ParameterString.c_str(),"VQCUT",5)) 00741 hwpram.VQCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00742 else if(!strncmp(ParameterString.c_str(),"VGCUT",5)) 00743 hwpram.VGCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00744 else if(!strncmp(ParameterString.c_str(),"VPCUT",5)) 00745 hwpram.VPCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00746 else if(!strncmp(ParameterString.c_str(),"CLMAX",5)) 00747 hwpram.CLMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00748 else if(!strncmp(ParameterString.c_str(),"CLPOW",5)) 00749 hwpram.CLPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00750 else if(!strncmp(ParameterString.c_str(),"PSPLT(1)",8)) 00751 hwpram.PSPLT[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00752 else if(!strncmp(ParameterString.c_str(),"PSPLT(2)",8)) 00753 hwpram.PSPLT[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00754 else if(!strncmp(ParameterString.c_str(),"QDIQK",5)) 00755 hwpram.QDIQK = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00756 else if(!strncmp(ParameterString.c_str(),"PDIQK",5)) 00757 hwpram.PDIQK = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00758 else if(!strncmp(ParameterString.c_str(),"QSPAC",5)) 00759 hwpram.QSPAC = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00760 else if(!strncmp(ParameterString.c_str(),"PTRMS",5)) 00761 hwpram.PTRMS = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00762 else if(!strncmp(ParameterString.c_str(),"IPRINT",6)) 00763 hwpram.IPRINT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00764 else if(!strncmp(ParameterString.c_str(),"PRVTX",5)) 00765 hwpram.PRVTX = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00766 else if(!strncmp(ParameterString.c_str(),"NPRFMT",6)) 00767 hwpram.NPRFMT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00768 else if(!strncmp(ParameterString.c_str(),"PRNDEC",6)) 00769 hwpram.PRNDEC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00770 else if(!strncmp(ParameterString.c_str(),"PRNDEF",6)) 00771 hwpram.PRNDEF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00772 else if(!strncmp(ParameterString.c_str(),"PRNTEX",6)) 00773 hwpram.PRNTEX = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00774 else if(!strncmp(ParameterString.c_str(),"PRNWEB",6)) 00775 hwpram.PRNWEB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00776 else if(!strncmp(ParameterString.c_str(),"MAXPR",5)) 00777 hwevnt.MAXPR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00778 else if(!strncmp(ParameterString.c_str(),"MAXER",5)) 00779 hwevnt.MAXER = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00780 else if(!strncmp(ParameterString.c_str(),"LWEVT",5)) 00781 hwevnt.LWEVT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00782 else if(!strncmp(ParameterString.c_str(),"LRSUD",5)) 00783 hwpram.LRSUD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00784 else if(!strncmp(ParameterString.c_str(),"LWSUD",5)) 00785 hwpram.LWSUD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00786 else if(!strncmp(ParameterString.c_str(),"NRN(1)",6)) 00787 hwevnt.NRN[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00788 else if(!strncmp(ParameterString.c_str(),"NRN(2)",6)) 00789 hwevnt.NRN[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00790 else if(!strncmp(ParameterString.c_str(),"WGTMAX",6)) 00791 hwevnt.WGTMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00792 else if(!strncmp(ParameterString.c_str(),"NOWGT",5)) 00793 hwevnt.NOWGT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00794 else if(!strncmp(ParameterString.c_str(),"AVWGT",5)) 00795 hwevnt.AVWGT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00796 else if(!strncmp(ParameterString.c_str(),"AZSOFT",6)) 00797 hwpram.AZSOFT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00798 else if(!strncmp(ParameterString.c_str(),"AZSPIN",6)) 00799 hwpram.AZSPIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00800 else if(!strncmp(ParameterString.c_str(),"HARDME",6)) 00801 hwpram.HARDME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00802 else if(!strncmp(ParameterString.c_str(),"SOFTME",6)) 00803 hwpram.SOFTME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00804 else if(!strncmp(ParameterString.c_str(),"GCUTME",6)) 00805 hwpram.GCUTME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00806 else if(!strncmp(ParameterString.c_str(),"NCOLO",5)) 00807 hwpram.NCOLO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00808 else if(!strncmp(ParameterString.c_str(),"NFLAV",5)) 00809 hwpram.NFLAV = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00810 else if(!strncmp(ParameterString.c_str(),"MODPDF(1)",9)) 00811 hwpram.MODPDF[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00812 else if(!strncmp(ParameterString.c_str(),"MODPDF(2)",9)) 00813 hwpram.MODPDF[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00814 else if(!strncmp(ParameterString.c_str(),"NSTRU",5)) 00815 hwpram.NSTRU = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00816 else if(!strncmp(ParameterString.c_str(),"PRSOF",5)) 00817 hwpram.PRSOF = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00818 else if(!strncmp(ParameterString.c_str(),"ENSOF",5)) 00819 hwpram.ENSOF = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00820 else if(!strncmp(ParameterString.c_str(),"IOPREM",6)) 00821 hwpram.IOPREM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00822 else if(!strncmp(ParameterString.c_str(),"BTCLM",5)) 00823 hwpram.BTCLM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00824 else if(!strncmp(ParameterString.c_str(),"ETAMIX",6)) 00825 hwpram.ETAMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00826 else if(!strncmp(ParameterString.c_str(),"PHIMIX",6)) 00827 hwpram.PHIMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00828 else if(!strncmp(ParameterString.c_str(),"H1MIX",5)) 00829 hwpram.H1MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00830 else if(!strncmp(ParameterString.c_str(),"F0MIX",5)) 00831 hwpram.F0MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00832 else if(!strncmp(ParameterString.c_str(),"F1MIX",5)) 00833 hwpram.F1MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00834 else if(!strncmp(ParameterString.c_str(),"F2MIX",5)) 00835 hwpram.F2MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00836 else if(!strncmp(ParameterString.c_str(),"ET2MIX",6)) 00837 hwpram.ET2MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00838 else if(!strncmp(ParameterString.c_str(),"OMHMIX",6)) 00839 hwpram.OMHMIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00840 else if(!strncmp(ParameterString.c_str(),"PH3MIX",6)) 00841 hwpram.PH3MIX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00842 else if(!strncmp(ParameterString.c_str(),"B1LIM",5)) 00843 hwpram.B1LIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00844 else if(!strncmp(ParameterString.c_str(),"CLDIR(1)",8)) 00845 hwpram.CLDIR[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00846 else if(!strncmp(ParameterString.c_str(),"CLDIR(2)",8)) 00847 hwpram.CLDIR[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00848 else if(!strncmp(ParameterString.c_str(),"CLSMR(1)",8)) 00849 hwpram.CLSMR[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00850 else if(!strncmp(ParameterString.c_str(),"CLSMR(2)",8)) 00851 hwpram.CLSMR[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00852 else if(!strncmp(ParameterString.c_str(),"RMASS(1)",8)) 00853 hwprop.RMASS[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00854 else if(!strncmp(ParameterString.c_str(),"RMASS(2)",8)) 00855 hwprop.RMASS[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00856 else if(!strncmp(ParameterString.c_str(),"RMASS(3)",8)) 00857 hwprop.RMASS[3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00858 else if(!strncmp(ParameterString.c_str(),"RMASS(4)",8)) 00859 hwprop.RMASS[4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00860 else if(!strncmp(ParameterString.c_str(),"RMASS(5)",8)) 00861 hwprop.RMASS[5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00862 else if(!strncmp(ParameterString.c_str(),"RMASS(6)",8)) 00863 hwprop.RMASS[6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00864 else if(!strncmp(ParameterString.c_str(),"RMASS(13)",9)) 00865 hwprop.RMASS[13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00866 else if(!strncmp(ParameterString.c_str(),"SUDORD",6)) 00867 hwusud.SUDORD = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00868 else if(!strncmp(ParameterString.c_str(),"INTER",5)) 00869 hwusud.INTER = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00870 else if(!strncmp(ParameterString.c_str(),"NEGWTS",6)) 00871 hw6203.NEGWTS = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00872 else if(!strncmp(ParameterString.c_str(),"AVABW",5)) 00873 hw6203.AVABW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00874 else if(!strncmp(ParameterString.c_str(),"PMBN1",5)) 00875 hwminb.PMBN1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00876 else if(!strncmp(ParameterString.c_str(),"PMBN2",5)) 00877 hwminb.PMBN2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00878 else if(!strncmp(ParameterString.c_str(),"PMBN3",5)) 00879 hwminb.PMBN3 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00880 else if(!strncmp(ParameterString.c_str(),"PMBK1",5)) 00881 hwminb.PMBK1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00882 else if(!strncmp(ParameterString.c_str(),"PMBK2",5)) 00883 hwminb.PMBK2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00884 else if(!strncmp(ParameterString.c_str(),"PMBM1",5)) 00885 hwminb.PMBM1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00886 else if(!strncmp(ParameterString.c_str(),"PMBM2",5)) 00887 hwminb.PMBM2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00888 else if(!strncmp(ParameterString.c_str(),"PMBP1",5)) 00889 hwminb.PMBP1 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00890 else if(!strncmp(ParameterString.c_str(),"PMBP2",5)) 00891 hwminb.PMBP2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00892 else if(!strncmp(ParameterString.c_str(),"PMBP3",5)) 00893 hwminb.PMBP3 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00894 else if(!strncmp(ParameterString.c_str(),"VMIN2",5)) 00895 hwdist.VMIN2 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00896 else if(!strncmp(ParameterString.c_str(),"EXAG",4)) 00897 hwdist.EXAG = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00898 else if(!strncmp(ParameterString.c_str(),"PRECO",5)) 00899 hwuclu.PRECO = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00900 else if(!strncmp(ParameterString.c_str(),"CLRECO",6)) 00901 hwuclu.CLRECO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00902 else if(!strncmp(ParameterString.c_str(),"PWT(1)",6)) 00903 hwuwts.PWT[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00904 else if(!strncmp(ParameterString.c_str(),"PWT(2)",6)) 00905 hwuwts.PWT[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00906 else if(!strncmp(ParameterString.c_str(),"PWT(3)",6)) 00907 hwuwts.PWT[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00908 else if(!strncmp(ParameterString.c_str(),"PWT(4)",6)) 00909 hwuwts.PWT[3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00910 else if(!strncmp(ParameterString.c_str(),"PWT(5)",6)) 00911 hwuwts.PWT[4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00912 else if(!strncmp(ParameterString.c_str(),"PWT(6)",6)) 00913 hwuwts.PWT[5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00914 else if(!strncmp(ParameterString.c_str(),"PWT(7)",6)) 00915 hwuwts.PWT[6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00916 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,0)",12)) 00917 hwuwts.REPWT[0][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00918 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,1)",12)) 00919 hwuwts.REPWT[0][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00920 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,2)",12)) 00921 hwuwts.REPWT[0][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00922 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,3)",12)) 00923 hwuwts.REPWT[0][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00924 else if(!strncmp(ParameterString.c_str(),"REPWT(0,0,4)",12)) 00925 hwuwts.REPWT[0][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00926 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,0)",12)) 00927 hwuwts.REPWT[0][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00928 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,1)",12)) 00929 hwuwts.REPWT[0][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00930 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,2)",12)) 00931 hwuwts.REPWT[0][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00932 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,3)",12)) 00933 hwuwts.REPWT[0][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00934 else if(!strncmp(ParameterString.c_str(),"REPWT(0,1,4)",12)) 00935 hwuwts.REPWT[0][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00936 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,0)",12)) 00937 hwuwts.REPWT[0][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00938 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,1)",12)) 00939 hwuwts.REPWT[0][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00940 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,2)",12)) 00941 hwuwts.REPWT[0][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00942 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,3)",12)) 00943 hwuwts.REPWT[0][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00944 else if(!strncmp(ParameterString.c_str(),"REPWT(0,2,4)",12)) 00945 hwuwts.REPWT[0][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00946 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,0)",12)) 00947 hwuwts.REPWT[0][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00948 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,1)",12)) 00949 hwuwts.REPWT[0][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00950 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,2)",12)) 00951 hwuwts.REPWT[0][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00952 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,3)",12)) 00953 hwuwts.REPWT[0][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00954 else if(!strncmp(ParameterString.c_str(),"REPWT(0,3,4)",12)) 00955 hwuwts.REPWT[0][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00956 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,0)",12)) 00957 hwuwts.REPWT[0][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00958 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,1)",12)) 00959 hwuwts.REPWT[0][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00960 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,2)",12)) 00961 hwuwts.REPWT[0][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00962 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,3)",12)) 00963 hwuwts.REPWT[0][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00964 else if(!strncmp(ParameterString.c_str(),"REPWT(0,4,4)",12)) 00965 hwuwts.REPWT[0][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00966 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,0)",12)) 00967 hwuwts.REPWT[1][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00968 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,1)",12)) 00969 hwuwts.REPWT[1][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00970 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,2)",12)) 00971 hwuwts.REPWT[1][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00972 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,3)",12)) 00973 hwuwts.REPWT[1][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00974 else if(!strncmp(ParameterString.c_str(),"REPWT(1,0,4)",12)) 00975 hwuwts.REPWT[1][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00976 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,0)",12)) 00977 hwuwts.REPWT[1][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00978 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,1)",12)) 00979 hwuwts.REPWT[1][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00980 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,2)",12)) 00981 hwuwts.REPWT[1][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00982 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,3)",12)) 00983 hwuwts.REPWT[1][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00984 else if(!strncmp(ParameterString.c_str(),"REPWT(1,1,4)",12)) 00985 hwuwts.REPWT[1][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00986 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,0)",12)) 00987 hwuwts.REPWT[1][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00988 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,1)",12)) 00989 hwuwts.REPWT[1][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00990 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,2)",12)) 00991 hwuwts.REPWT[1][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00992 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,3)",12)) 00993 hwuwts.REPWT[1][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00994 else if(!strncmp(ParameterString.c_str(),"REPWT(1,2,4)",12)) 00995 hwuwts.REPWT[1][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00996 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,0)",12)) 00997 hwuwts.REPWT[1][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 00998 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,1)",12)) 00999 hwuwts.REPWT[1][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01000 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,2)",12)) 01001 hwuwts.REPWT[1][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01002 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,3)",12)) 01003 hwuwts.REPWT[1][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01004 else if(!strncmp(ParameterString.c_str(),"REPWT(1,3,4)",12)) 01005 hwuwts.REPWT[1][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01006 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,0)",12)) 01007 hwuwts.REPWT[1][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01008 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,1)",12)) 01009 hwuwts.REPWT[1][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01010 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,2)",12)) 01011 hwuwts.REPWT[1][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01012 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,3)",12)) 01013 hwuwts.REPWT[1][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01014 else if(!strncmp(ParameterString.c_str(),"REPWT(1,4,4)",12)) 01015 hwuwts.REPWT[1][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01016 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,0)",12)) 01017 hwuwts.REPWT[2][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01018 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,1)",12)) 01019 hwuwts.REPWT[2][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01020 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,2)",12)) 01021 hwuwts.REPWT[2][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01022 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,3)",12)) 01023 hwuwts.REPWT[2][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01024 else if(!strncmp(ParameterString.c_str(),"REPWT(2,0,4)",12)) 01025 hwuwts.REPWT[2][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01026 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,0)",12)) 01027 hwuwts.REPWT[2][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01028 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,1)",12)) 01029 hwuwts.REPWT[2][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01030 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,2)",12)) 01031 hwuwts.REPWT[2][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01032 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,3)",12)) 01033 hwuwts.REPWT[2][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01034 else if(!strncmp(ParameterString.c_str(),"REPWT(2,1,4)",12)) 01035 hwuwts.REPWT[2][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01036 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,0)",12)) 01037 hwuwts.REPWT[2][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01038 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,1)",12)) 01039 hwuwts.REPWT[2][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01040 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,2)",12)) 01041 hwuwts.REPWT[2][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01042 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,3)",12)) 01043 hwuwts.REPWT[2][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01044 else if(!strncmp(ParameterString.c_str(),"REPWT(2,2,4)",12)) 01045 hwuwts.REPWT[2][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01046 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,0)",12)) 01047 hwuwts.REPWT[2][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01048 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,1)",12)) 01049 hwuwts.REPWT[2][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01050 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,2)",12)) 01051 hwuwts.REPWT[2][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01052 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,3)",12)) 01053 hwuwts.REPWT[2][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01054 else if(!strncmp(ParameterString.c_str(),"REPWT(2,3,4)",12)) 01055 hwuwts.REPWT[2][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01056 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,0)",12)) 01057 hwuwts.REPWT[2][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01058 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,1)",12)) 01059 hwuwts.REPWT[2][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01060 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,2)",12)) 01061 hwuwts.REPWT[2][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01062 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,3)",12)) 01063 hwuwts.REPWT[2][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01064 else if(!strncmp(ParameterString.c_str(),"REPWT(2,4,4)",12)) 01065 hwuwts.REPWT[2][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01066 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,0)",12)) 01067 hwuwts.REPWT[3][0][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01068 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,1)",12)) 01069 hwuwts.REPWT[3][0][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01070 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,2)",12)) 01071 hwuwts.REPWT[3][0][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01072 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,3)",12)) 01073 hwuwts.REPWT[3][0][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01074 else if(!strncmp(ParameterString.c_str(),"REPWT(3,0,4)",12)) 01075 hwuwts.REPWT[3][0][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01076 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,0)",12)) 01077 hwuwts.REPWT[3][1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01078 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,1)",12)) 01079 hwuwts.REPWT[3][1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01080 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,2)",12)) 01081 hwuwts.REPWT[3][1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01082 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,3)",12)) 01083 hwuwts.REPWT[3][1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01084 else if(!strncmp(ParameterString.c_str(),"REPWT(3,1,4)",12)) 01085 hwuwts.REPWT[3][1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01086 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,0)",12)) 01087 hwuwts.REPWT[3][2][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01088 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,1)",12)) 01089 hwuwts.REPWT[3][2][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01090 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,2)",12)) 01091 hwuwts.REPWT[3][2][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01092 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,3)",12)) 01093 hwuwts.REPWT[3][2][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01094 else if(!strncmp(ParameterString.c_str(),"REPWT(3,2,4)",12)) 01095 hwuwts.REPWT[3][2][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01096 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,0)",12)) 01097 hwuwts.REPWT[3][3][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01098 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,1)",12)) 01099 hwuwts.REPWT[3][3][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01100 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,2)",12)) 01101 hwuwts.REPWT[3][3][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01102 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,3)",12)) 01103 hwuwts.REPWT[3][3][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01104 else if(!strncmp(ParameterString.c_str(),"REPWT(3,3,4)",12)) 01105 hwuwts.REPWT[3][3][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01106 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,0)",12)) 01107 hwuwts.REPWT[3][4][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01108 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,1)",12)) 01109 hwuwts.REPWT[3][4][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01110 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,2)",12)) 01111 hwuwts.REPWT[3][4][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01112 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,3)",12)) 01113 hwuwts.REPWT[3][4][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01114 else if(!strncmp(ParameterString.c_str(),"REPWT(3,4,4)",12)) 01115 hwuwts.REPWT[3][4][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01116 else if(!strncmp(ParameterString.c_str(),"SNGWT",5)) 01117 hwuwts.SNGWT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01118 else if(!strncmp(ParameterString.c_str(),"DECWT",5)) 01119 hwuwts.DECWT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01120 else if(!strncmp(ParameterString.c_str(),"PLTCUT",6)) 01121 hwdist.PLTCUT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01122 else if(!strncmp(ParameterString.c_str(),"VTOCDK(",7)){ 01123 // we find the index ... 01124 int ind = atoi(&ParameterString[7]); 01125 hwprop.VTOCDK[ind] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]);} 01126 else if(!strncmp(ParameterString.c_str(),"VTORDK(",7)){ 01127 // we find the index ... 01128 int ind = atoi(&ParameterString[7]); 01129 hwprop.VTORDK[ind] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]);} 01130 else if(!strncmp(ParameterString.c_str(),"PIPSMR",6)) 01131 hwdist.PIPSMR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01132 else if(!strncmp(ParameterString.c_str(),"VIPWID(1)",9)) 01133 hw6202.VIPWID[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01134 else if(!strncmp(ParameterString.c_str(),"VIPWID(2)",9)) 01135 hw6202.VIPWID[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01136 else if(!strncmp(ParameterString.c_str(),"VIPWID(3)",9)) 01137 hw6202.VIPWID[2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01138 else if(!strncmp(ParameterString.c_str(),"MAXDKL",6)) 01139 hwdist.MAXDKL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01140 else if(!strncmp(ParameterString.c_str(),"IOPDKL",6)) 01141 hwdist.IOPDKL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01142 else if(!strncmp(ParameterString.c_str(),"DXRCYL",6)) 01143 hw6202.DXRCYL = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01144 else if(!strncmp(ParameterString.c_str(),"DXZMAX",6)) 01145 hw6202.DXZMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01146 else if(!strncmp(ParameterString.c_str(),"DXRSPH",6)) 01147 hw6202.DXRSPH = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01148 // else if(!strncmp(ParameterString.c_str(),"BDECAY",6)) 01149 // hwprch.BDECAY = ParameterString[strcspn(ParameterString.c_str(),"=")+1]; 01150 else if(!strncmp(ParameterString.c_str(),"MIXING",6)) 01151 hwdist.MIXING = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01152 else if(!strncmp(ParameterString.c_str(),"XMIX(1)",7)) 01153 hwdist.XMIX[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01154 else if(!strncmp(ParameterString.c_str(),"XMIX(2)",7)) 01155 hwdist.XMIX[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01156 else if(!strncmp(ParameterString.c_str(),"YMIX(1)",7)) 01157 hwdist.YMIX[0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01158 else if(!strncmp(ParameterString.c_str(),"YMIX(2)",7)) 01159 hwdist.YMIX[1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01160 else if(!strncmp(ParameterString.c_str(),"RMASS(198)",10)) 01161 hwprop.RMASS[198] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01162 else if(!strncmp(ParameterString.c_str(),"RMASS(199)",10)) 01163 hwprop.RMASS[199] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01164 else if(!strncmp(ParameterString.c_str(),"GAMW",4)) 01165 hwpram.GAMW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01166 else if(!strncmp(ParameterString.c_str(),"GAMZ",4)) 01167 hwpram.GAMZ = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01168 else if(!strncmp(ParameterString.c_str(),"RMASS(200)",10)) 01169 hwprop.RMASS[200] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01170 else if(!strncmp(ParameterString.c_str(),"WZRFR",5)) 01171 hw6202.WZRFR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01172 else if(!strncmp(ParameterString.c_str(),"MODBOS(",7)) { 01173 int ind = atoi(&ParameterString[7]); 01174 hwbosc.MODBOS[ind-1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01175 else if(!strncmp(ParameterString.c_str(),"RMASS(201)",10)) 01176 hwprop.RMASS[201] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01177 else if(!strncmp(ParameterString.c_str(),"IOPHIG",6)) 01178 hwbosc.IOPHIG = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01179 else if(!strncmp(ParameterString.c_str(),"GAMMAX",6)) 01180 hwbosc.GAMMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01181 else if(!strncmp(ParameterString.c_str(),"ENHANC(",7)) { 01182 int ind = atoi(&ParameterString[7]); 01183 hwbosc.ENHANC[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01184 else if(!strncmp(ParameterString.c_str(),"RMASS(209)",10)) 01185 hwprop.RMASS[209] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01186 else if(!strncmp(ParameterString.c_str(),"RMASS(215)",10)) 01187 hwprop.RMASS[215] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01188 else if(!strncmp(ParameterString.c_str(),"ALPHEM",6)) 01189 hwpram.ALPHEM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01190 else if(!strncmp(ParameterString.c_str(),"SWEIN",5)) 01191 hwpram.SWEIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01192 else if(!strncmp(ParameterString.c_str(),"QFCH(",5)){ 01193 int ind = atoi(&ParameterString[5]); 01194 hwpram.QFCH[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01195 else if(!strncmp(ParameterString.c_str(),"AFCH(1,",7)){ 01196 int ind = atoi(&ParameterString[7]); if(ind<1||ind>2) return 0; 01197 hwpram.AFCH[ind-1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01198 else if(!strncmp(ParameterString.c_str(),"AFCH(2,",7)){ 01199 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01200 hwpram.AFCH[ind-1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01201 else if(!strncmp(ParameterString.c_str(),"AFCH(3,",7)){ 01202 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01203 hwpram.AFCH[ind-1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01204 else if(!strncmp(ParameterString.c_str(),"AFCH(4,",7)){ 01205 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01206 hwpram.AFCH[ind-1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01207 else if(!strncmp(ParameterString.c_str(),"AFCH(5,",7)){ 01208 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01209 hwpram.AFCH[ind-1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01210 else if(!strncmp(ParameterString.c_str(),"AFCH(6,",7)){ 01211 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01212 hwpram.AFCH[ind-1][5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01213 else if(!strncmp(ParameterString.c_str(),"AFCH(7,",7)){ 01214 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01215 hwpram.AFCH[ind-1][6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01216 else if(!strncmp(ParameterString.c_str(),"AFCH(8,",7)){ 01217 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01218 hwpram.AFCH[ind-1][7] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01219 else if(!strncmp(ParameterString.c_str(),"AFCH(9,",7)){ 01220 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01221 hwpram.AFCH[ind-1][8] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01222 else if(!strncmp(ParameterString.c_str(),"AFCH(10,",8)){ 01223 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01224 hwpram.AFCH[ind-1][9] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01225 else if(!strncmp(ParameterString.c_str(),"AFCH(11,",8)){ 01226 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01227 hwpram.AFCH[ind-1][10] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01228 else if(!strncmp(ParameterString.c_str(),"AFCH(12,",8)){ 01229 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01230 hwpram.AFCH[ind-1][11] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01231 else if(!strncmp(ParameterString.c_str(),"AFCH(13,",8)){ 01232 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01233 hwpram.AFCH[ind-1][12] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01234 else if(!strncmp(ParameterString.c_str(),"AFCH(14,",8)){ 01235 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01236 hwpram.AFCH[ind-1][13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01237 else if(!strncmp(ParameterString.c_str(),"AFCH(15,",8)){ 01238 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01239 hwpram.AFCH[ind-1][14] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01240 else if(!strncmp(ParameterString.c_str(),"AFCH(16,",8)){ 01241 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01242 hwpram.AFCH[ind-1][15] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01243 else if(!strncmp(ParameterString.c_str(),"VFCH(1,",7)){ 01244 int ind = atoi(&ParameterString[7]); if(ind<1||ind>2) return 0; 01245 hwpram.VFCH[ind-1][0] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01246 else if(!strncmp(ParameterString.c_str(),"VFCH(2,",7)){ 01247 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01248 hwpram.VFCH[ind-1][1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01249 else if(!strncmp(ParameterString.c_str(),"VFCH(3,",7)){ 01250 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01251 hwpram.VFCH[ind-1][2] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01252 else if(!strncmp(ParameterString.c_str(),"VFCH(4,",7)){ 01253 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01254 hwpram.VFCH[ind-1][3] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01255 else if(!strncmp(ParameterString.c_str(),"VFCH(5,",7)){ 01256 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01257 hwpram.VFCH[ind-1][4] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01258 else if(!strncmp(ParameterString.c_str(),"VFCH(6,",7)){ 01259 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01260 hwpram.VFCH[ind-1][5] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01261 else if(!strncmp(ParameterString.c_str(),"VFCH(7,",7)){ 01262 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01263 hwpram.VFCH[ind-1][6] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01264 else if(!strncmp(ParameterString.c_str(),"VFCH(8,",7)){ 01265 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01266 hwpram.VFCH[ind-1][7] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01267 else if(!strncmp(ParameterString.c_str(),"VFCH(9,",7)){ 01268 int ind = atoi(&ParameterString[7]);if(ind<1||ind>2) return 0; 01269 hwpram.VFCH[ind-1][8] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01270 else if(!strncmp(ParameterString.c_str(),"VFCH(10,",8)){ 01271 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01272 hwpram.VFCH[ind-1][9] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01273 else if(!strncmp(ParameterString.c_str(),"VFCH(11,",8)){ 01274 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01275 hwpram.VFCH[ind-1][10] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01276 else if(!strncmp(ParameterString.c_str(),"VFCH(12,",8)){ 01277 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01278 hwpram.VFCH[ind-1][11] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01279 else if(!strncmp(ParameterString.c_str(),"VFCH(13,",8)){ 01280 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01281 hwpram.VFCH[ind-1][12] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01282 else if(!strncmp(ParameterString.c_str(),"VFCH(14,",8)){ 01283 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01284 hwpram.VFCH[ind-1][13] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01285 else if(!strncmp(ParameterString.c_str(),"VFCH(15,",8)){ 01286 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01287 hwpram.VFCH[ind-1][14] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01288 else if(!strncmp(ParameterString.c_str(),"VFCH(16,",8)){ 01289 int ind = atoi(&ParameterString[8]);if(ind<1||ind>2) return 0; 01290 hwpram.VFCH[ind-1][15] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01291 else if(!strncmp(ParameterString.c_str(),"ZPRIME",6)) 01292 hwpram.ZPRIME = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01293 else if(!strncmp(ParameterString.c_str(),"RMASS(202)",10)) 01294 hwprop.RMASS[202] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01295 else if(!strncmp(ParameterString.c_str(),"GAMZP",5)) 01296 hwpram.GAMZP = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01297 else if(!strncmp(ParameterString.c_str(),"VCKM(",5)) { 01298 int ind1 = atoi(&ParameterString[5]); 01299 if(ind1<1||ind1>3) return 0; 01300 int ind2 = atoi(&ParameterString[7]); 01301 if(ind2<1||ind2>3) return 0; 01302 hwpram.VCKM[ind2][ind1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01303 else if(!strncmp(ParameterString.c_str(),"SCABI",5)) 01304 hwpram.SCABI = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01305 else if(!strncmp(ParameterString.c_str(),"EPOLN(",6)) { 01306 int ind = atoi(&ParameterString[6]); 01307 if(ind<1||ind>3) return 0; 01308 hwhard.EPOLN[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01309 else if(!strncmp(ParameterString.c_str(),"PPOLN(",6)) { 01310 int ind = atoi(&ParameterString[6]); 01311 if(ind<1||ind>3) return 0; 01312 hwhard.PPOLN[ind-1] = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); } 01313 else if(!strncmp(ParameterString.c_str(),"QLIM",4)) 01314 hwhard.QLIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01315 else if(!strncmp(ParameterString.c_str(),"THMAX",5)) 01316 hwhard.THMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01317 else if(!strncmp(ParameterString.c_str(),"Y4JT",4)) 01318 hwhard.Y4JT = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01319 else if(!strncmp(ParameterString.c_str(),"DURHAM",6)) 01320 hwhard.DURHAM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01321 else if(!strncmp(ParameterString.c_str(),"IOP4JT(1)",9)) 01322 hwpram.IOP4JT[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01323 else if(!strncmp(ParameterString.c_str(),"IOP4JT(2)",9)) 01324 hwpram.IOP4JT[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01325 else if(!strncmp(ParameterString.c_str(),"BGSHAT",6)) 01326 hwhard.BGSHAT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01327 else if(!strncmp(ParameterString.c_str(),"BREIT",5)) 01328 hwbrch.BREIT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01329 else if(!strncmp(ParameterString.c_str(),"USECMF",6)) 01330 hwbrch.USECMF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01331 else if(!strncmp(ParameterString.c_str(),"NOSPAC",6)) 01332 hwpram.NOSPAC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01333 else if(!strncmp(ParameterString.c_str(),"ISPAC",5)) 01334 hwpram.ISPAC = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01335 else if(!strncmp(ParameterString.c_str(),"TMNISR",6)) 01336 hwhard.TMNISR = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01337 else if(!strncmp(ParameterString.c_str(),"ZMXISR",6)) 01338 hwhard.ZMXISR = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01339 else if(!strncmp(ParameterString.c_str(),"ASFIXD",6)) 01340 hwhard.ASFIXD = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01341 else if(!strncmp(ParameterString.c_str(),"OMEGA0",6)) 01342 hwhard.OMEGA0 = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01343 else if(!strncmp(ParameterString.c_str(),"IAPHIG",6)) 01344 hwhard.IAPHIG = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01345 else if(!strncmp(ParameterString.c_str(),"PHOMAS",6)) 01346 hwhard.PHOMAS = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01347 else if(!strncmp(ParameterString.c_str(),"PRESPL",6)) 01348 hw6500.PRESPL = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01349 else if(!strncmp(ParameterString.c_str(),"PTMIN",5)) 01350 hwhard.PTMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01351 else if(!strncmp(ParameterString.c_str(),"PTMAX",5)) 01352 hwhard.PTMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01353 else if(!strncmp(ParameterString.c_str(),"PTPOW",5)) 01354 hwhard.PTPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01355 else if(!strncmp(ParameterString.c_str(),"YJMIN",5)) 01356 hwhard.YJMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01357 else if(!strncmp(ParameterString.c_str(),"YJMAX",5)) 01358 hwhard.YJMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01359 else if(!strncmp(ParameterString.c_str(),"EMMIN",5)) 01360 hwhard.EMMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01361 else if(!strncmp(ParameterString.c_str(),"EMMAX",5)) 01362 hwhard.EMMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01363 else if(!strncmp(ParameterString.c_str(),"EMPOW",5)) 01364 hwhard.EMPOW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01365 else if(!strncmp(ParameterString.c_str(),"Q2MIN",5)) 01366 hwhard.Q2MIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01367 else if(!strncmp(ParameterString.c_str(),"Q2MAX",5)) 01368 hwhard.Q2MAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01369 else if(!strncmp(ParameterString.c_str(),"Q2POW",5)) 01370 hwhard.Q2POW = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01371 else if(!strncmp(ParameterString.c_str(),"YBMIN",5)) 01372 hwhard.YBMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01373 else if(!strncmp(ParameterString.c_str(),"YBMAX",5)) 01374 hwhard.YBMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01375 else if(!strncmp(ParameterString.c_str(),"WHMIN",5)) 01376 hwhard.WHMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01377 else if(!strncmp(ParameterString.c_str(),"ZJMAX",5)) 01378 hwhard.ZJMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01379 else if(!strncmp(ParameterString.c_str(),"Q2WWMN",6)) 01380 hwhard.Q2WWMN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01381 else if(!strncmp(ParameterString.c_str(),"Q2WWMX",6)) 01382 hwhard.Q2WWMX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01383 else if(!strncmp(ParameterString.c_str(),"YWWMIN",6)) 01384 hwhard.YWWMIN = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01385 else if(!strncmp(ParameterString.c_str(),"YWWMAX",6)) 01386 hwhard.YWWMAX = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01387 else if(!strncmp(ParameterString.c_str(),"CSPEED",6)) 01388 hwpram.CSPEED = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01389 else if(!strncmp(ParameterString.c_str(),"GEV2NB",6)) 01390 hwpram.GEV2NB = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01391 else if(!strncmp(ParameterString.c_str(),"IBSH",4)) 01392 hwhard.IBSH = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01393 else if(!strncmp(ParameterString.c_str(),"IBRN(1)",7)) 01394 hwhard.IBRN[0] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01395 else if(!strncmp(ParameterString.c_str(),"IBRN(2)",7)) 01396 hwhard.IBRN[1] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01397 else if(!strncmp(ParameterString.c_str(),"NQEV",4)) 01398 hwusud.NQEV = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01399 else if(!strncmp(ParameterString.c_str(),"ZBINM",5)) 01400 hwpram.ZBINM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01401 else if(!strncmp(ParameterString.c_str(),"NZBIN",5)) 01402 hwpram.NZBIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01403 else if(!strncmp(ParameterString.c_str(),"NBTRY",5)) 01404 hwpram.NBTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01405 else if(!strncmp(ParameterString.c_str(),"NCTRY",5)) 01406 hwpram.NCTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01407 else if(!strncmp(ParameterString.c_str(),"NETRY",5)) 01408 hwpram.NETRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01409 else if(!strncmp(ParameterString.c_str(),"NSTRY",5)) 01410 hwpram.NSTRY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01411 else if(!strncmp(ParameterString.c_str(),"ACCUR",5)) 01412 hwusud.ACCUR = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01413 else if(!strncmp(ParameterString.c_str(),"RPARTY",6)) 01414 hwrpar.RPARTY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01415 else if(!strncmp(ParameterString.c_str(),"SUSYIN",6)) 01416 hwsusy.SUSYIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01417 else if(!strncmp(ParameterString.c_str(),"LRSUSY",6)) 01418 hw6202.LRSUSY = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01419 else if(!strncmp(ParameterString.c_str(),"SYSPIN",6)) 01420 hwdspn.SYSPIN = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01421 else if(!strncmp(ParameterString.c_str(),"THREEB",6)) 01422 hwdspn.THREEB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01423 else if(!strncmp(ParameterString.c_str(),"FOURB",5)) 01424 hwdspn.FOURB = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01425 else if(!strncmp(ParameterString.c_str(),"LHSOFT",6)) 01426 hwgupr.LHSOFT = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01427 else if(!strncmp(ParameterString.c_str(),"LHGLSF",6)) 01428 hwgupr.LHGLSF = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01429 else if(!strncmp(ParameterString.c_str(),"OPTM",4)) 01430 hw6300.OPTM = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01431 else if(!strncmp(ParameterString.c_str(),"IOPSTP",6)) 01432 hw6300.IOPSTP = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01433 else if(!strncmp(ParameterString.c_str(),"IOPSH",5)) 01434 hw6300.IOPSH = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01435 else if(!strncmp(ParameterString.c_str(),"JMUEO",5)) 01436 jmparm.JMUEO = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01437 else if(!strncmp(ParameterString.c_str(),"PTJIM",5)) 01438 jmparm.PTJIM = atof(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01439 else if(!strncmp(ParameterString.c_str(),"JMRAD(73)",9)) 01440 jmparm.JMRAD[72] = atoi(&ParameterString[strcspn(ParameterString.c_str(),"=")+1]); 01441 01442 else accepted = 0; 01443 01444 return accepted; 01445 }
void MCatNLOSource::processHG | ( | ) | [private] |
Definition at line 588 of file MCatNLOSource.cc.
References hgmain.
Referenced by MCatNLOSource().
00589 { 00590 hgmain(); 00591 }
void MCatNLOSource::processLL | ( | ) | [private] |
Definition at line 593 of file MCatNLOSource.cc.
References getVpar(), and llmain.
Referenced by MCatNLOSource().
void MCatNLOSource::processQQ | ( | ) | [private] |
Definition at line 610 of file MCatNLOSource.cc.
References qqmain.
Referenced by MCatNLOSource().
00611 { 00612 qqmain(); 00613 }
void MCatNLOSource::processSB | ( | ) | [private] |
Definition at line 615 of file MCatNLOSource.cc.
References getVpar(), processNumber_, and sbmain.
Referenced by MCatNLOSource().
00616 { 00617 if(processNumber_ != -1396) getVpar(); 00618 sbmain(); 00619 }
void MCatNLOSource::processST | ( | ) | [private] |
Definition at line 621 of file MCatNLOSource.cc.
References stmain.
Referenced by MCatNLOSource().
00622 { 00623 stmain(); 00624 }
Definition at line 626 of file MCatNLOSource.cc.
References edm::errors::Configuration, and processNumber_.
Referenced by MCatNLOSource().
00627 { 00628 if(positive) 00629 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00630 <<" Unsupported process "<<processNumber_<<". Use Herwig6Interface for positively valued process ID."; 00631 else 00632 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") 00633 <<" Unsupported process "<<processNumber_<<". Check MCatNLO manuel for allowed process ID."; 00634 }
void MCatNLOSource::processVH | ( | ) | [private] |
Definition at line 599 of file MCatNLOSource.cc.
References getVpar(), and vhmain.
Referenced by MCatNLOSource().
void MCatNLOSource::processVV | ( | ) | [private] |
Definition at line 605 of file MCatNLOSource.cc.
References vbmain.
Referenced by MCatNLOSource().
00606 { 00607 vbmain(); 00608 }
Implements edm::ConfigurableInputSource.
Definition at line 637 of file MCatNLOSource.cc.
References edm::errors::Configuration, conv, doMPInteraction_, edm::errors::EventCorruption, eventCounter_, evt, herwigHepMCVerbosity_, hwmsct_dummy, edm::ConfigurableInputSource::numberEventsInRun(), numEvents_, edm::Event::put(), edm::InputSource::remainingEvents(), and useJimmy_.
00637 { 00638 00639 // check if we run out of hard-events. If yes, throw exception... 00640 eventCounter_++; 00641 if(eventCounter_>numEvents_) 00642 throw edm::Exception(edm::errors::Configuration,"MCatNLOError") <<" No more hard events left. Either increase numHardEvents or use maxEvents { untracked int32 input = N }."; 00643 00644 hwuine(); 00645 hwepro(); 00646 hwbgen(); 00647 00648 if(useJimmy_ && doMPInteraction_ && hwevnt.IERROR == 0) { 00649 double eventok = 0.0; 00650 eventok=hwmsct_dummy(&eventok); 00651 if(eventok > 0.5) 00652 return true; 00653 } 00654 00655 hwdhob(); 00656 hwcfor(); 00657 hwcdec(); 00658 hwdhad(); 00659 hwdhvy(); 00660 hwmevt(); 00661 hwufne(); 00662 00663 if(hwevnt.IERROR != 0) 00664 return true; 00665 00666 // herwig common block conversion 00667 HepMC::IO_HERWIG conv; 00668 00669 HepMC::GenEvent* evt = new HepMC::GenEvent(); 00670 bool ok = conv.fill_next_event( evt ); 00671 if(!ok) throw edm::Exception(edm::errors::EventCorruption,"HerwigError") 00672 <<" Conversion problems in event nr."<<numberEventsInRun() - remainingEvents() - 1<<"."; 00673 00674 evt->set_signal_process_id(hwproc.IPROC); 00675 evt->weights().push_back(hwevnt.EVWGT); 00676 evt->set_event_number(numberEventsInRun() - remainingEvents() - 1); 00677 00678 00679 if (herwigHepMCVerbosity_) { 00680 LogInfo("")<< "Event process = " << evt->signal_process_id() <<"\n" 00681 << "----------------------" << "\n"; 00682 evt->print(); 00683 } 00684 00685 if(evt) { 00686 auto_ptr<HepMCProduct> bare_product(new HepMCProduct()); 00687 bare_product->addHepMCData(evt ); 00688 e.put(bare_product); 00689 } 00690 00691 return true; 00692 }
double edm::MCatNLOSource::comenergy [private] |
char edm::MCatNLOSource::directory[70] [private] |
Definition at line 66 of file MCatNLOSource.h.
Referenced by createStringFile(), give(), and MCatNLOSource().
bool edm::MCatNLOSource::doHardEvents_ [private] |
bool edm::MCatNLOSource::doMPInteraction_ [private] |
int edm::MCatNLOSource::eventCounter_ [private] |
HepMC::GenEvent* edm::MCatNLOSource::evt [private] |
double edm::MCatNLOSource::extCrossSect [private] |
double edm::MCatNLOSource::extFilterEff [private] |
int edm::MCatNLOSource::herwigVerbosity_ [private] |
double edm::MCatNLOSource::intCrossSect [private] |
std::string edm::MCatNLOSource::lhapdfSetPath_ [private] |
int edm::MCatNLOSource::maxEventsToPrint_ [private] |
int edm::MCatNLOSource::mcatnloVerbosity_ [private] |
int edm::MCatNLOSource::numEvents_ [private] |
char edm::MCatNLOSource::prefix_bases[10] [private] |
Definition at line 67 of file MCatNLOSource.h.
Referenced by createStringFile(), give(), and MCatNLOSource().
char edm::MCatNLOSource::prefix_events[10] [private] |
Definition at line 68 of file MCatNLOSource.h.
Referenced by createStringFile(), give(), and MCatNLOSource().
bool edm::MCatNLOSource::printCards_ [private] |
int edm::MCatNLOSource::processNumber_ [private] |
Definition at line 61 of file MCatNLOSource.h.
Referenced by getVpar(), MCatNLOSource(), processSB(), and processUnknown().
std::string edm::MCatNLOSource::stringFileName_ [private] |
bool edm::MCatNLOSource::useJimmy_ [private] |
Definition at line 71 of file MCatNLOSource.h.
Referenced by clear(), MCatNLOSource(), and produce().