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

graphderivative.C

Go to the documentation of this file.
00001 
00002 TGraph* derivative(TGraph* input)
00003 {
00004   TGraph * output = new TGraph(input->GetN()-1);
00005   output->SetName(input->GetName()+TString("_derivative"));
00006   
00007   for (int ip=0; ip!=input->GetN()-1;ip++)
00008     {
00009       double x1,x2,y1,y2;
00010       input->GetPoint(ip,x1,y1);
00011       input->GetPoint(ip+1,x2,y2);
00012       
00013       if (x2==x1)
00014         cout<<" 0, I am not happy"<<endl;
00015       else
00016         {
00017           double slope = (y2-y1)/(x2-x1);
00018           output->SetPoint(ip,(x2+x1)/2.,slope);
00019         }
00020     }
00021   return output;
00022 }
00023 TGraph* exponetialdecrease(TGraph* input,bool oppositesign=false)
00024 {
00025   TGraph * output = new TGraph(input->GetN()-1);
00026   output->SetName(input->GetName()+TString("_lambda"));
00027   
00028   for (int ip=0; ip!=input->GetN()-1;ip++)
00029     {
00030       double x1,x2,y1,y2;
00031       input->GetPoint(ip,x1,y1);
00032       input->GetPoint(ip+1,x2,y2);
00033       
00034       if (y2==y1)
00035         cout<<" 0, I am not happy"<<endl;
00036       else
00037         {
00038           double lambda = (x2-x1)/log(y2/y1);
00039           if (oppositesign) lambda*=-1;
00040           output->SetPoint(ip,(x2+x1)/2.,lambda);
00041         }
00042     }
00043   return output;
00044 }
00045 
00046 double x[10]={50,100,150,200,250,300,400,500,600,700};
00047 double width[10]={1e-3, 0.0022, 0.017, 1.36, 3.99, 8.36, 26.5, 60.9, 110.1, 176.9};
00048 
00049 TGraph * width()
00050 {
00051   TGraph * w = new TGraph();
00052   w->SetName("Hwidth");
00053   
00054   for (int i =0;i!=10;i++)
00055     {w->SetPoint(i,x[i],width[i]);}
00056   return w;
00057 }
00058 
00059 
00060 void do(TGraph * ecm)
00061   
00062 {
00063   TCanvas * c = new TCanvas("lambda","***",600,600);
00064   c->cd();
00065   TGraph * l = exponetialdecrease(ecm,true);
00066   l->GetXaxis()->SetTitle("#sqrt{s} [GeV]");
00067   l->GetYaxis()->SetTitle("#lambda(#sqrt{s}) [GeV]");
00068   
00069   TGraph * w = width();
00070   w->GetXaxis()->SetTitle("#sqrt{s} [GeV]");
00071   w->GetYaxis()->SetTitle("#Gamma_{Higgs} [GeV]");
00072   
00073   l->Draw("apl");
00074   w->Draw("ap same");
00075 }

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