File indexing completed on 2024-09-28 07:03:00
0001
0002
0003
0004 #include <TGraphErrors.h>
0005 #include <TF1.h>
0006 #include <TRandom.h>
0007 #include <TCanvas.h>
0008 #include <TLegend.h>
0009 #include <TMath.h>
0010 #define mpi 0.139
0011
0012 void Plot_eta()
0013 {
0014
0015
0016 gStyle->SetPalette(1);
0017 gStyle->SetOptTitle(0);
0018 gStyle->SetTitleOffset(.85,"X");gStyle->SetTitleOffset(1.0,"Y");
0019 gStyle->SetTitleSize(.05,"X");gStyle->SetTitleSize(.05,"Y");
0020 gStyle->SetLabelSize(.04,"X");gStyle->SetLabelSize(.04,"Y");
0021 gStyle->SetHistLineWidth(2);
0022 gStyle->SetOptFit(1);
0023 gStyle->SetOptStat(0);
0024
0025
0026 TFile *f = TFile::Open("sim.edm4hep.root");
0027 TTree *tree = (TTree*)f->Get("events");
0028
0029
0030 TStopwatch timer;
0031 timer.Start();
0032
0033 TCanvas * c1 = new TCanvas("c1","coutput",1400,1000);
0034 c1->SetMargin(0.10, 0.05 ,0.1,0.05);
0035 c1->SetGridx();
0036
0037 TH1D *hits_vtx_si = new TH1D("hits_vtx_si","hits_vtx_si",200,-4.,4.);
0038 TH1D *hits_barrel_si = new TH1D("hits_barrel_si","hits_barrel_si",200,-4.,4.);
0039 TH1D *hits_barrel_mpgd_in = new TH1D("hits_barrel_mpgd_in","hits_barrel_mpgd_in",200,-4.,4.);
0040 TH1D *hits_barrel_tof = new TH1D("hits_barrel_tof","hits_barrel_tof",200,-4.,4.);
0041 TH1D *hits_disks_si = new TH1D("hits_disks_si","hits_disks_si",200,-4.,4.);
0042 TH1D *hits_endcap_tof = new TH1D("hits_endcap_tof","hits_endcap_tof",200,-4.,4.);
0043 TH1D *hits_barrel_mpgd_out = new TH1D("hits_barrel_mpgd_out","hits_barrel_mpgd_out",200,-4.,4.);
0044 TH1D *hits_fwd_mpgd = new TH1D("hits_fwd_mpgd","hits_fwd_mpgd",200,-4.,4.);
0045 TH1D *hits_bwd_mpgd = new TH1D("hits_bwd_mpgd","hits_bwd_mpgd",200,-4.,4.);
0046 TH1D *hits_b0tracker = new TH1D("hits_b0tracker","hits_b0tracker",200,-4.,4.);
0047
0048 hits_vtx_si->GetXaxis()->SetTitle("#eta");
0049 hits_vtx_si->GetYaxis()->SetTitle("Entries (a.u.)");
0050 hits_vtx_si->GetXaxis()->CenterTitle();
0051 hits_vtx_si->GetYaxis()->CenterTitle();
0052
0053 TString vtx_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(VertexBarrelHits.position.x*VertexBarrelHits.position.x+VertexBarrelHits.position.y*VertexBarrelHits.position.y),VertexBarrelHits.position.z))/2))>>hits_vtx_si";
0054 TString Barrel_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(SiBarrelHits.position.x*SiBarrelHits.position.x+SiBarrelHits.position.y*SiBarrelHits.position.y),SiBarrelHits.position.z))/2))>>hits_barrel_si";
0055 TString BMM_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(MPGDBarrelHits.position.x*MPGDBarrelHits.position.x+MPGDBarrelHits.position.y*MPGDBarrelHits.position.y),MPGDBarrelHits.position.z))/2))>>hits_barrel_mpgd_in";
0056 TString ToF_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(TOFBarrelHits.position.x*TOFBarrelHits.position.x+TOFBarrelHits.position.y*TOFBarrelHits.position.y),TOFBarrelHits.position.z))/2))>>hits_barrel_tof";
0057 TString ETracker_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(TrackerEndcapHits.position.x*TrackerEndcapHits.position.x+TrackerEndcapHits.position.y*TrackerEndcapHits.position.y),TrackerEndcapHits.position.z))/2))>>hits_disks_si";
0058 TString ETOF_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(TOFEndcapHits.position.x*TOFEndcapHits.position.x+TOFEndcapHits.position.y*TOFEndcapHits.position.y),TOFEndcapHits.position.z))/2))>>hits_endcap_tof";
0059 TString OutBMM_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(OuterMPGDBarrelHits.position.x*OuterMPGDBarrelHits.position.x+OuterMPGDBarrelHits.position.y*OuterMPGDBarrelHits.position.y),OuterMPGDBarrelHits.position.z))/2))>>hits_barrel_mpgd_out";
0060 TString FwdMM_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(ForwardMPGDEndcapHits.position.x*ForwardMPGDEndcapHits.position.x+ForwardMPGDEndcapHits.position.y*ForwardMPGDEndcapHits.position.y),ForwardMPGDEndcapHits.position.z))/2))>>hits_fwd_mpgd";
0061 TString BwdMM_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(BackwardMPGDEndcapHits.position.x*BackwardMPGDEndcapHits.position.x+BackwardMPGDEndcapHits.position.y*BackwardMPGDEndcapHits.position.y),BackwardMPGDEndcapHits.position.z))/2))>>hits_bwd_mpgd";
0062 TString B0_hits_eta = "-TMath::Log(TMath::Tan((TMath::ATan2(sqrt(B0TrackerHits.position.x*B0TrackerHits.position.x+B0TrackerHits.position.y*B0TrackerHits.position.y),B0TrackerHits.position.z))/2))>>hits_b0tracker";
0063
0064 tree->Draw(vtx_hits_eta.Data(),"VertexBarrelHits.position.y>0","goff");
0065 tree->Draw(Barrel_hits_eta.Data(),"SiBarrelHits.position.y>0 ","goff");
0066 tree->Draw(BMM_hits_eta.Data(),"MPGDBarrelHits.position.y>0 ","goff");
0067 tree->Draw(ToF_hits_eta.Data(),"TOFBarrelHits.position.y>0","goff");
0068 tree->Draw(ETracker_hits_eta.Data(),"TrackerEndcapHits.position.y>0","goff");
0069 tree->Draw(ETOF_hits_eta.Data(),"TOFEndcapHits.position.y>0","goff");
0070 tree->Draw(OutBMM_hits_eta.Data(),"OuterMPGDBarrelHits.position.y>0","goff");
0071 tree->Draw(FwdMM_hits_eta.Data(),"ForwardMPGDEndcapHits.position.y>0","goff");
0072 tree->Draw(BwdMM_hits_eta.Data(),"BackwardMPGDEndcapHits.position.y>0","goff");
0073 tree->Draw(B0_hits_eta.Data(),"B0TrackerHits.position.y>0","goff");
0074
0075 c1->cd();
0076 c1->SetLogy();
0077 hits_vtx_si->Scale(1./hits_vtx_si->Integral());
0078 hits_barrel_si->Scale(1./hits_barrel_si->Integral());
0079 hits_barrel_mpgd_in->Scale(1./hits_barrel_mpgd_in->Integral());
0080 hits_barrel_tof->Scale(1./hits_barrel_tof->Integral());
0081 hits_disks_si->Scale(1./hits_disks_si->Integral());
0082 hits_endcap_tof->Scale(1./hits_endcap_tof->Integral());
0083 hits_barrel_mpgd_out->Scale(1./hits_barrel_mpgd_out->Integral());
0084 hits_fwd_mpgd->Scale(1./hits_fwd_mpgd->Integral());
0085 hits_bwd_mpgd->Scale(1./hits_bwd_mpgd->Integral());
0086 hits_b0tracker->Scale(1./hits_b0tracker->Integral());
0087 hits_vtx_si->SetLineColor(kBlue);
0088 hits_barrel_si->SetLineColor(kMagenta);
0089 hits_barrel_mpgd_in->SetLineColor(kRed);
0090 hits_barrel_tof->SetLineColor(kBlack);
0091 hits_disks_si->SetLineColor(kGreen);
0092 hits_endcap_tof->SetLineColor(kCyan);
0093 hits_barrel_mpgd_out->SetLineColor(kOrange);
0094 hits_fwd_mpgd->SetLineColor(kAzure);
0095 hits_bwd_mpgd->SetLineColor(kTeal);
0096 hits_b0tracker->SetLineColor(kViolet);
0097
0098
0099 hits_vtx_si->SetMaximum(0.2);
0100 hits_vtx_si->GetXaxis()->SetRangeUser(-4.0,4.0);
0101 hits_vtx_si->Draw("hist");
0102 hits_barrel_si->Draw("hist-same");
0103 hits_barrel_mpgd_in->Draw("hist-same");
0104 hits_barrel_tof->Draw("hist-same");
0105 hits_disks_si->Draw("hist-same");
0106 hits_endcap_tof->Draw("hist-same");
0107 hits_barrel_mpgd_out->Draw("hist-same");
0108 hits_fwd_mpgd->Draw("hist-same");
0109 hits_bwd_mpgd->Draw("hist-same");
0110 hits_b0tracker->Draw("hist-same");
0111
0112 TLegend *l1= new TLegend(0.11,0.75,0.70,0.94);
0113 l1->SetNColumns(2);
0114 l1->SetTextSize(0.025);
0115 l1->SetBorderSize(0);
0116 l1->AddEntry(hits_vtx_si,"VertexBarrelHits");
0117 l1->AddEntry(hits_barrel_si,"SiBarrelHits");
0118 l1->AddEntry(hits_barrel_mpgd_in,"MPGDBarrelHits");
0119 l1->AddEntry(hits_barrel_tof,"TOFBarrelHits");
0120 l1->AddEntry(hits_disks_si,"TrackerEndcapHits");
0121 l1->AddEntry(hits_endcap_tof,"TOFEndcapHits");
0122 l1->AddEntry(hits_barrel_mpgd_out,"OuterMPGDBarrelHits");
0123 l1->AddEntry(hits_fwd_mpgd,"ForwardMPGDEndcapHits");
0124 l1->AddEntry(hits_bwd_mpgd,"BackwardMPGDEndcapHits");
0125 l1->AddEntry(hits_b0tracker,"B0TrackerHits");
0126 l1->Draw("same");
0127 c1->cd();
0128 l1->Draw();
0129 c1->SaveAs("eta_DD4HEP.png");
0130
0131
0132 timer.Stop();
0133 Double_t realtime = timer.RealTime();
0134 Double_t cputime = timer.CpuTime();
0135 printf("RealTime=%f seconds, CpuTime=%f seconds\n",realtime,cputime);
0136
0137 }