Go to the documentation of this file.00001 #ifndef TopObjetcResolutionsJet_h
00002 #define TopObjetcResolutionsJet_h
00003
00004 namespace res{
00005 class HelperJet {
00006
00007 public:
00008 enum Flavor {kUds, kB};
00009
00010 HelperJet(){};
00011 ~HelperJet(){};
00012
00013 inline double pt (double pt, double eta, Flavor flav);
00014 inline double eta(double pt, double eta, Flavor flav);
00015 inline double phi(double pt, double eta, Flavor flav);
00016 inline double a(double pt, double eta, Flavor flav);
00017 inline double b(double pt, double eta, Flavor flav);
00018 inline double c(double pt, double eta, Flavor flav);
00019 inline double d(double pt, double eta, Flavor flav);
00020 inline double et(double pt, double eta, Flavor flav);
00021 inline double theta(double pt, double eta, Flavor flav);
00022 };
00023 }
00024
00025 inline double res::HelperJet::pt(double pt, double eta, Flavor flav)
00026 {
00027 double res = 0.29*sqrt(pt);
00028 if(fabs(eta)<1.4) res+= 6.68;
00029 else res+=-3.14*fabs(eta)+11.89;
00030 if(flav==kB){
00031 res=0.33*sqrt(pt);
00032 if(fabs(eta)<1.4) res+= 6.57;
00033 else res+=-1.09*fabs(eta)+8.50;
00034 }
00035 return res;
00036 }
00037
00038 inline double res::HelperJet::a(double pt, double eta, Flavor flav)
00039 {
00040 double res = 0.29*sqrt(pt);
00041 if(flav==kB){
00042 if(fabs(eta)<0.17) res = 0.142188+0.288157*exp(-(0.0275628*pt));
00043 else if(fabs(eta)<0.35) res = 0.141215+0.277502*exp(-(0.0282327*pt));
00044 else if(fabs(eta)<0.5) res = 0.140493+0.26136*exp(-(0.0254784*pt));
00045 else if(fabs(eta)<0.7) res = 0.142608+0.371256*exp(-(0.0299132*pt));
00046 else if(fabs(eta)<0.9) res = 0.138817+0.237167*exp(-(0.0268413*pt));
00047 else if(fabs(eta)<1.15) res = 0.137322+0.293834*exp(-(0.0264771*pt));
00048 else if(fabs(eta)<1.4) res = 0.147184+0.40834*exp(-(0.0366769*pt));
00049 else if(fabs(eta)<1.7) res = 0.141529+0.195563*exp(-(0.023933*pt));
00050 else if(fabs(eta)<2.1) res = 0.129132+0.261012*exp(-(0.0323658*pt));
00051 else if(fabs(eta)<2.5) res = 0.120065+0.239351*exp(-(0.0356176*pt));
00052 }else{
00053 if(fabs(eta)<0.17) res = 0.142145+0.274541*exp(-(0.0286487*pt));
00054 else if(fabs(eta)<0.35) res = 0.146112+0.284777*exp(-(0.031039*pt));
00055 else if(fabs(eta)<0.5) res = 0.146703+0.343982*exp(-(0.0333917*pt));
00056 else if(fabs(eta)<0.7) res = 0.149067+0.241197*exp(-(0.0303415*pt));
00057 else if(fabs(eta)<0.9) res = 0.141233+0.304052*exp(-(0.0314644*pt));
00058 else if(fabs(eta)<1.15) res = 0.144531+0.266871*exp(-(0.0283385*pt));
00059 else if(fabs(eta)<1.4) res = 0.156593+0.41251*exp(-(0.0411896*pt));
00060 else if(fabs(eta)<1.7) res = 0.13452+0.269*exp(-(0.0230171*pt));
00061 else if(fabs(eta)<2.1) res = 0.0969416+0.211636*exp(-(0.0166117*pt));
00062 else if(fabs(eta)<2.5) res = 0.0727398+0.205132*exp(-(0.01661*pt));
00063 }
00064 return res;
00065 }
00066
00067 inline double res::HelperJet::b(double pt, double eta, Flavor flav)
00068 {
00069 double res = 0.29*sqrt(pt);
00070 if(flav==kB){
00071 if(fabs(eta)<0.17) res = 2.02521+0.174301*exp(-(-0.0136646*pt));
00072 else if(fabs(eta)<0.35) res = 0.690872+1.32174*exp(-(-0.00459989*pt));
00073 else if(fabs(eta)<0.5) res = -956.522+958.486*exp(-(-7.57551e-06*pt));
00074 else if(fabs(eta)<0.7) res = 2.01017+0.0670861*exp(-(-0.0194879*pt));
00075 else if(fabs(eta)<0.9) res = 1.92701+0.124384*exp(-(-0.0144246*pt));
00076 else if(fabs(eta)<1.15) res = 1.94854+0.034138*exp(-(-0.0227995*pt));
00077 else if(fabs(eta)<1.4) res = 2.07599+0.0208406*exp(-(-0.0214439*pt));
00078 else if(fabs(eta)<1.7) res = 1.99002+0.0077067*exp(-(-0.0278379*pt));
00079 else if(fabs(eta)<2.1) res = 1.93181+0.00196985*exp(-(-0.0390155*pt));
00080 else if(fabs(eta)<2.5) res = 1.75611+0.0287099*exp(-(-0.0202162*pt));
00081 }else{
00082 if(fabs(eta)<0.17) res = -644.18+645.342*exp(-(-1.7462e-05*pt));
00083 else if(fabs(eta)<0.35) res = -1.34986+2.48937*exp(-(-0.00396448*pt));
00084 else if(fabs(eta)<0.5) res = -4.8078+5.98195*exp(-(-0.0015*pt));
00085 else if(fabs(eta)<0.7) res = -9.55949+10.7419*exp(-(-0.000891802*pt));
00086 else if(fabs(eta)<0.9) res = 0.374264+0.884391*exp(-(-0.00642501*pt));
00087 else if(fabs(eta)<1.15) res = -9.51561+10.7429*exp(-(-0.000639173*pt));
00088 else if(fabs(eta)<1.4) res = -0.158886+1.43841*exp(-(-0.00347282*pt));
00089 else if(fabs(eta)<1.7) res = 0.28876+0.992659*exp(-(-0.00454673*pt));
00090 else if(fabs(eta)<2.1) res = 0.292201+0.922609*exp(-(-0.00536289*pt));
00091 else if(fabs(eta)<2.5) res = -657.479+658.533*exp(-(-1.40481e-05*pt));
00092 }
00093 return res;
00094 }
00095
00096 inline double res::HelperJet::c(double pt, double eta, Flavor flav)
00097 {
00098 double res = 0.29*sqrt(pt);
00099 if(flav==kB){
00100 if(fabs(eta)<0.17) res = -2048.11+2051.27*exp(-(1.81337e-06*pt));
00101 else if(fabs(eta)<0.35) res = 2.86314+0.598484*exp(-(0.0322582*pt));
00102 else if(fabs(eta)<0.5) res = 2.54785+0.77807*exp(-(0.0100979*pt));
00103 else if(fabs(eta)<0.7) res = 2.78865+6.82558*exp(-(0.0677953*pt));
00104 else if(fabs(eta)<0.9) res = 2.63261+2.66562*exp(-(0.044099*pt));
00105 else if(fabs(eta)<1.15) res = 2.51691+2.75456*exp(-(0.0425201*pt));
00106 else if(fabs(eta)<1.4) res = 2.60458+0.623776*exp(-(0.0148415*pt));
00107 else if(fabs(eta)<1.7) res = 2.39005+1.60119*exp(-(0.0154536*pt));
00108 else if(fabs(eta)<2.1) res = 2.49783+0.408896*exp(-(0.04005*pt));
00109 else if(fabs(eta)<2.5) res = 2.02143+0.000354016*exp(-(-0.0476218*pt));
00110 }else{
00111 if(fabs(eta)<0.17) res = 1.72736+0.212526*exp(-(-0.00672611*pt));
00112 else if(fabs(eta)<0.35) res = -3480.32+3482.17*exp(-(-7.08939e-07*pt));
00113 else if(fabs(eta)<0.5) res = 1.89173+0.0381423*exp(-(-0.0151248*pt));
00114 else if(fabs(eta)<0.7) res = 2+0.00575323*exp(-(-0.0233459*pt));
00115 else if(fabs(eta)<0.9) res = 1.92618+0.00541047*exp(-(-0.0269683*pt));
00116 else if(fabs(eta)<1.15) res = 1.95535+0.0194328*exp(-(-0.0175058*pt));
00117 else if(fabs(eta)<1.4) res = 1.99855+0.00403398*exp(-(-0.027822*pt));
00118 else if(fabs(eta)<1.7) res = 2.02356+1.33745e-15*exp(-(-0.201028*pt));
00119 else if(fabs(eta)<2.1) res = 1.70305+0.0428122*exp(-(-0.0206051*pt));
00120 else if(fabs(eta)<2.5) res = 0.964128+0.370407*exp(-(-0.0119056*pt));
00121 }
00122 return res;
00123 }
00124
00125 inline double res::HelperJet::d(double pt, double eta, Flavor flav)
00126 {
00127 double res = 0.29*sqrt(pt);
00128 if(flav==kB){
00129 if(fabs(eta)<0.17) res = 0.144545+0.374307*exp(-(0.0314642*pt));
00130 else if(fabs(eta)<0.35) res = 0.141366+0.241457*exp(-(0.0263273*pt));
00131 else if(fabs(eta)<0.5) res = 0.142509+0.324478*exp(-(0.0288208*pt));
00132 else if(fabs(eta)<0.7) res = 0.139809+0.292392*exp(-(0.0257797*pt));
00133 else if(fabs(eta)<0.9) res = 0.137762+0.258213*exp(-(0.0265974*pt));
00134 else if(fabs(eta)<1.15) res = 0.135831+0.338346*exp(-(0.0277574*pt));
00135 else if(fabs(eta)<1.4) res = 0.148253+0.53999*exp(-(0.0415757*pt));
00136 else if(fabs(eta)<1.7) res = 0.145785+0.297049*exp(-(0.0319928*pt));
00137 else if(fabs(eta)<2.1) res = 0.126895+0.291297*exp(-(0.0328976*pt));
00138 else if(fabs(eta)<2.5) res = 0.119259+0.228403*exp(-(0.0341018*pt));
00139 }else{
00140 if(fabs(eta)<0.17) res = 0.139738+0.310387*exp(-(0.0296992*pt));
00141 else if(fabs(eta)<0.35) res = 0.142229+0.274556*exp(-(0.0286575*pt));
00142 else if(fabs(eta)<0.5) res = 0.14344+0.313425*exp(-(0.0294567*pt));
00143 else if(fabs(eta)<0.7) res = 0.147284+0.252005*exp(-(0.0303533*pt));
00144 else if(fabs(eta)<0.9) res = 0.13541+0.261376*exp(-(0.0260026*pt));
00145 else if(fabs(eta)<1.15) res = 0.144023+0.27422*exp(-(0.0282282*pt));
00146 else if(fabs(eta)<1.4) res = 0.158694+0.352571*exp(-(0.0385597*pt));
00147 else if(fabs(eta)<1.7) res = 0.135936+0.24773*exp(-(0.0226282*pt));
00148 else if(fabs(eta)<2.1) res = 0.0957325+0.213108*exp(-(0.016424*pt));
00149 else if(fabs(eta)<2.5) res = 0.0622281+0.185045*exp(-(0.0129321*pt));
00150 }
00151 return res;
00152 }
00153
00154 inline double res::HelperJet::theta(double pt, double eta, Flavor flav)
00155 {
00156 double res = 0.29*sqrt(pt);
00157 if(flav==kB){
00158 if(fabs(eta)<0.17) res = 0.0348657+0.0966067*exp(-(0.0388496*pt));
00159 else if(fabs(eta)<0.35) res = 0.0327521+0.0901303*exp(-(0.0354149*pt));
00160 else if(fabs(eta)<0.5) res = 0.030283+0.0970732*exp(-(0.036806*pt));
00161 else if(fabs(eta)<0.7) res = 0.0266898+0.0994089*exp(-(0.0379773*pt));
00162 else if(fabs(eta)<0.9) res = 0.022614+0.091974*exp(-(0.0384986*pt));
00163 else if(fabs(eta)<1.15) res = 0.0173219+0.0923928*exp(-(0.0395886*pt));
00164 else if(fabs(eta)<1.4) res = 0.0129851+0.077473*exp(-(0.0363236*pt));
00165 else if(fabs(eta)<1.7) res = 0.00967747+0.0667463*exp(-(0.0383101*pt));
00166 else if(fabs(eta)<2.1) res = 0.00744593+0.050027*exp(-(0.0432323*pt));
00167 else if(fabs(eta)<2.5) res = 0.00589309+0.0346904*exp(-(0.0484705*pt));
00168 }else{
00169 if(fabs(eta)<0.17) res = 0.0384999+0.105382*exp(-(0.0440247*pt));
00170 else if(fabs(eta)<0.35) res = 0.0384758+0.086093*exp(-(0.0436464*pt));
00171 else if(fabs(eta)<0.5) res = 0.0325808+0.0860212*exp(-(0.0371074*pt));
00172 else if(fabs(eta)<0.7) res = 0.0304022+0.094116*exp(-(0.0402575*pt));
00173 else if(fabs(eta)<0.9) res = 0.0246649+0.0883167*exp(-(0.0386519*pt));
00174 else if(fabs(eta)<1.15) res = 0.0197668+0.080217*exp(-(0.0368397*pt));
00175 else if(fabs(eta)<1.4) res = 0.0148531+0.0692569*exp(-(0.0354383*pt));
00176 else if(fabs(eta)<1.7) res = 0.0113007+0.0601861*exp(-(0.0373138*pt));
00177 else if(fabs(eta)<2.1) res = 0.00860103+0.0522148*exp(-(0.0450405*pt));
00178 else if(fabs(eta)<2.5) res = 0.00692992+0.031671*exp(-(0.0490789*pt));
00179 }
00180 return res;
00181 }
00182
00183 inline double res::HelperJet::phi(double pt, double eta, Flavor flav)
00184 {
00185 double res = 0.29*sqrt(pt);
00186 if(flav==kB){
00187 if(fabs(eta)<0.17) res = 0.0217379+0.157228*exp(-(0.0237049*pt));
00188 else if(fabs(eta)<0.35) res = 0.0246735+0.165694*exp(-(0.0269728*pt));
00189 else if(fabs(eta)<0.5) res = 0.0226496+0.162875*exp(-(0.0250225*pt));
00190 else if(fabs(eta)<0.7) res = 0.0232004+0.167887*exp(-(0.0259427*pt));
00191 else if(fabs(eta)<0.9) res = 0.0220083+0.183889*exp(-(0.0273017*pt));
00192 else if(fabs(eta)<1.15) res = 0.0216601+0.18482*exp(-(0.027148*pt));
00193 else if(fabs(eta)<1.4) res = 0.0225191+0.19558*exp(-(0.0271747*pt));
00194 else if(fabs(eta)<1.7) res = 0.0208365+0.19241*exp(-(0.0262627*pt));
00195 else if(fabs(eta)<2.1) res = 0.0233749+0.180684*exp(-(0.032052*pt));
00196 else if(fabs(eta)<2.5) res = 0.0231891+0.165484*exp(-(0.0389916*pt));
00197 }else{
00198 if(fabs(eta)<0.17) res = 0.025945+0.16529*exp(-(0.027385*pt));
00199 else if(fabs(eta)<0.35) res = 0.0257294+0.155366*exp(-(0.0268639*pt));
00200 else if(fabs(eta)<0.5) res = 0.0231924+0.166508*exp(-(0.0264153*pt));
00201 else if(fabs(eta)<0.7) res = 0.0252736+0.176977*exp(-(0.0281594*pt));
00202 else if(fabs(eta)<0.9) res = 0.0269299+0.174505*exp(-(0.0295757*pt));
00203 else if(fabs(eta)<1.15) res = 0.0250191+0.178321*exp(-(0.0284006*pt));
00204 else if(fabs(eta)<1.4) res = 0.0242345+0.174682*exp(-(0.027202*pt));
00205 else if(fabs(eta)<1.7) res = 0.0242234+0.199735*exp(-(0.0291262*pt));
00206 else if(fabs(eta)<2.1) res = 0.0300017+0.175617*exp(-(0.0357093*pt));
00207 else if(fabs(eta)<2.5) res = 0.0282978+0.141994*exp(-(0.0383663*pt));
00208 }
00209 return res;
00210 }
00211
00212 inline double res::HelperJet::et(double pt, double eta, Flavor flav)
00213 {
00214 double res = 0.29*sqrt(pt);
00215 if(flav==kB){
00216 if(fabs(eta)<0.17) res = 10.1445+0.0445196*pt;
00217 else if(fabs(eta)<0.35) res = 8.944+0.0576391*pt;
00218 else if(fabs(eta)<0.5) res = 8.8462+0.0630703*pt;
00219 else if(fabs(eta)<0.7) res = 8.90812+0.057605*pt;
00220 else if(fabs(eta)<0.9) res = 8.42307+0.0623024*pt;
00221 else if(fabs(eta)<1.15) res = 8.64735+0.0619689*pt;
00222 else if(fabs(eta)<1.4) res = 8.90574+0.0595526*pt;
00223 else if(fabs(eta)<1.7) res = 8.74415+0.0612412*pt;
00224 else if(fabs(eta)<2.1) res = 7.80525+0.0511843*pt;
00225 else if(fabs(eta)<2.5) res = 6.07877+0.0569574*pt;
00226 }else{
00227 if(fabs(eta)<0.17) res = 8.04345+0.0705188*pt;
00228 else if(fabs(eta)<0.35) res = 7.77565+0.0722247*pt;
00229 else if(fabs(eta)<0.5) res = 8.53558+0.0647725*pt;
00230 else if(fabs(eta)<0.7) res = 7.99374+0.0681428*pt;
00231 else if(fabs(eta)<0.9) res = 7.51695+0.0755128*pt;
00232 else if(fabs(eta)<1.15) res = 7.70804+0.0748981*pt;
00233 else if(fabs(eta)<1.4) res = 7.2996+0.0852397*pt;
00234 else if(fabs(eta)<1.7) res = 7.95923+0.0715722*pt;
00235 else if(fabs(eta)<2.1) res = 7.68012+0.0543317*pt;
00236 else if(fabs(eta)<2.5) res = 6.59141+0.0452384*pt;
00237 }
00238 return res;
00239 }
00240
00241 inline double res::HelperJet::eta(double pt, double eta, Flavor flav)
00242 {
00243 double res=-1.53e-4*pt+0.05;
00244 if(flav==kB){
00245 if(fabs(eta)<0.17) res = 0.0354411+0.130211*exp(-(0.0423321*pt));
00246 else if(fabs(eta)<0.35) res = 0.0341742+0.115784*exp(-(0.0375787*pt));
00247 else if(fabs(eta)<0.5) res = 0.0336537+0.143109*exp(-(0.0416702*pt));
00248 else if(fabs(eta)<0.7) res = 0.031894+0.140572*exp(-(0.0405564*pt));
00249 else if(fabs(eta)<0.9) res = 0.0301507+0.126005*exp(-(0.0384231*pt));
00250 else if(fabs(eta)<1.15) res = 0.0268018+0.140956*exp(-(0.03872*pt));
00251 else if(fabs(eta)<1.4) res = 0.0242941+0.131887*exp(-(0.0337869*pt));
00252 else if(fabs(eta)<1.7) res = 0.0223985+0.142949*exp(-(0.0351412*pt));
00253 else if(fabs(eta)<2.1) res = 0.0229694+0.145993*exp(-(0.0391759*pt));
00254 else if(fabs(eta)<2.5) res = 0.0243171+0.145419*exp(-(0.0430824*pt));
00255 }else{
00256 if(fabs(eta)<0.17) res = 0.038575+0.129026*exp(-(0.0427157*pt));
00257 else if(fabs(eta)<0.35) res = 0.0400221+0.127222*exp(-(0.0458212*pt));
00258 else if(fabs(eta)<0.5) res = 0.0358472+0.119962*exp(-(0.0395586*pt));
00259 else if(fabs(eta)<0.7) res = 0.0359612+0.136094*exp(-(0.04212*pt));
00260 else if(fabs(eta)<0.9) res = 0.0327581+0.127339*exp(-(0.0393077*pt));
00261 else if(fabs(eta)<1.15) res = 0.0305095+0.116238*exp(-(0.0347537*pt));
00262 else if(fabs(eta)<1.4) res = 0.027529+0.117893*exp(-(0.032858*pt));
00263 else if(fabs(eta)<1.7) res = 0.0253065+0.112751*exp(-(0.0307028*pt));
00264 else if(fabs(eta)<2.1) res = 0.0266957+0.131998*exp(-(0.0380667*pt));
00265 else if(fabs(eta)<2.5) res = 0.0298413+0.13651*exp(-(0.0458475*pt));
00266 }
00267 return res;
00268 }
00269
00270 #endif