1 {
2 TFile* fin = new TFile( filename, "READ" );
3 TTree*
mdc = (TTree*)fin->Get(
"mdcTrack" );
4
5 TFile* fin1 = new TFile( filename, "READ" );
6 TTree* mdc1 = (TTree*)fin1->Get( "mdcHit" );
7
8 int nhits;
9 float Nhits, Nster;
11 float Tanl, Dr, Dz, Chisq, FiTerm;
12 float Hits_ddl, Hits_id;
13 float Hits_ddr, doca, Hits_mdc_id, layer, wire;
14 float Hits_tdc, Hits_adc;
15
17 mdc->SetBranchAddress(
"runNo", &
runNo );
18 mdc->SetBranchAddress(
"nhits", &nhits );
19 mdc->SetBranchAddress(
"Id", &Id );
20 mdc->SetBranchAddress(
"Phi0", &Phi0 );
21 mdc->SetBranchAddress(
"Tanl", &Tanl );
22 mdc->SetBranchAddress(
"Cpa", &Cpa );
23 mdc->SetBranchAddress(
"Dr", &Dr );
24 mdc->SetBranchAddress(
"Dz", &Dz );
25 mdc->SetBranchAddress(
"Chisq", &Chisq );
26 mdc->SetBranchAddress(
"FiTerm", &FiTerm );
27 mdc1->SetBranchAddress( "Hits_id", &Hits_id );
28 mdc1->SetBranchAddress( "Hits_ddl", &Hits_ddl );
29 mdc1->SetBranchAddress( "Hits_ddr", &Hits_ddr );
30 mdc->SetBranchAddress(
"Nhits", &Nhits );
31 mdc->SetBranchAddress(
"Nster", &Nster );
32 mdc1->SetBranchAddress( "doca", &doca );
33 mdc1->SetBranchAddress( "Hits_mdc_id", &Hits_mdc_id );
34 mdc1->SetBranchAddress( "layer", &layer );
35 mdc1->SetBranchAddress( "wire", &wire );
36 mdc1->SetBranchAddress( "Hits_tdc", &Hits_tdc );
37 mdc1->SetBranchAddress( "Hits_adc", &Hits_adc );
38
39
40
41
42 TH1F* m_nhits = new TH1F( "nhits", "nhits", 100, 0, 5000 );
43 TH1F* m_eventNo = new TH1F( "eventNo", "eventNo", 100, 0, 10000 );
44 TH1F* m_runNo = new TH1F( "runNo", "runNo", 100, 0, 100000 );
45 TH1F* m_Id = new TH1F( "Id", "track_id", 100, 0, 100 );
46 TH1F* m_Phi0 = new TH1F( "Phi0", "phi0", 100, 0, 3.14 );
47 TH1F* m_Tanl = new TH1F( "Tanl", "tanl", 100, -300, 300 );
48 TH1F* m_Dr = new TH1F( "Dr", "dr", 100, -300, 300 );
49 TH1F* m_Dz = new TH1F( "Dz", "dz", 100, -300, 300 );
50 TH1F* m_Chisq = new TH1F( "Chisq", "chisq_of_fit", 100, -300, 3000 );
51 TH1F* m_FiTerm = new TH1F( "FiTerm", "phi_terminal", 100, 0, 6.3 );
52 TH1F* m_Nhits = new TH1F( "Nhits", "number_of_hits", 100, 0, 500 );
53 TH1F* m_Nster = new TH1F( "Nster", "number_of_stereo_hits", 100, 0, 5000 );
54 TH1F* m_Cpa = new TH1F( "Cpa", "cpa", 100, 0, 5000 );
55
56 TFile* fout1 = new TFile( "ValidRecMdcTrackHist.root", "recreate" );
57
58 TH1F* m_Hits_id = new TH1F( "Hits_id", "hits_id", 100, 0, 300 );
59 TH1F* m_Hits_ddl = new TH1F( "Hits_ddl", "hits_ddl", 100, -300, 300 );
60 TH1F* m_Hits_ddr = new TH1F( "Hits_ddr", "hits_ddr", 100, -300, 300 );
61 TH1F*
m_doca =
new TH1F(
"doca",
"doca", 100, -300, 300 );
62 TH1F* m_Hits_mdc_id = new TH1F( "Hits_mdc_id", "hits_mdc_id", 100, -300, 300 );
63 TH1F*
m_layer =
new TH1F(
"layer",
"layer", 100, -300, 300 );
64 TH1F*
m_wire =
new TH1F(
"wire",
"wire", 100, -300, 300 );
65 TH1F* m_Hits_tdc = new TH1F( "Hits_tdc", "hits_tdc", 100, -300, 300 );
66 TH1F* m_Hits_adc = new TH1F( "Hits_adc", "hits_adc", 100, -300, 300 );
67
68 for (
int i = 0; i <
mdc->GetEntries(); i++ )
69 {
71
72 m_nhits->Fill( nhits );
74 m_runNo->Fill(
runNo );
75 m_Id->Fill( Id );
76 m_Phi0->Fill( Phi0 );
77 m_Cpa->Fill( Cpa );
78 m_Tanl->Fill( Tanl );
79
80 m_Dr->Fill( Dr );
81 m_Dz->Fill( Dz );
82 m_Chisq->Fill( Chisq );
83 m_FiTerm->Fill( FiTerm );
84 m_Nhits->Fill( Nhits );
85 m_Nster->Fill( Nster );
86
87
88
89
90
91
92
93
94
95
96
97 }
98 for ( int i = 0; i < mdc1->GetEntries(); i++ )
99 {
100 mdc1->GetEntry( i );
101
102 m_Hits_id->Fill( Hits_id );
103 m_Hits_ddl->Fill( Hits_ddl );
104 m_Hits_ddr->Fill( Hits_ddr );
106 m_Hits_mdc_id->Fill( Hits_mdc_id );
109 m_Hits_tdc->Fill( Hits_tdc );
110 m_Hits_adc->Fill( Hits_adc );
111 }
112 m_nhits->Write();
113 m_eventNo->Write();
114 m_runNo->Write();
115 m_Id->Write();
116 m_Phi0->Write();
117 m_Cpa->Write();
118
119 m_Tanl->Write();
120 m_Dr->Write();
121 m_Dz->Write();
122 m_Chisq->Write();
123 m_FiTerm->Write();
124 m_Nhits->Write();
125 m_Nster->Write();
126 m_Hits_id->Write();
127 m_Hits_ddl->Write();
128 m_Hits_ddr->Write();
130 m_Hits_mdc_id->Write();
133 m_Hits_tdc->Write();
134 m_Hits_adc->Write();
135
136 fin->Close();
137 fin1->Close();
138 fout1->Close();
139}
NTuple::Array< double > m_doca
NTuple::Array< double > m_wire
NTuple::Array< double > m_layer