BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
aug14_track_eff_ptmom_count_barrel.cxx File Reference
#include "TCanvas.h"
#include "TCut.h"
#include "TFile.h"
#include "TGraph.h"
#include "TGraphErrors.h"
#include "TH1.h"
#include "TString.h"
#include "TText.h"
#include "TTree.h"
#include "cut_pipijpsi.h"
#include <iostream>

Go to the source code of this file.

Functions

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)

Variables

TCut m_cut_three_yes
TCut m_cut_four_yes
TCut m_cut_three_no
TCut m_cut_four_no

Function Documentation

◆ aug14_track_eff_ptmom_count_barrel()

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 )

Definition at line 55 of file aug14_track_eff_ptmom_count_barrel.cxx.

58 {
59
60 gROOT->SetStyle( "BES" );
61 TFile* m_file = new TFile( file_fir_name );
62 TTree* m_tree = (TTree*)m_file->Get( tree_name );
63
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];
66 f_eff( m_tree, m_cut_three_yes, m_cut_four_yes, m_data_eff, m_data_err, m_xcen, m_xerr );
67
68 TFile* m_file2 = new TFile( file_sec_name );
69 TTree* m_tree2 = (TTree*)m_file2->Get( tree_name );
70 f_eff( m_tree2, m_cut_three_no, m_cut_four_no, m_mc_eff, m_mc_err, m_xcen, m_xerr );
71
72 // create the TGraphErrors and draw it
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 );
81
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" );
88 gr_mc->Draw( "P" );
89 c1->Update();
90
91 TText m_text;
92 m_text.SetTextSize( 0.08 );
93 m_text.SetTextColor( 2 );
94 m_text.DrawTextNDC( 0.5, 0.4, "bg 2.4%" );
95
96 m_text.SetTextColor( 4 );
97 m_text.DrawTextNDC( 0.5, 0.3, "bg 12%" );
98
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" );
102
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" );
105}
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)

◆ f_eff()

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 )

Definition at line 28 of file aug14_track_eff_ptmom_count_barrel.cxx.

29 {
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" );
34
35 for ( Int_t i = 1; i < 8; i++ )
36 {
37 m_eff[i - 1] = hpionm->GetBinContent( i )
38 ? hfourm->GetBinContent( i ) / hpionm->GetBinContent( i )
39 : 0;
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 ) ) ) )
43 : 0;
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;
48 }
49}

Referenced by aug14_track_eff_ptmom_count_barrel().

Variable Documentation

◆ m_cut_four_no

TCut m_cut_four_no
Initial value:
= "invjpsi>3.0 && invjpsi<3.2 && pipidang<0.98 && cmslepm<1.7 && "
"cmslepp<1.7 && cmslepm>1.4 && cmslepp>1.4 && mompionm<0.5 && "
"mompionp<0.5 && epratio<1.0 && eveflag==4"

Definition at line 24 of file aug14_track_eff_ptmom_count_barrel.cxx.

Referenced by aug14_track_eff_ptmom_count_barrel().

◆ m_cut_four_yes

TCut m_cut_four_yes
Initial value:
= "invjpsi>3.0 && invjpsi<3.2 && pipidang<0.98 && cmslepm<1.7 && "
"cmslepp<1.7 && cmslepm>1.4 && cmslepp>1.4 && mompionm<0.5 && "
"mompionp<0.5 && Npi0<1 && maxene<0.3 && epratio<0.9 && eveflag==4"

Definition at line 17 of file aug14_track_eff_ptmom_count_barrel.cxx.

Referenced by aug14_track_eff_ptmom_count_barrel().

◆ m_cut_three_no

TCut m_cut_three_no
Initial value:
= "invjpsi>3.0 && invjpsi<3.2 && pipidang<0.98 && cmslepm<1.7 && "
"cmslepp<1.7 && cmslepm>1.4 && cmslepp>1.4 && mompionm<0.5 && "
"mompionp<0.5 && epratio<1.0 && (eveflag==1||eveflag==6 || eveflag==4)"

Definition at line 21 of file aug14_track_eff_ptmom_count_barrel.cxx.

Referenced by aug14_track_eff_ptmom_count_barrel().

◆ m_cut_three_yes

TCut m_cut_three_yes
Initial value:
=
"invjpsi>3.0 && invjpsi<3.2 && pipidang<0.98 && cmslepm<1.7 && cmslepp<1.7 && "
"cmslepm>1.4 && cmslepp>1.4 && mompionm<0.5 && mompionp<0.5 && Npi0<1 && maxene<0.3 && "
"epratio<0.9 && (((eveflag==1||eveflag==6) && missmass<0.25) || eveflag==4)"

Definition at line 13 of file aug14_track_eff_ptmom_count_barrel.cxx.

Referenced by aug14_track_eff_ptmom_count_barrel().