28void f_eff( TTree* m_tree, TCut& cut_all, TCut& cut_four, Double_t* m_eff, Double_t* m_err,
29 Double_t* m_xcen, Double_t* m_xerr ) {
30 TH1F* hpionm =
new TH1F(
"hpionm",
"hpionm", 7, 0.05, 0.4 );
31 TH1F* hfourm =
new TH1F(
"hfourm",
"hfourm", 7, 0.05, 0.4 );
32 m_tree->Draw(
"tppionratiom*mompionm>>hpionm", cut_all +
"fabs(costhe[1])<0.7" );
33 m_tree->Draw(
"tppionratiom*mompionm>>hfourm", cut_four +
"fabs(costhe[1])<0.7" );
35 for ( Int_t i = 1; i < 8; i++ )
37 m_eff[i - 1] = hpionm->GetBinContent( i )
38 ? hfourm->GetBinContent( i ) / hpionm->GetBinContent( i )
40 m_err[i - 1] = m_eff[i - 1] * ( hpionm->GetBinContent( i ) )
41 ? sqrt( ( m_eff[i - 1] ) * ( 1 - m_eff[i - 1] ) /
42 ( ( hpionm->GetBinContent( i ) ) ) )
44 m_xcen[i - 1] = hfourm->GetBinCenter( i );
45 m_xerr[i - 1] = hfourm->GetBinWidth( i ) / 2;
46 cout <<
"pt mom: " << 0.05 + ( i - 1 ) * ( 0.4 - 0.05 ) / 7 <<
" eff: " << m_eff[i - 1]
47 <<
" err: " << m_err[i - 1] << endl;
56 TString file_fir_name =
"../../651_pipijpsi_inclusive.root",
57 TString file_sec_name =
"../../651_pipijpsi_inclusive.root", TCut m_cut_run =
"",
58 TCut m_cut_run =
"", TString tree_name =
"infmom", Int_t m_bins = 7 ) {
60 gROOT->SetStyle(
"BES" );
61 TFile* m_file =
new TFile( file_fir_name );
62 TTree* m_tree = (TTree*)m_file->Get( tree_name );
64 Double_t m_data_eff[7], m_data_err[7], m_mc_eff[7], m_mc_err[7];
65 Double_t m_xcen[7], m_xerr[7];
68 TFile* m_file2 =
new TFile( file_sec_name );
69 TTree* m_tree2 = (TTree*)m_file2->Get( tree_name );
73 TCanvas* c1 =
new TCanvas(
"c1",
"c1", 10, 10, 800, 643 );
74 TGraphErrors* gr_data =
new TGraphErrors( m_bins, m_xcen, m_data_eff, m_xerr, m_data_err );
75 gr_data->SetTitle(
"Tracking effciency of #pi^{-}" );
76 gr_data->GetXaxis()->SetTitle(
"transverse momentum (GeV)" );
77 gr_data->GetYaxis()->SetTitle(
"efficiency" );
78 gr_data->GetYaxis()->SetRangeUser( 0.65, 1.0 );
79 gr_data->SetMarkerColor( 2 );
80 gr_data->SetMarkerStyle( 20 );
82 TGraphErrors* gr_mc =
new TGraphErrors( m_bins, m_xcen, m_mc_eff, m_xerr, m_mc_err );
83 gr_mc->SetMarkerColor( 4 );
84 gr_mc->SetMarkerStyle( 21 );
85 gr_mc->GetXaxis()->SetTitle(
"transverse momentum (GeV)" );
86 gr_mc->GetYaxis()->SetTitle(
"efficiency" );
87 gr_data->Draw(
"AP" );
92 m_text.SetTextSize( 0.08 );
93 m_text.SetTextColor( 2 );
94 m_text.DrawTextNDC( 0.5, 0.4,
"bg 2.4%" );
96 m_text.SetTextColor( 4 );
97 m_text.DrawTextNDC( 0.5, 0.3,
"bg 12%" );
99 m_text.SetTextColor( 1 );
100 m_text.DrawTextNDC( 0.5, 0.2,
"651, Barrel" );
101 m_text.DrawTextNDC( 0.5, 0.5,
"Inclusive MC" );
103 c1->Print(
"figs/nov30_track_eff_ptmom_count_barrel_651_bg_study.eps" );
104 c1->Print(
"figs/nov30_track_eff_ptmom_count_barrel_651_bg_study.pdf" );
void f_eff(TTree *m_tree, TCut &cut_all, TCut &cut_four, Double_t *m_eff, Double_t *m_err, Double_t *m_xcen, Double_t *m_xerr)
void aug14_track_eff_ptmom_count_barrel(TString file_fir_name="../../651_pipijpsi_inclusive.root", TString file_sec_name="../../651_pipijpsi_inclusive.root", TCut m_cut_run="", TCut m_cut_run="", TString tree_name="infmom", Int_t m_bins=7)