Go to the source code of this file.
Functions | |
void | vtxFit () |
void vtxFit | ( | ) |
Definition at line 1 of file vtxFit.cxx.
References genRecEmupikp::i, and t().
00001 { 00002 00003 Double_t chik, kvx, kvy, kvz, ndofk, probk; 00004 TChain* t = new TChain("kalvtx"); 00005 t->Add("run_0009903_dst_pvtx2.root"); 00006 t->Add("run_0009903_dst_pvtx3.root"); 00007 t->SetBranchAddress("chik", &chik ); 00008 t->SetBranchAddress("kvx", &kvx ); 00009 t->SetBranchAddress("kvy", &kvy ); 00010 t->SetBranchAddress("kvz", &kvz ); 00011 t->SetBranchAddress("ndofk", &ndofk ); 00012 t->SetBranchAddress("probk", &probk ); 00013 00014 Int_t nentries = (Int_t) t->GetEntries(); 00015 00016 TH1D* m_vertex_x_kal = new TH1D("x of vertex in kal", "x of vertex in kal", 60, -0.6, 0.6); 00017 TH1D* m_vertex_y_kal = new TH1D("y of vertex in kal", "y of vertex in kal", 60, -0.6, 0.1); 00018 TH1D* m_vertex_z_kal = new TH1D("z of vertex in kal", "z of vertex in kal", 60, -6, 6); 00019 00020 for( Int_t i=0; i<nentries; i++ ) { 00021 t->GetEntry(i); 00022 m_vertex_x_kal->Fill(kvx); 00023 m_vertex_y_kal->Fill(kvy); 00024 m_vertex_z_kal->Fill(kvz); 00025 } 00026 00027 00028 TCanvas *myC = new TCanvas("myC", "myC", 1200, 400); 00029 TPad *background = (TPad*)gPad; 00030 background->SetFillColor(10); 00031 myC->Divide(3,1); 00032 myC->cd(1); 00033 00034 TF1 *func = new TF1("func", "gaus", -0.6, 0.6); 00035 m_vertex_x_kal->Fit("func", "R+"); 00036 Double_t MeanXKal = func->GetParameter(1); 00037 Double_t SigmaXKal = func->GetParameter(2); 00038 Double_t ErrMeanXKal = func->GetParError(1); 00039 Double_t ErrSigmaXKal = func->GetParError(2); 00040 00041 myC->cd(2); 00042 TF1 *funcY = new TF1("funcY", "gaus", -0.6, 0.1); 00043 m_vertex_y_kal->Fit("funcY", "R+"); 00044 Double_t MeanYKal = funcY->GetParameter(1); 00045 Double_t SigmaYKal = funcY->GetParameter(2); 00046 Double_t ErrMeanYKal = funcY->GetParError(1); 00047 Double_t ErrSigmaYKal = funcY->GetParError(2); 00048 00049 myC->cd(3); 00050 TF1 *funcZ = new TF1("funcZ", "gaus", -6, 6); 00051 m_vertex_z_kal->Fit("funcZ", "R+"); 00052 Double_t MeanZKal = funcZ->GetParameter(1); 00053 Double_t SigmaZKal = funcZ->GetParameter(2); 00054 Double_t ErrMeanZKal = funcZ->GetParError(1); 00055 Double_t ErrSigmaZKal = funcZ->GetParError(2); 00056 00057 cout << "Kal: Mean X, Y, Z = "<<MeanXKal << " " << MeanYKal << " " << MeanZKal << endl; 00058 cout << "Kal: Sigma X, Y, Z = "<<SigmaXKal<<" " <<SigmaYKal <<" " << SigmaZKal << endl; 00059 00060 figs_name = "figs.ps"; 00061 myC->SaveAs(figs_name); 00062 00063 //ofstream file(file_name); 00064 00065 cout << MeanXKal << " "<< MeanYKal << " "<< MeanZKal << " "<< SigmaXKal << " " << SigmaYKal << " " << SigmaZKal << endl; 00066 cout << ErrMeanXKal << " " << ErrMeanYKal<< " " << ErrMeanZKal << " " << ErrSigmaXKal << " " << ErrSigmaYKal << " " << ErrSigmaZKal << endl; 00067 00068 00069 return; 00070 00071 }