/////////////////////////////////////////////////////////////////////////////// // plot "Larry-corrections" vs run number // 2006-10-02: update to version 1.113 // // to use with ROOT larry_cem_scale needs to have its signature changed // from 'float larry_cem_scale(int)' // to 'double larry_cem_scale(double*, double*)' /////////////////////////////////////////////////////////////////////////////// double larry_cem_scale(double* RRRun, double* Par) { // float fudge=1.0; float scale=1.03; int Run = RRRun[0]; if (Run > 10) { if (Run < 141544) fudge = scale/(1.0220 - .000000224*(Run-140000)); else if (Run < 143500) fudge = scale/(1.0211 + .000000514*(Run-142500)); else if (Run < 146000) fudge = scale/(1.016 - .0000036 *(Run-144300)); else if (Run < 152400) fudge = scale/(1.009 - .0000045 *(Run-148000)); //scl bump by 3% else if (Run < 155000) fudge = scale/(1.014 - .0000022 *(Run-153600)); else if (Run < 158000) fudge = scale/(1.005 - .000005 *(Run-155700)); else if (Run < 160200) fudge = scale/1.0017; else if (Run < 160800) fudge = scale/(.9977 - .0000045 *(Run-160500)); else if (Run < 163800) { fudge = scale/(.991 - .0000020 *(Run-161750)); // scl bump by 3% if (Run > 162697) fudge *=.975; } else if(Run<166200) { fudge = scale/(1.018 - .0000066 * (Run-164750)); if(Run>165700) fudge=.996*fudge; } else if(Run<166900) fudge = scale/(1.012 - .0000190*(Run-166600)); else if(Run<170000) fudge = scale/1.011; else if(Run<177000) fudge = scale/(1.0198+.0000017*(Run-175800)); else if(Run<177600) fudge = scale/1.0173; else if(Run<180000) fudge = scale/(1.016 - .000009*(Run-178100)); else if(Run<182100) fudge= scale/(1.007 + .0000020*(Run-181500)); else if(Run<185549) fudge= scale/(1.007-.0000054*(Run-182350)); else if(Run<188000) fudge= scale/(1.037-.0000054*(Run-182350)); else if(Run<193800) fudge= scale/(1.0188 - .0000037*(Run-191800)); else if(Run<196000) { fudge=scale/(1.0078 - .0000059*(Run-194200)); if(Run>195437) fudge=fudge/1.03; } else if(Run<197500) fudge= scale/(1.0264 - .0000040*(Run-196700)); else if(Run<200400) fudge= scale/(1.0298 - .0000040*(Run-196700)); else if(Run<201300) fudge= scale/(1.0176 - .0000045*(Run-200900)); else if(Run<202604) fudge= scale/(1.0231 - .0000045*(Run-200900)); else if(Run<203800) fudge= scale/(1.0246 - .0000045*(Run-200900)); else if(Run<208000) { fudge=scale/(1.0256 - .0000045*(Run-200900)); if(Run>207100) fudge=fudge/1.03; if(Run>207400) fudge=fudge/1.0046; } else if(Run<209051) fudge= scale/(.978 + .00037*(Run-208900)); else if(Run<210012) fudge= scale/(1.029 - .000007*(Run-209300)); else if(Run<213000) fudge= scale/(1.0375 - .000007*(Run-209300)); else if(Run<219800) fudge= scale/(1.0160-.000008*(Run-220000)); else if(Run<221000) fudge= scale/(1.0200-.000008*(Run-220000)); else if(Run<221600) fudge= scale/(1.0370-.000019*(Run-220000)); else if(Run<222426) fudge= scale/(1.0170-.000006*(Run-220000)); } return fudge; } //_____________________________________________________________________________ void plot_cem_scale(int RMin, int RMax) { char name[100], title[100]; sprintf(name ,"c_larry_cem_scale_%6i_%6i",RMin,RMax); sprintf(title,"larry_cem_scale(runs %6i-%6i)",RMin,RMax); TCanvas* c = new_slide(name,title,1,1,600,400); TPad* p1 = (TPad*) c->GetPrimitive("p1"); p1->cd(1); sprintf(name ,"f_larry_cem_scale_%6i_%6i",RMin,RMax); TF1* f = new TF1(name,larry_cem_scale,RMin,RMax,0); f->SetTitle(title); f->SetMinimum(0.98); f->SetMaximum(1.05); f->SetLineWidth(1); f->SetLineColor(4); f->Draw(); gPad->SetGridy(); gPad->Update(); }