CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/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    if (depth == 1)
00018    {
00019       switch (ieta) {
00020          case 29:
00021             return (1 + 0.00311431*sqrt(lumi) - 1.2533e-05*lumi);
00022             break;
00023          case 30:
00024             return (1 + 0.00465755*sqrt(lumi) - 2.13133e-05*lumi);
00025             break;
00026          case 31:
00027             return (1 + 0.000977613*sqrt(lumi) - 4.07977e-06*lumi);
00028             break;
00029          case 32:
00030             return (1 + 0.000524346*sqrt(lumi) + 4.9271e-06*lumi);
00031             break;
00032          case 33:
00033             return (1 + 0.00173415*sqrt(lumi) - 2.24236e-06*lumi);
00034             break;
00035          case 34:
00036             return (1 + 0.00232593*sqrt(lumi) - 4.52383e-06*lumi);
00037             break;
00038          case 35:
00039             return (1 + 0.00320855*sqrt(lumi) - 2.99755e-06*lumi);
00040             break;
00041          case 36:
00042             return (1 + 0.0041762*sqrt(lumi) - 7.45472e-06*lumi);
00043             break;
00044          case 37:
00045             return (1 + 0.00470535*sqrt(lumi) - 8.54648e-06*lumi);
00046             break;
00047          case 38:
00048             return (1 + 0.0128799*sqrt(lumi) - 2.08496e-05*lumi);
00049             break;
00050          case 39:
00051             return (1 + 0.0132013*sqrt(lumi) - 2.20553e-06*lumi);
00052             break;
00053          case 40:
00054             return (1 + 0.0175412*sqrt(lumi) + 9.27508e-06*lumi);
00055             break;
00056          case 41:
00057             return (1 + 0.0225411*sqrt(lumi) + 6.27762e-06*lumi);
00058             break;
00059          default:
00060             return 1.0;
00061             break;
00062       }
00063    }
00064    else if (depth == 2)
00065    {
00066       switch (ieta) {
00067          case 29:
00068             return (1 + 0.00761858*sqrt(lumi) - 5.27388e-05*lumi);
00069             break;
00070          case 30:
00071             return (1 + 0.00504187*sqrt(lumi) - 2.37517e-05*lumi);
00072             break;
00073          case 31:
00074             return (1 + 0.000662802*sqrt(lumi) - 1.59053e-06*lumi);
00075             break;
00076          case 32:
00077             return (1 + 0.000309601*sqrt(lumi) + 5.12078e-06*lumi);
00078             break;
00079          case 33:
00080             return (1 + 0.00136072*sqrt(lumi) - 1.00731e-06*lumi);
00081             break;
00082          case 34:
00083             return (1 + 0.00162751*sqrt(lumi) - 9.75138e-07*lumi);
00084             break;
00085          case 35:
00086             return (1 + 0.00276588*sqrt(lumi) - 2.7936e-06*lumi);
00087             break;
00088          case 36:
00089             return (1 + 0.00350136*sqrt(lumi) - 5.80201e-06*lumi);
00090             break;
00091          case 37:
00092             return (1 + 0.00373748*sqrt(lumi) - 4.18957e-06*lumi);
00093             break;
00094          case 38:
00095             return (1 + 0.0114058*sqrt(lumi) - 2.09587e-05*lumi);
00096             break;
00097          case 39:
00098             return (1 + 0.0114551*sqrt(lumi) - 5.59902e-06*lumi);
00099             break;
00100          case 40:
00101             return (1 + 0.0168812*sqrt(lumi) - 1.00741e-05*lumi);
00102             break;
00103          case 41:
00104             return (1 + 0.018887*sqrt(lumi) - 6.77675e-06*lumi);
00105             break;
00106          default:
00107             return 1.0;
00108             break;
00109       }
00110    }
00111    else
00112       return 1.0;
00113 }