5347{
5348
5351
5352
5353
5355
5356
5359 double C_lQ1 = (C_lqP + C_lqM)/2.0;
5360 double C_lQ3 = (C_lqP - C_lqM)/2.0;
5364
5365
5366
5367
5368
5369
5371
5373
5374
5375
5376 double total;
5377
5378 if(flag_Quadratic){
5379
5380 total = SM_ttll_bin_100_120 * 1/100 * ( 100 - 4*C_lQ1 + 0.11*C_lQ1*C_lQ1 + 4*C_lQ3 + 0.11*C_lQ3*C_lQ3 - 2.6*C_eu + 0.11 *C_eu*C_eu + 1.3*C_lu + 0.11*C_lu*C_lu + 2*C_eq + 0.11*C_eq*C_eq);
5381
5382 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5383
5384 return total;
5385
5386 }
5387 else{
5388
5389 total = SM_ttll_bin_100_120 * 1/100 * ( 100 - 4*C_lQ1 + 4*C_lQ3 - 2.6*C_eu + 1.3*C_lu + 2*C_eq );
5390
5391 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5392
5393 return total;
5394
5395 }
5396
5398
5400
5401
5402
5403 double total;
5404
5405 if(flag_Quadratic){
5406
5407 total = SM_ttll_bin_120_140 * 1/100 * ( 100 - 10*C_lQ1 + 0.5*C_lQ1*C_lQ1 + 10*C_lQ3 + 0.5*C_lQ3*C_lQ3 - 6*C_eu + 0.5 *C_eu*C_eu + 0.6*C_lu + 0.5*C_lu*C_lu + 2.3*C_eq + 0.5*C_eq*C_eq);
5408
5409 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5410
5411 return total;
5412
5413 }
5414 else{
5415
5416 total = SM_ttll_bin_120_140 * 1/100 * ( 100 - 10*C_lQ1 + 10*C_lQ3 - 6*C_eu + 0.6*C_lu + 2.3*C_eq );
5417
5418 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5419
5420 return total;
5421 }
5422
5424
5426
5427
5428
5429 double total;
5430
5431 if(flag_Quadratic){
5432
5433 total = SM_ttll_bin_140_180 * 1/100 * ( 100 - 17*C_lQ1 + 1.6*C_lQ1*C_lQ1 + 17*C_lQ3 + 1.6*C_lQ3*C_lQ3 - 11*C_eu + 1.6 *C_eu*C_eu - 2*C_lu + 1.6*C_lu*C_lu + 1.2*C_eq + 1.6*C_eq*C_eq);
5434
5435 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5436
5437 return total;
5438
5439 }
5440 else{
5441
5442 total = SM_ttll_bin_140_180 * 1/100 * ( 100 - 17*C_lQ1 + 17*C_lQ3 - 11*C_eu - 2*C_lu + 1.2*C_eq );
5443
5444 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5445
5446 return total;
5447
5448 }
5449
5451
5453
5454
5455
5456 double total;
5457
5458 if(flag_Quadratic){
5459
5460 total = SM_ttll_bin_180_500 * 1/100 * ( 100 - 60*C_lQ1 + 70*C_lQ1*C_lQ1 + 60*C_lQ3 + 70*C_lQ3*C_lQ3 - 40*C_eu + 60 *C_eu*C_eu - 18*C_lu + 50*C_lu*C_lu - 7*C_eq + 60*C_eq*C_eq);
5461
5462 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5463
5464 return total;
5465
5466 }
5467 else{
5468
5469 total = SM_ttll_bin_180_500 * 1/100 * ( 100 - 60*C_lQ1 + 60*C_lQ3 - 40*C_eu - 18*C_lu - 7*C_eq );
5470
5471 if (total < 0) return std::numeric_limits<double>::quiet_NaN();
5472
5473 return total;
5474
5475 }
5476
5477 } else {
5478 throw std::runtime_error("\nERROR: Please specify a correct binning range for sigma_ttll_diff_LO.\n");
5479 }
5480
5481}
double getNPSMEFT6dtopquark_flag_Quadratic() const
double getNPSMEFT6dtopquark_C_eq() const
double getNPSMEFT6dtopquark_C_lu() const
double getNPSMEFT6dtopquark_C_lqM() const
double getNPSMEFT6dtopquark_C_lqP() const
double getNPSMEFT6dtopquark_C_eu() const
const double getOptionalParameter(std::string name) const
A method to get parameters that are specific to only one set of observables.
double getBinMin()
A get method to get the minimum value of the bin.
double getBinMax()
A get method to get the maximum value of the bin.
const StandardModel & SM
A reference to an object of StandardMode class.