/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Validation/ValidRecMdcKalTrack/ValidRecMdcKalTrack-00-00-07/share/FillMdcKalTrackHist.C File Reference

#include <cmath>

Go to the source code of this file.

Functions

void FillMdcKalTrackHist (void)


Function Documentation

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 }


Generated on Tue Nov 29 23:17:22 2016 for BOSS_7.0.2 by  doxygen 1.4.7