00001 void vertEff(char *file){
00002
00003 gSystem->Load("$HOME/MyEvent/MyEvent");
00004
00005 TFile *f=new TFile(file,"OPEN");
00006 TTree *myEventTree=(TTree*)f->Get("mEventTree");
00007 MyEvent *ev=new MyEvent();
00008 myEventTree->SetBranchAddress("branch",&ev);
00009
00010
00011 TH1F *h_vert_all=new TH1F("h_vert_all","vertex hijing",160,-80.,80.);
00012 TH1F *h_vert_no=new TH1F("h_vert_no","vertex hijing, no prim.",160,-80.,80.);
00013 TH1F *h_pion_all=new TH1F("h_pion_all","hijing pions",12,0.,6.);
00014 TH1F *h_pion_no=new TH1F("h_pion_no","hijing pions, no prim",12,0.,6.);
00015 TH1F *h_pion_reco=new TH1F("h_pion_reco","hijing pions, prim",12,0.,6.);
00016 TH1F *h_vert_res=new TH1F("h_vert_res","vertex resolution",200,-50.,50.);
00017
00018 TH1F *h_gg_all=new TH1F("h_gg_all","good globals",100,0.,100.);
00019 TH1F *h_gg_reco=new TH1F("h_gg_reco","good globals (vtx reco.)",100,0.,100.);
00020
00021 h_vert_all->Sumw2();
00022 h_vert_no->Sumw2();
00023 h_pion_all->Sumw2();
00024 h_pion_no->Sumw2();
00025 h_pion_reco->Sumw2();
00026 h_vert_res->Sumw2();
00027
00028 Int_t i=0;
00029
00030 int n_ev=0;
00031 int n_ev_no=0;
00032
00033 while(myEventTree->GetEntry(i)){
00034
00035 n_ev++;
00036
00037
00038 TVector3 vert=ev->vertex();
00039
00040 h_gg_all->Fill(ev->goodGlobals());
00041 if(fabs(vert.Z())>0.0000001){
00042 h_gg_reco->Fill(ev->goodGlobals());
00043 }
00044
00045
00046 TClonesArray *clP=ev->getMcPionArray();
00047 if(fabs(vert.Z())>0.0000001){
00048 h_vert_res->Fill(vert.Z()-ev->zdcVertexZ());
00049 }
00050
00051 h_vert_all->Fill(ev->zdcVertexZ());
00052 for(int i_p=0;i_p<ev->numberOfMcPions();i_p++){
00053 MyMcTrack *pion=(MyMcTrack*)clP->At(i_p);
00054 if(pion->momentum().PseudoRapidity()>0.&&pion->momentum().PseudoRapidity()<1.){
00055 h_pion_all->Fill(pion->momentum().Pt());
00056 if(fabs(vert.Z())<0.0000001){
00057 h_pion_no->Fill(pion->momentum().Pt());
00058 }
00059 else h_pion_reco->Fill(pion->momentum().Pt());
00060 }
00061 }
00062
00063
00064
00065 if(fabs(vert.Z())<0.0000001){
00066 n_ev_no++;
00067 h_vert_no->Fill(ev->zdcVertexZ());
00068 }
00069
00070 i++;
00071 }
00072
00073 TCanvas *c=new TCanvas("c","c",600,900);
00074 c->Divide(2,3);
00075 c->cd(1);
00076 gPad->SetLogy();
00077 h_vert_all->Draw();
00078 h_vert_all->SetMinimum(1.);
00079 h_vert_no->SetLineColor(4);
00080 h_vert_no->DrawCopy("same");
00081 c->cd(2);
00082 h_vert_no->Divide(h_vert_all);
00083 h_vert_no->Draw();
00084 c->cd(3);
00085 gPad->SetLogy();
00086 h_pion_all->Scale(1./n_ev);
00087 h_pion_all->Draw();
00088 h_pion_no->Scale(1./n_ev_no);
00089 h_pion_no->SetLineColor(4);
00090 h_pion_no->DrawCopy("same");
00091 c->cd(4);
00092 h_pion_reco->Scale(1./n_ev);
00093 h_pion_reco->Divide(h_pion_all);
00094 h_pion_reco->Draw();
00095 c->cd(5);
00096 gPad->SetLogy();
00097 h_vert_res->Draw();
00098 c->SaveAs("hijing_vert.root");
00099 }