Main Page | Namespace List | Class List | Directories | File List | Class Members | File Members

higgspolarization.C

Go to the documentation of this file.
00001 double beta(double x)
00002 {
00003   double gamma = ((91.1876**4)/(x**4))*(8/((1-((2*(91.1876**2))/(x**2)))**2));
00004   return (-gamma+2)/(2+gamma);
00005  
00006 }
00007 
00008 double R_L(double x)
00009 {
00010   double z = (91.1876*91.1876)/(x*x);
00011   
00012   double a = ((3-16*z+20*z*z)/(sqrt(4*z-1)))*acos((3*z-1)/(2*z*sqrt(z)));
00013 
00014   double b = ((1-z)/(2*z))*(2-13*z+15*z*z);
00015 
00016   double c = 0.5*(3-10*z+4*z*z)*log(z);
00017 
00018   return (a-b-c);
00019 
00020 }
00021 
00022 
00023 
00024 double R_T(double x)
00025 {
00026 
00027   double y = (91.1876*91.1876)/(x*x);
00028 
00029   double s = ((3*(1-8*y+20*y*y))/(sqrt(4*y-1)))*acos((3*y-1)/(2*y*sqrt(y)));
00030 
00031   double t = ((1-y)/(2*y))*(2-13*y+47*y*y);
00032 
00033   double u = 1.5*(1-6*y+4*y*y)*log(y);
00034 
00035   return (s-t-u);
00036 }
00037 
00038 
00039 
00040 
00041 
00042 void higgspolarization(char *filelistname)
00043 
00044 {
00045   TString filename;
00046   TFile * f;
00047 
00048 
00049   ifstream filelist(filelistname);
00050   string line;
00051 
00052 
00053   const int n = 37; //how large the arrray is that it creates
00054 
00055   double x[n],y[n],y1[n],y2[n],ex[n],ey[n],ey1[n],ey2[n],y3[n],ey3[n];
00056 
00057 
00058   int ipoint = 0;
00059 
00060   filelist >> line;
00061   double higgsmass = 140;
00062   
00063   //loop over the files from file list
00064  
00065   while (!filelist.eof())
00066     {
00067       filename = line;
00068       //open the file, now pointed by f
00069 
00070 
00071       f = TFile::Open(filename);
00072       
00073       TH1F * thish = (TH1F*) f->Get("Cosine1graph");
00074 
00075       TF1 * f2 = (TF1*)thish->GetListOfFunctions()->At(0);
00076       TF1 * f3 = (TF1*)thish->GetListOfFunctions()->At(1);
00077       TF1 * f4 = (TF1*)thish->GetListOfFunctions()->At(2);
00078       TF1 *f5 = new TF1("f5","[0]*( ((-[1]-1)/([1]-3)) * (3/4)*(1-x**2) + (3/8)*((2*[1]-2)/([1]-3))*(1+x**2) )",-1,1);
00079       
00080       f5->SetParNames("Normalization","Correct Tully Ratio");
00081       f5->SetParameter(1,0.5);
00082       f5->FixParameter(0,thish->Integral("bin width"));
00083       thish->Fit("f5","+L");
00084       
00085       float alpha =  f2->GetParameter("alpha");
00086       float alpha_error = f2->GetParError(1);
00087       float ratio = f3->GetParameter("R");
00088       float ratio_error = f3->GetParError(1);
00089       float tully_ratio = f4->GetParameter("tullyR");
00090       float tully_ratio_error = f4->GetParError(1);
00091       float correct_tratio = f5->GetParameter("Correct Tully Ratio");
00092       float correct_tratio_error = f5->GetParError(1);
00093       
00094       f->Close();
00095 
00096 
00097 
00098      
00099       x[ipoint] = higgsmass;
00100       y[ipoint] = alpha;
00101       ey[ipoint] = alpha_error;
00102       y1[ipoint] = ratio;
00103       ey1[ipoint] = ratio_error;
00104       y2[ipoint] = tully_ratio;
00105       ey2[ipoint] = tully_ratio_error;
00106       y3[ipoint] = correct_tratio;
00107       ey3[ipoint] = correct_tratio_error;
00108 
00109       ipoint++;
00110       higgsmass+=10;
00111 
00112       filelist >> line; 
00113 
00114     }
00115  
00116   TGraphErrors *gr1 = new TGraphErrors(n,x,y,ex,ey);
00117   
00118   TGraphErrors *gr2 = new TGraphErrors(n,x,y1,ex,ey1);
00119   TF1 *f6 = new TF1("f6","((91.1876**4)/(x**4))*(8/((1-((2*(91.1876**2))/(x**2)))**2))",182.3752,500);
00120   TF1 *f8 = new TF1("f6","1/(-(R_L(x)/R_T(x))/(R_L(x)/R_T(x)-1))",100,182.3752);
00121 
00122   TGraphErrors *gr3 = new TGraphErrors(n,x,y2,ex,ey2);
00123 
00124   TGraphErrors *gr4 = new TGraphErrors(n,x,y3,ex,ey3);
00125   TF1 *f7 = new TF1("f7","beta(x)",150,500);
00126 
00127   TCanvas *c1 = new TCanvas("c1","alpha",200,10,600,400);
00128 
00129   gr1->SetLineColor(4);
00130   gr1->SetMarkerStyle(7);
00131   gr1->SetMarkerSize(3);
00132   gr1->SetMarkerColor(4);
00133   gr1->SetTitle("#alpha vs. Higgs mass for incorrect boost 1");
00134   gr1->GetXaxis()->SetTitle("Higgs Mass (GeV)");
00135   gr1->GetXaxis()->CenterTitle();
00136   gr1->GetYaxis()->SetTitle("#alpha"); 
00137   gr1->GetYaxis()->CenterTitle();
00138   gr1->Draw("AP");
00139   
00140   TCanvas *c2 = new TCanvas("c2","Ratio",200,10,600,400);
00141   
00142   c2->cd();
00143   gr2->SetLineColor(2);
00144   gr2->SetMarkerStyle(7);
00145   gr2->SetMarkerSize(3);
00146   gr2->SetMarkerColor(2);
00147   gr2->SetTitle("#Gamma_{T}/#Gamma_{L} vs. Higgs Mass (GeV) for incorrect boost 1");
00148   gr2->GetXaxis()->SetTitle("Higgs Mass (GeV)");
00149   gr2->GetXaxis()->CenterTitle();
00150   gr2->GetYaxis()->SetTitle("#Gamma_{T}/#Gamma_{L}");
00151   gr2->GetYaxis()->CenterTitle();
00152   gr2->Draw("AP");
00153   f6->Draw("CSAME");
00154   f8->Draw("CSAME");
00155 
00156   // TCanvas *c3 = new TCanvas("c3","Tully Ratio",200,10,600,400);
00157 
00158   // c3->cd();
00159   //gr3->SetMarkerStyle(7);
00160   //gr3->SetMarkerSize(3);
00161   //gr3->SetTitle("Tully Ratio");
00162   //gr3->GetXaxis()->SetTitle("Higgs Mass (GeV)");
00163   //gr3->Draw("AP");
00164 
00165   TCanvas *c4 = new TCanvas("c4","Correct Tully Ratio",200,10,600,400);
00166   c4->cd();
00167   gr4->SetMarkerStyle(7);
00168   gr4->SetMarkerSize(3);
00169   gr4->SetTitle("Tully Ratio for incorrect boost 1");
00170   gr4->GetXaxis()->SetTitle("Higgs Mass (GeV)");
00171   gr4->GetXaxis()->CenterTitle();
00172   gr4->GetYaxis()->SetTitle("R = #frac{L-T}{L+T}");
00173   gr4->GetYaxis()->CenterTitle();
00174   gr4->Draw("AP");
00175   f7->Draw("CSAME");
00176 }

Generated on Thu Jul 12 14:04:54 2007 for RebassooAnalysis by  doxygen 1.3.9.1