CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/CalibCalorimetry/HcalPlugins/src/HFRecalibration.cc

Go to the documentation of this file.
00001 
00002 // File: HFRecalibration.cc
00003 // Description: simple helper class containing parameterized 
00004 //              function for HF damade recovery for Upgrade studies  
00005 //              evaluated using SimG4CMS/Calo/ HFDarkening   
00007 
00008 #include "HFRecalibration.h"
00009 
00010 HFRecalibration::HFRecalibration() { }
00011 HFRecalibration::~HFRecalibration() { }
00012 
00013 double HFRecalibration::getCorr(int ieta, int depth, double lumi) {
00014 
00015   // parameterizations provided by James Wetzel
00016  
00017   ieta = abs(ieta);
00018 
00019    if (depth == 1)
00020    {
00021       switch (ieta) {
00022          case 29:
00023             return (1 + 0.00311431*sqrt(lumi) - 1.2533e-05*lumi);
00024             break;
00025          case 30:
00026             return (1 + 0.00465755*sqrt(lumi) - 2.13133e-05*lumi);
00027             break;
00028          case 31:
00029             return (1 + 0.000977613*sqrt(lumi) - 4.07977e-06*lumi);
00030             break;
00031          case 32:
00032             return (1 + 0.000524346*sqrt(lumi) + 4.9271e-06*lumi);
00033             break;
00034          case 33:
00035             return (1 + 0.00173415*sqrt(lumi) - 2.24236e-06*lumi);
00036             break;
00037          case 34:
00038             return (1 + 0.00232593*sqrt(lumi) - 4.52383e-06*lumi);
00039             break;
00040          case 35:
00041             return (1 + 0.00320855*sqrt(lumi) - 2.99755e-06*lumi);
00042             break;
00043          case 36:
00044             return (1 + 0.0041762*sqrt(lumi) - 7.45472e-06*lumi);
00045             break;
00046          case 37:
00047             return (1 + 0.00470535*sqrt(lumi) - 8.54648e-06*lumi);
00048             break;
00049          case 38:
00050             return (1 + 0.0128799*sqrt(lumi) - 2.08496e-05*lumi);
00051             break;
00052          case 39:
00053             return (1 + 0.0132013*sqrt(lumi) - 2.20553e-06*lumi);
00054             break;
00055          case 40:
00056             return (1 + 0.0175412*sqrt(lumi) + 9.27508e-06*lumi);
00057             break;
00058          case 41:
00059             return (1 + 0.0225411*sqrt(lumi) + 6.27762e-06*lumi);
00060             break;
00061          default:
00062             return 1.0;
00063             break;
00064       }
00065    }
00066    else if (depth == 2)
00067    {
00068       switch (ieta) {
00069          case 29:
00070             return (1 + 0.00761858*sqrt(lumi) - 5.27388e-05*lumi);
00071             break;
00072          case 30:
00073             return (1 + 0.00504187*sqrt(lumi) - 2.37517e-05*lumi);
00074             break;
00075          case 31:
00076             return (1 + 0.000662802*sqrt(lumi) - 1.59053e-06*lumi);
00077             break;
00078          case 32:
00079             return (1 + 0.000309601*sqrt(lumi) + 5.12078e-06*lumi);
00080             break;
00081          case 33:
00082             return (1 + 0.00136072*sqrt(lumi) - 1.00731e-06*lumi);
00083             break;
00084          case 34:
00085             return (1 + 0.00162751*sqrt(lumi) - 9.75138e-07*lumi);
00086             break;
00087          case 35:
00088             return (1 + 0.00276588*sqrt(lumi) - 2.7936e-06*lumi);
00089             break;
00090          case 36:
00091             return (1 + 0.00350136*sqrt(lumi) - 5.80201e-06*lumi);
00092             break;
00093          case 37:
00094             return (1 + 0.00373748*sqrt(lumi) - 4.18957e-06*lumi);
00095             break;
00096          case 38:
00097             return (1 + 0.0114058*sqrt(lumi) - 2.09587e-05*lumi);
00098             break;
00099          case 39:
00100             return (1 + 0.0114551*sqrt(lumi) - 5.59902e-06*lumi);
00101             break;
00102          case 40:
00103             return (1 + 0.0168812*sqrt(lumi) - 1.00741e-05*lumi);
00104             break;
00105          case 41:
00106             return (1 + 0.018887*sqrt(lumi) - 6.77675e-06*lumi);
00107             break;
00108          default:
00109             return 1.0;
00110             break;
00111       }
00112    }
00113    else
00114       return 1.0;
00115 }