CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
backgroundFunctionType11 Class Reference

Exponential binned in eta (Z, Run2012C PromptReco-v1 + PromptReco-v2) More...

#include <Functions.h>

Inheritance diagram for backgroundFunctionType11:
backgroundFunctionBase

Public Member Functions

 backgroundFunctionType11 (const double &lowerLimit, const double &upperLimit)
 
virtual double fracVsEta (const double *parval, const double &eta1, const double &eta2) const
 
virtual double operator() (const double *parval, const double &mass, const double &eta) const
 
virtual double operator() (const double *parval, const double &mass, const double &eta1, const double &eta2) const
 
virtual void setParameters (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, const int muonType)
 This method is used to differentiate parameters among the different functions. More...
 
- Public Member Functions inherited from backgroundFunctionBase
 backgroundFunctionBase (const double &lowerLimit, const double &upperLimit)
 
virtual TF1 * functionForIntegral (const std::vector< double >::const_iterator &parBgrIt) const
 
virtual int parNum () const
 
virtual ~backgroundFunctionBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from backgroundFunctionBase
virtual void setPar (double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, double *thisStep, double *thisMini, double *thisMaxi, TString *thisParName)
 This method sets the parameters. More...
 
- Protected Attributes inherited from backgroundFunctionBase
FunctionForIntegralfunctionForIntegral_
 
double lowerLimit_
 
int parNum_
 
double upperLimit_
 

Detailed Description

Exponential binned in eta (Z, Run2012C PromptReco-v1 + PromptReco-v2)

Definition at line 2339 of file Functions.h.

Constructor & Destructor Documentation

backgroundFunctionType11::backgroundFunctionType11 ( const double &  lowerLimit,
const double &  upperLimit 
)
inline

Definition at line 2341 of file Functions.h.

References backgroundFunctionBase::parNum_.

2341  :
2342  backgroundFunctionBase(lowerLimit, upperLimit)
2343  {
2344  this->parNum_ = 2;
2345  }
backgroundFunctionBase(const double &lowerLimit, const double &upperLimit)
Definition: Functions.h:1134

Member Function Documentation

virtual double backgroundFunctionType11::fracVsEta ( const double *  parval,
const double &  eta1,
const double &  eta2 
) const
inlinevirtual

Reimplemented from backgroundFunctionBase.

Definition at line 2421 of file Functions.h.

References gather_cfg::cout.

2422  {
2423  if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
2424  return (1.-0.966316);
2425  }
2426  if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
2427  return (1.-0.966875);
2428  }
2429  if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
2430  return (1.-0.955311);
2431  }
2432  if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
2433  return (1.-0.928771);
2434  }
2435  if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -100. && eta2 < -0.8) ) {
2436  return (1.-0.983255);
2437  }
2438  if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -0.8 && eta2 < 0.) ) {
2439  return (1.-0.982203);
2440  }
2441  if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0. && eta2 < 0.8) ) {
2442  return (1.-0.972127);
2443  }
2444  if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0.8 && eta2 < 100.) ) {
2445  return (1.-0.962929);
2446  }
2447  if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
2448  return (1.-0.965597);
2449  }
2450  if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
2451  return (1.-0.969461);
2452  }
2453  if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
2454  return (1.-0.979922);
2455  }
2456  if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
2457  return (1.-0.984247);
2458  }
2459  if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -100. && eta2 < -0.8) ) {
2460  return (1.-0.934252);
2461  }
2462  if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -0.8 && eta2 < 0.) ) {
2463  return (1.-0.952914);
2464  }
2465  if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0. && eta2 < 0.8) ) {
2466  return (1.-0.960191);
2467  }
2468  if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0.8 && eta2 < 100.) ) {
2469  return (1.-0.966175);
2470  }
2471  else {
2472  std::cout << "WARNING, backgroundFunctionType11: this should not happen for eta1 = " << eta1 << " and eta2 = " << eta2 << std::endl;
2473  return (1.-0.97);
2474  }
2475  }
tuple cout
Definition: gather_cfg.py:121
virtual double backgroundFunctionType11::operator() ( const double *  parval,
const double &  mass,
const double &  eta 
) const
inlinevirtual

Implements backgroundFunctionBase.

Definition at line 2346 of file Functions.h.

2346 {return 0.;}
virtual double backgroundFunctionType11::operator() ( const double *  parval,
const double &  mass,
const double &  eta1,
const double &  eta2 
) const
inlinevirtual

Reimplemented from backgroundFunctionBase.

Definition at line 2347 of file Functions.h.

References gather_cfg::cout, create_public_lumi_plots::exp, backgroundFunctionBase::lowerLimit_, and backgroundFunctionBase::upperLimit_.

2348  {
2349  double Bgrp2 = 0.;
2350  if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
2351  Bgrp2 = (-0.0512353);
2352  }
2353  else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
2354  Bgrp2 = (-0.0448482);
2355  }
2356  else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
2357  Bgrp2 = (-0.0193726);
2358  }
2359  else if( (eta1 >= -100. && eta1 < -0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
2360  Bgrp2 = (0.0225765);
2361  }
2362  else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -100. && eta2 < -0.8) ) {
2363  Bgrp2 = (-0.0822936);
2364  }
2365  else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= -0.8 && eta2 < 0.) ) {
2366  Bgrp2 = (-0.0676357);
2367  }
2368  else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0. && eta2 < 0.8) ) {
2369  Bgrp2 = (-0.0591544);
2370  }
2371  else if( (eta1 >= -0.8 && eta1 < 0.) && (eta2 >= 0.8 && eta2 < 100.) ) {
2372  Bgrp2 = (-0.0235858);
2373  }
2374  else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -100. && eta2 < -0.8) ) {
2375  Bgrp2 = (-0.0317051);
2376  }
2377  else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= -0.8 && eta2 < 0.) ) {
2378  Bgrp2 = (-0.06139);
2379  }
2380  else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0. && eta2 < 0.8) ) {
2381  Bgrp2 = (-0.0747737);
2382  }
2383  else if( (eta1 >= 0. && eta1 < 0.8) && (eta2 >= 0.8 && eta2 < 100.) ) {
2384  Bgrp2 = (-0.0810139);
2385  }
2386  else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -100. && eta2 < -0.8) ) {
2387  Bgrp2 = (0.0229602);
2388  }
2389  else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= -0.8 && eta2 < 0.) ) {
2390  Bgrp2 = (-0.0224212);
2391  }
2392  else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0. && eta2 < 0.8) ) {
2393  Bgrp2 = (-0.0446273);
2394  }
2395  else if( (eta1 >= 0.8 && eta1 < 100.) && (eta2 >= 0.8 && eta2 < 100.) ) {
2396  Bgrp2 = (-0.0554561);
2397  }
2398  else {
2399  std::cout << "WARNING, backgroundFunctionType11: this should not happen for eta1 = " << eta1 << " and eta2 = " << eta2 << std::endl;
2400  return (-0.05);
2401  }
2402  double norm = (exp(Bgrp2*upperLimit_) - exp(Bgrp2*lowerLimit_))/Bgrp2;
2403  if( norm != 0 ) return exp(Bgrp2*mass)/norm;
2404  else return 0.;
2405 
2406  }
tuple cout
Definition: gather_cfg.py:121
virtual void backgroundFunctionType11::setParameters ( double *  Start,
double *  Step,
double *  Mini,
double *  Maxi,
int *  ind,
TString *  parname,
const std::vector< double >::const_iterator &  parBgrIt,
const std::vector< int >::const_iterator &  parBgrOrderIt,
const int  muonType 
)
inlinevirtual

This method is used to differentiate parameters among the different functions.

Implements backgroundFunctionBase.

Definition at line 2407 of file Functions.h.

References backgroundFunctionBase::setPar().

2407  {
2408  double thisStep[] = {0.01, 0.01};
2409  TString thisParName[] = {"Bgr fraction", "Bgr slope"};
2410  if( muonType == 1 ) {
2411  double thisMini[] = {-1.0, 10.};
2412  double thisMaxi[] = {1.0 , 10.};
2413  this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
2414  } else {
2415  double thisMini[] = {-1.0, 10.};
2416  double thisMaxi[] = { 1.0, 10.};
2417  this->setPar( Start, Step, Mini, Maxi, ind, parname, parBgrIt, parBgrOrderIt, thisStep, thisMini, thisMaxi, thisParName );
2418  }
2419  }
virtual void setPar(double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double >::const_iterator &parBgrIt, const std::vector< int >::const_iterator &parBgrOrderIt, double *thisStep, double *thisMini, double *thisMaxi, TString *thisParName)
This method sets the parameters.
Definition: Functions.h:1162