88 {
89 MsgStream log(
msgSvc(), name() );
90 log << MSG::INFO << "in initialize()" << endmsg;
91
92 StatusCode sc = service( "THistSvc", m_thsvc );
93 if ( sc.isFailure() )
94 {
95 log << MSG::FATAL << "Couldn't get THistSvc" << endmsg;
96 exit( 1 );
97 }
98
99 for ( int i = 0; i < 15; i++ ) { m_sel_number[i] = 0; }
100
101
102
103
104 m_vertex_x = new TH1D( "x_of_vertex", "x of vertex", 200, -5, 5 );
105 m_vertex_y = new TH1D( "y_of_vertex", "y of vertex", 200, -5, 5 );
106 m_vertex_z = new TH1D( "z_of_vertex", "z of vertex", 200, -10, 10 );
107 m_vertex_x_kal = new TH1D( "x_of_vertex_in_kal", "x of vertex in kal", 200, -5, 5 );
108 m_vertex_y_kal = new TH1D( "y_of_vertex_in_kal", "y of vertex in kal", 200, -5, 5 );
109 m_vertex_z_kal = new TH1D( "z_of_vertex_in_kal", "z of vertex in kal", 200, -10, 10 );
110 if ( m_thsvc->regHist( "/DQAHist/zhsVER/x_of_vertex", m_vertex_x ).isFailure() )
111 {
112 log << MSG::FATAL << "Couldn't register x of vertex " << endmsg;
113 exit( 1 );
114 }
115 if ( m_thsvc->regHist( "/DQAHist/zhsVER/y_of_vertex", m_vertex_y ).isFailure() )
116 {
117 log << MSG::FATAL << "Couldn't register y of vertex" << endmsg;
118 exit( 1 );
119 }
120 if ( m_thsvc->regHist( "/DQAHist/zhsVER/z_of_vertex", m_vertex_z ).isFailure() )
121 {
122 log << MSG::FATAL << "Couldn't register z of vertex" << endmsg;
123 exit( 1 );
124 }
125 if ( m_thsvc->regHist( "/DQAHist/zhsVER/x_of_vertex_in_kal", m_vertex_x_kal ).isFailure() )
126 {
127 log << MSG::FATAL << "Couldn't register x of vertex in kal" << endmsg;
128 exit( 1 );
129 }
130 if ( m_thsvc->regHist( "/DQAHist/zhsVER/y_of_vertex_in_kal", m_vertex_y_kal ).isFailure() )
131 {
132 log << MSG::FATAL << "Couldn't register y of vertex in kal" << endmsg;
133 exit( 1 );
134 }
135 if ( m_thsvc->regHist( "/DQAHist/zhsVER/z_of_vertex_in_kal", m_vertex_z_kal ).isFailure() )
136 {
137 log << MSG::FATAL << "Couldn't register z of vertex in kal" << endmsg;
138 exit( 1 );
139 }
140
141
142 StatusCode status;
143
144 NTuplePtr nt1(
ntupleSvc(),
"FILE1/minid" );
145 if ( nt1 ) m_tuple1 = nt1;
146 else
147 {
148 m_tuple1 =
ntupleSvc()->book(
"FILE1/minid", CLID_ColumnWiseTuple,
"minimal distance" );
149 if ( m_tuple1 )
150 {
151 status = m_tuple1->addItem( "xc", m_xc );
152 status = m_tuple1->addItem( "yc", m_yc );
153 status = m_tuple1->addItem( "zc", m_zc );
154 status = m_tuple1->addItem( "mind", m_mind );
155 }
156 else
157 {
158 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple1 ) << endmsg;
159 return StatusCode::FAILURE;
160 }
161 }
162
163 NTuplePtr nt2(
ntupleSvc(),
"FILE1/chisq" );
164 if ( nt2 ) m_tuple2 = nt2;
165 else
166 {
167 m_tuple2 =
ntupleSvc()->book(
"FILE1/chisq", CLID_ColumnWiseTuple,
"chi-square of " );
168 if ( m_tuple2 )
169 {
170 status = m_tuple2->addItem( "chis", m_chis );
171 status = m_tuple2->addItem( "probs", m_probs );
172 status = m_tuple2->addItem( "chif", m_chif );
173 status = m_tuple2->addItem( "probf", m_probf );
174 }
175 else
176 {
177 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple2 ) << endmsg;
178 return StatusCode::FAILURE;
179 }
180 }
181
182 NTuplePtr nt3(
ntupleSvc(),
"FILE1/kalvtx" );
183 if ( nt3 ) m_tuple3 = nt3;
184 else
185 {
186 m_tuple3 =
ntupleSvc()->book(
"FILE1/kalvtx", CLID_ColumnWiseTuple,
"kalman vertex" );
187 if ( m_tuple3 )
188 {
189 status = m_tuple3->addItem( "kvx", m_kvx );
190 status = m_tuple3->addItem( "kvy", m_kvy );
191 status = m_tuple3->addItem( "kvz", m_kvz );
192 status = m_tuple3->addItem( "chik", m_chik );
193 status = m_tuple3->addItem( "ndofk", m_ndofk );
194 status = m_tuple3->addItem( "probk", m_probk );
195 }
196 else
197 {
198 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple3 ) << endmsg;
199 return StatusCode::FAILURE;
200 }
201 }
202
203 NTuplePtr nt4(
ntupleSvc(),
"FILE1/glbvtx" );
204 if ( nt4 ) m_tuple4 = nt4;
205 else
206 {
207 m_tuple4 =
ntupleSvc()->book(
"FILE1/glbvtx", CLID_ColumnWiseTuple,
"global vertex" );
208 if ( m_tuple4 )
209 {
210 status = m_tuple4->addItem( "gvx", m_gvx );
211 status = m_tuple4->addItem( "gvy", m_gvy );
212 status = m_tuple4->addItem( "gvz", m_gvz );
213 status = m_tuple4->addItem( "chig", m_chig );
214 status = m_tuple4->addItem( "ndofg", m_ndofg );
215 status = m_tuple4->addItem( "probg", m_probg );
216 }
217 else
218 {
219 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple4 ) << endmsg;
220 return StatusCode::FAILURE;
221 }
222 }
223
224 NTuplePtr nt5(
ntupleSvc(),
"FILE1/Pull" );
225 if ( nt5 ) m_tuple5 = nt5;
226 else
227 {
228 m_tuple5 =
ntupleSvc()->book(
"FILE1/Pull", CLID_ColumnWiseTuple,
"Pull" );
229 if ( m_tuple5 )
230 {
231 status = m_tuple5->addItem( "pull_drho", m_pull_drho );
232 status = m_tuple5->addItem( "pull_phi", m_pull_phi );
233 status = m_tuple5->addItem( "pull_kapha", m_pull_kapha );
234 status = m_tuple5->addItem( "pull_dz", m_pull_dz );
235 status = m_tuple5->addItem( "pull_lamb", m_pull_lamb );
236 status = m_tuple5->addItem( "pull_momentum", m_pull_momentum );
237 }
238 else
239 {
240 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple5 ) << endmsg;
241 return StatusCode::FAILURE;
242 }
243 }
244
245 NTuplePtr nt6(
ntupleSvc(),
"FILE1/MdcTrack" );
246 if ( nt6 ) m_tuple6 = nt6;
247 else
248 {
249 m_tuple6 =
ntupleSvc()->book(
"FILE1/MdcTrack", CLID_ColumnWiseTuple,
"MdcTrack" );
250 if ( m_tuple6 )
251 {
252 status = m_tuple6->addItem( "MdcTrkX", m_mdcTrk_x );
253 status = m_tuple6->addItem( "MdcTrkY", m_mdcTrk_y );
254 status = m_tuple6->addItem( "MdcTrkZ", m_mdcTrk_z );
255 status = m_tuple6->addItem( "MdcTrkR", m_mdcTrk_r );
256 status = m_tuple6->addItem( "MdcTrkDrho", m_mdcTrk_dr );
257 status = m_tuple6->addItem( "Rxy", m_rxy );
258 status = m_tuple6->addItem( "MdcKalTrkZ", m_mdcKalTrk_z );
259 }
260 else
261 {
262 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple6 ) << endmsg;
263 return StatusCode::FAILURE;
264 }
265 }
266
267 NTuplePtr nt7(
ntupleSvc(),
"FILE1/PullG" );
268 if ( nt7 ) m_tuple7 = nt7;
269 else
270 {
271 m_tuple7 =
ntupleSvc()->book(
"FILE1/PullG", CLID_ColumnWiseTuple,
"Pull" );
272 if ( m_tuple7 )
273 {
274 status = m_tuple7->addItem( "gpull_drho", m_gpull_drho );
275 status = m_tuple7->addItem( "gpull_phi", m_gpull_phi );
276 status = m_tuple7->addItem( "gpull_kapha", m_gpull_kapha );
277 status = m_tuple7->addItem( "gpull_dz", m_gpull_dz );
278 status = m_tuple7->addItem( "gpull_lamb", m_gpull_lamb );
279 }
280 else
281 {
282 log << MSG::FATAL << "Cannot book N-tuple:" << long( m_tuple7 ) << endmsg;
283 return StatusCode::FAILURE;
284 }
285 }
286
287 log << MSG::INFO << "successfully return from initialize()" << endmsg;
288 return StatusCode::SUCCESS;
289}