#include <cmath>
Go to the source code of this file.
Functions | |
void | FillMdcKalTrackHist (void) |
void FillMdcKalTrackHist | ( | void | ) |
Definition at line 4 of file FillMdcKalTrackHist.C.
References check_raw_filter::filename, and genRecEmupikp::i.
00004 { 00005 00006 const char* const filename = "MdcKalTrackValidNTuple.root"; 00007 00008 TFile *fin = new TFile(filename); 00009 00010 TTree *r1 = (TTree *)fin->Get("n101"); 00011 //TTree *r3 = (TTree *)fin->Get("n103"); 00012 00013 Double_t zhelixe[5]; 00014 Double_t zhelixmu[5]; 00015 Double_t zhelix[5]; 00016 Double_t zhelixk[5]; 00017 Double_t zhelixp[5]; 00018 00019 Double_t fhelixe[5]; 00020 Double_t fhelixmu[5]; 00021 Double_t fhelix[5]; 00022 Double_t fhelixk[5]; 00023 Double_t fhelixp[5]; 00024 00025 Double_t helix_rec[5]; 00026 Double_t stat[5][2]; 00027 00028 r1->SetBranchAddress("zhelixe", &zhelixe); 00029 r1->SetBranchAddress("zhelixmu", &zhelixmu); 00030 r1->SetBranchAddress("zhelix", &zhelix); 00031 r1->SetBranchAddress("zhelixk", &zhelixk); 00032 r1->SetBranchAddress("zhelixp", &zhelixp); 00033 00034 r1->SetBranchAddress("fhelixe", &fhelixe); 00035 r1->SetBranchAddress("fhelixmu", &fhelixmu); 00036 r1->SetBranchAddress("fhelix", &fhelix); 00037 r1->SetBranchAddress("fhelixk", &fhelixk); 00038 r1->SetBranchAddress("fhelixp", &fhelixp); 00039 00040 r1->SetBranchAddress("stat", &stat); 00041 //r3->SetBranchAddress("trkhelix", &helix_rec); 00042 00043 00044 TFile *fout = new TFile("MdcKalTrackValidHist.root","recreate"); 00045 00046 TH1F *zdr_e = new TH1F("zdr_e", "zdr_e of zhelixe",100,-1,1); 00047 TH1F *zdr_mu = new TH1F("zdr_mu","zdr_mu of zhelixe",100,-1,1); 00048 TH1F *zdr_pi = new TH1F("zdr_pi","zdr_pi of zhelixe",100,-1,1); 00049 TH1F *zdr_k = new TH1F("zdr_k", "zdr_k of zhelixe",100,-1,1); 00050 TH1F *zdr_p = new TH1F("zdr_p", "zdr_p of zhelixe",100,-1,1); 00051 00052 TH1F *zdz_e = new TH1F("zdz_e", "zdz_e of zhelixe",100,-10,10); 00053 TH1F *zdz_mu = new TH1F("zdz_mu","zdz_mu of zhelixe",100,-10,10); 00054 TH1F *zdz_pi = new TH1F("zdz_pi","zdz_pi of zhelixe",100,-10,10); 00055 TH1F *zdz_k = new TH1F("zdz_k", "zdz_k of zhelixe",100,-10,10); 00056 TH1F *zdz_p = new TH1F("zdz_p", "zdz_p of zhelixe",100,-10,10); 00057 00058 00059 TH1F *zpt_e = new TH1F("zpt_e", "zpt of e",100,0,1.5); 00060 TH1F *zpt_mu = new TH1F("zpt_mu","zpt of mu",100,0,1.5); 00061 TH1F *zpt_pi = new TH1F("zpt_pi","zpt of pi",100,0,1.5); 00062 TH1F *zpt_k = new TH1F("zpt_k", "zpt of k",100,0,1.5); 00063 TH1F *zpt_p = new TH1F("zpt_p", "zpt of p",100,0,1.5); 00064 00065 TH1F *zptot_e = new TH1F("zptot_e", "zptot of e",100,0,2); 00066 TH1F *zptot_mu = new TH1F("zptot_mu","zptot of mu",100,0,2); 00067 TH1F *zptot_pi = new TH1F("zptot_pi","zptot of pi",100,0,2); 00068 TH1F *zptot_k = new TH1F("zptot_k", "zptot of k",100,0,2); 00069 TH1F *zptot_p = new TH1F("zptot_p", "zptot of p",100,0,2); 00070 00071 TH1F *dr_rec = new TH1F("dr_rec", "zpt of e",100,-1,1); 00072 TH1F *dz_rec = new TH1F("dz_rec", "zpt of e",100,-10,10); 00073 TH1F *pt_rec = new TH1F("pt_rec", "zpt of e",100,0,1.5); 00074 TH1F *ptot_rec = new TH1F("ptot_rec", "zpt of e",100,0,2); 00075 00076 00077 for(Int_t i=0; i<r1->GetEntries(); i++){ 00078 00079 r1->GetEntry(i); 00080 00081 if(stat[0][0]==0) { 00082 zdr_e->Fill(zhelixe[0]); 00083 zdz_e->Fill(zhelixe[3]); 00084 zpt_e->Fill(1./fabs(zhelixe[2])); 00085 zptot_e->Fill(sqrt(1+zhelixe[4]*zhelixe[4])/fabs(zhelixe[2])); 00086 } 00087 00088 00089 if(stat[1][0]==0) { 00090 zdr_mu->Fill(zhelixmu[0]); 00091 zdz_mu->Fill(zhelixmu[3]); 00092 zpt_mu->Fill(1./fabs(zhelixmu[2])); 00093 zptot_mu->Fill(sqrt(1+zhelixmu[4]*zhelixmu[4])/fabs(zhelixmu[2])); 00094 } 00095 00096 if(stat[2][0]==0) { 00097 zdr_pi->Fill(zhelix[0]); 00098 zdz_pi->Fill(zhelix[3]); 00099 zpt_pi->Fill(1./fabs(zhelix[2])); 00100 zptot_pi->Fill(sqrt(1+zhelix[4]*zhelix[4])/fabs(zhelix[2])); 00101 } 00102 00103 if(stat[3][0]==0) { 00104 zdr_k->Fill(zhelixk[0]); 00105 zdz_k->Fill(zhelixk[3]); 00106 zpt_k->Fill(1./fabs(zhelixk[2])); 00107 zptot_k->Fill(sqrt(1+zhelixk[4]*zhelixk[4])/fabs(zhelixk[2])); 00108 } 00109 00110 if(stat[4][0]==0) { 00111 zdr_p->Fill(zhelixp[0]); 00112 zdz_p->Fill(zhelixp[3]); 00113 zpt_p->Fill(1./fabs(zhelixp[2])); 00114 zptot_p->Fill(sqrt(1+zhelixp[4]*zhelixp[4])/fabs(zhelixp[2])); 00115 } 00116 } 00117 00118 /* 00119 for(Int_t j=0; j<r3->GetEntries(); j++){ 00120 00121 dr_rec->Fill(helix_rec[0]); 00122 dz_rec->Fill(helix_rec[3]); 00123 pt_rec->Fill(1./fabs(helix_rec[2])); 00124 ptot_rec->Fill(sqrt(1+helix_rec[4]*helix_rec[4])/fabs(helix_rec[2])); 00125 } 00126 00127 */ 00128 00129 zdr_e->Write(); 00130 zdr_mu->Write(); 00131 zdr_pi->Write(); 00132 zdr_k->Write(); 00133 zdr_p->Write(); 00134 00135 zdz_e->Write(); 00136 zdz_mu->Write(); 00137 zdz_pi->Write(); 00138 zdz_k->Write(); 00139 zdz_p->Write(); 00140 00141 zpt_e->Write(); 00142 zpt_mu->Write(); 00143 zpt_pi->Write(); 00144 zdr_k->Write(); 00145 zdr_p->Write(); 00146 00147 zptot_e->Write(); 00148 zptot_mu->Write(); 00149 zptot_pi->Write(); 00150 zptot_k->Write(); 00151 zptot_p->Write(); 00152 00153 fin->Close(); 00154 fout->Close(); 00155 }