BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
FillValidRecMdcTrackHisto.c File Reference

Go to the source code of this file.

Functions

void FillValidRecMdcTrackHisto (const char *filename="ValidRecMdcTrackNTuple_new.root")

Function Documentation

◆ FillValidRecMdcTrackHisto()

void FillValidRecMdcTrackHisto ( const char * filename = "ValidRecMdcTrackNTuple_new.root")

Definition at line 1 of file FillValidRecMdcTrackHisto.c.

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;
10 float eventNo, Cpa, runNo, Id, Phi0; // kappa;
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; // energy, nhits, path1;
15
16 mdc->SetBranchAddress( "eventNo", &eventNo );
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 // mdc->SetBranchAddress("energy", &energy);
39 // mdc->SetBranchAddress("nhits", &nhits);
40 // mdc->SetBranchAddress("path1", &path1);
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 {
70 mdc->GetEntry( i );
71
72 m_nhits->Fill( nhits );
73 m_eventNo->Fill( eventNo );
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 m_Hits_id->Fill(Hits_id);
88 m_Hits_ddl->Fill(Hits_ddl);
89 m_Hits_ddr->Fill(Hits_ddr);
90 m_doca->Fill(doca);
91 m_Hits_mdc_id->Fill(Hits_mdc_id);
92 m_layer->Fill(layer);
93 m_wire->Fill(wire);
94 m_Hits_tdc->Fill(Hits_tdc);
95 m_Hits_adc->Fill(Hits_adc);
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 );
105 m_doca->Fill( doca );
106 m_Hits_mdc_id->Fill( Hits_mdc_id );
107 m_layer->Fill( layer );
108 m_wire->Fill( wire );
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();
129 m_doca->Write();
130 m_Hits_mdc_id->Write();
131 m_layer->Write();
132 m_wire->Write();
133 m_Hits_tdc->Write();
134 m_Hits_adc->Write();
135
136 fin->Close();
137 fin1->Close();
138 fout1->Close();
139}
std::string mdc
int runNo
Definition DQA_TO_DB.cxx:13
NTuple::Array< double > m_doca
NTuple::Array< double > m_wire
NTuple::Array< double > m_layer
int eventNo