CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Mdc/MdcTables/MdcTables-00-00-11/MdcTables/MdstTables.h
Go to the documentation of this file.
1#ifndef _MdstTables_h_
2#define _MdstTables_h_
3
4#include <string>
5#include <iostream>
6#include <vector>
7
8#include "MdcTables/HepevtTables.h"
9
10using namespace std;
11
12//
13//*** MDST v.2.30. Run header
14//
15class Mdst_run_head {
16public:
18public:
19 int id;
20 int version;
21 int data_type;
22 int exp_no;
23 int run_no;
24};
25
26class MdstRunHeadCol {
27public:
28 static vector<Mdst_run_head>* getMdstRunHeadCol(void);
29private:
30 static vector<Mdst_run_head>* s_col;
31};
32
33
34//
35//*** Run trailer
36//
37class Mdst_run_end {
38public:
40public:
41 int id;
42 int exp_no;
43 int run_no;
44};
45
46class MdstRunEndCol {
47public:
48 static vector<Mdst_run_end>* getMdstRunEndCol(void);
49private:
50 static vector<Mdst_run_end>* s_col;
51};
52
53
54//
55//*** Event header
56//
57class Mdst_event {
58public:
60public:
61 int id;
62 int exp_no;
63 int run_no;
64 int event_no;
65 int trigger;
66 int date;
67 int time;
68};
69
70class MdstEventCol {
71public:
72 static vector<Mdst_event>* getMdstEventCol(void);
73private:
74 static vector<Mdst_event>* s_col;
75};
76
77
78//
79//***Additional event header
80//
81class Mdst_event_add {
82public:
84public:
85 int id;
86 float scale;
87 int flag[5];
88};
89
90class MdstEventAddCol {
91public:
92 static vector<Mdst_event_add>* getMdstEventAddCol(void);
93private:
94 static vector<Mdst_event_add>* s_col;
95};
96
97
98//
99//*** Data quality in the current event
100//
101class Mdst_quality {
102public:
104public:
105 int id;
106 char name[4];
107 int quality;
108};
109
110class MdstQualityCol {
111public:
112 static vector<Mdst_quality>* getMdstQualityCol(void);
113private:
114 static vector<Mdst_quality>* s_col;
115};
116
117
118//
119//*** Reconstructed charged tracks.
120//
121class Mdst_trk;
122class Mdst_acc;
123class Mdst_tof;
124class Mdst_muid;
125class Mdst_charged {
126public:
128public:
129 int id;
130 float charge;
131 float px;
132 float py;
133 float pz;
134 float mass;
135 int used_pid;
136 float pid_e;
137 float pid_mu;
138 float pid_pi;
139 float pid_K;
140 float pid_p;
141 // int elid;
142 Mdst_trk * trk;
143 Mdst_acc * acc;
144 Mdst_tof * tof;
145 // Mdst_klm * klm;
146 Mdst_muid * muid;
147};
148
149class MdstChargedCol {
150public:
151 static vector<Mdst_charged>* getMdstChargedCol(void);
152private:
153 static vector<Mdst_charged>* s_col;
154};
155
156
157//
158//*** Reconstructed V0-particles, i.e. Ks, Lambda,
159//*** Lambda-bar, converted-gamma.
160//
162class Mdst_vee2 {
163public:
165public:
166 int id;
167 int kind;
168 Mdst_charged * chgd[2];
169 float p[4];
170 float v[3];
171 float z_dist;
172 float chisq;
173 int type;
175};
176
177class MdstVee2Col {
178public:
179 static vector<Mdst_vee2>* getMdstVee2Col(void);
180private:
181 static vector<Mdst_vee2>* s_col;
182};
183
184
185//
186//*** Track params. and error matrix of V0 daughters
187//*** before the vtx-constraint fit.
188//
189class Mdst_vee_daughters {
190public:
192public:
193 int id;
194 float helix_p[5];
195 float helix_m[5];
196 float error_p[15];
197 float error_m[15];
198};
199
201public:
202 static vector<Mdst_vee_daughters>* getMdstVeeDaughtersCol(void);
203private:
204 static vector<Mdst_vee_daughters>* s_col;
205};
206
207
208//
209//*** Reconstructed gamma's.
210//
211class Mdst_ecl;
212class Mdst_efc;
213class Mdst_gamma {
214public:
216public:
217 int id;
218 float px;
219 float py;
220 float pz;
221 Mdst_ecl * ecl;
222 Mdst_efc * efc;
223};
224
225class MdstGammaCol {
226public:
227 static vector<Mdst_gamma>* getMdstGammaCol(void);
228private:
229 static vector<Mdst_gamma>* s_col;
230};
231
232
233//
234//*** Reconstructed pi0's.
235//
236class Mdst_pi0 {
237public:
239public:
240 int id;
241 Mdst_gamma * gamma[2];
242 float px;
243 float py;
244 float pz;
245 float energy;
246 float mass;
247 float chisq;
248};
249
250class MdstPi0Col {
251public:
252 static vector<Mdst_pi0>* getMdstPi0Col(void);
253private:
254 static vector<Mdst_pi0>* s_col;
255};
256
257
258//
259//*** Reconstructed K-long's.
260//
261class Mdst_ecl;
262class Mdst_klm_cluster;
263class Mdst_klong {
264public:
266public:
267 int id;
268 float cos_x;
269 float cos_y;
270 float cos_z;
271 Mdst_ecl * ecl;
272 // Mdst_klm * klm;
274};
275
276class MdstKlongCol {
277public:
278 static vector<Mdst_klong>* getMdstKlongCol(void);
279private:
280 static vector<Mdst_klong>* s_col;
281};
282
283
284//
285//*** Muon ID information.
286//
287class Mdst_klm_mu;
288class Mdst_muid {
289public:
291public:
292 int id;
293 int quality;
294 int muon;
296};
297
298class MdstMuidCol {
299public:
300 static vector<Mdst_muid>* getMdstMuidCol(void);
301private:
302 static vector<Mdst_muid>* s_col;
303};
304
305
306//
307//*** TRK(=CDC plus SVD) information.
308//
309class Mdst_trk_fit;
310class Mdst_trk {
311public:
313public:
314 int id;
315 Mdst_trk_fit * mhyp[5];
316 int quality;
317 int quality_dedx;
318 float dEdx;
319 float dEdx_exp[5];
320 float sigma_dEdx[5];
321 float pid_e;
322 float pid_mu;
323 float pid_pi;
324 float pid_K;
325 float pid_p;
326};
327
328class MdstTrkCol {
329public:
330 static vector<Mdst_trk>* getMdstTrkCol(void);
331private:
332 static vector<Mdst_trk>* s_col;
333};
334
335
336//
337//***
338//
339class Mdst_trk_add {
340public:
342public:
343 int id;
344 int stat[10];
345 float buff[10];
346};
347
348class MdstTrkAddCol {
349public:
350 static vector<Mdst_trk_add>* getMdstTrkAddCol(void);
351private:
352 static vector<Mdst_trk_add>* s_col;
353};
354
355
356//
357//*** Track fit results with multiple mass hypotheses.
358//
359class Mdst_trk_fit {
360public:
362public:
363 int id;
364 int quality;
365 int hit_cdc[2];
366 int hit_svd;
367 int nhits[5];
368 float mass;
369 float pivot_x;
370 float pivot_y;
371 float pivot_z;
372 float helix[5];
373 float error[15];
374 float chisq;
375 int ndf;
376 float first_x;
377 float first_y;
378 float first_z;
379 float last_x;
380 float last_y;
381 float last_z;
382};
383
384class MdstTrkFitCol {
385public:
386 static vector<Mdst_trk_fit>* getMdstTrkFitCol(void);
387private:
388 static vector<Mdst_trk_fit>* s_col;
389};
390
391
392//
393//*** ACC (Aerogel Cherenkov Counter) information.
394//
395class Mdst_acc {
396public:
398public:
399 int id;
400 int quality;
401 int fire;
402 float photo_electron;
403 float pid_e;
404 float pid_mu;
405 float pid_pi;
406 float pid_K;
407 float pid_p;
408};
409
410class MdstAccCol {
411public:
412 static vector<Mdst_acc>* getMdstAccCol(void);
413private:
414 static vector<Mdst_acc>* s_col;
415};
416
417
418//
419//*** TOF (Time Of Flight counter) information.
420//
421class Mdst_tof {
422public:
424public:
425 int id;
426 int quality;
427 float path_length;
428 float tof;
429 float tof_exp[5];
430 float sigma_tof;
431 float ndf[5];
432 float pid_e;
433 float pid_mu;
434 float pid_pi;
435 float pid_K;
436 float pid_p;
437 float cl_e;
438 float cl_mu;
439 float cl_pi;
440 float cl_K;
441 float cl_p;
442};
443
444class MdstTofCol {
445public:
446 static vector<Mdst_tof>* getMdstTofCol(void);
447private:
448 static vector<Mdst_tof>* s_col;
449};
450
451
452//
453//*** ECL (Electromagnetic CaLorimeter) information.
454//
455class Mdst_ecl {
456public:
458public:
459 int id;
460 int match;
461 int quality;
462 float energy;
463 float phi;
464 float theta;
465 float r;
466 float error[6];
467 int electron;
468};
469
470class MdstEclCol {
471public:
472 static vector<Mdst_ecl>* getMdstEclCol(void);
473private:
474 static vector<Mdst_ecl>* s_col;
475};
476
477
478//
479//*** ECL (Electromagnetic Calorimeter) information add on.
480//
481class Mdst_ecl_cr;
482class Mdst_ecl_aux {
483public:
485public:
486 int id;
487 float mass;
488 float width;
489 float e9oe25;
490 float e9oe25unf;
491 float seed;
492 int cId;
493 float property[10];
494 int nhits;
495 Mdst_ecl_cr * cr;
496 Mdst_trk * trk;
497};
498
499class MdstEclAuxCol {
500public:
501 static vector<Mdst_ecl_aux>* getMdstEclAuxCol(void);
502private:
503 static vector<Mdst_ecl_aux>* s_col;
504};
505
506
507//
508//*** ECL (Electromagnetic Calorimeter) information- Connected
509//*** Region(super-cluster): not calibrated yet.
510//
511class Mdst_ecl_cr {
512public:
514public:
515 int id;
516 int match;
517 int quality;
518 float energy;
519 float phi;
520 float theta;
521 float r;
522 float mass;
523 float width;
524 float property[10];
525 int nhits;
526 int nshowers;
527};
528
529class MdstEclCrCol {
530public:
531 static vector<Mdst_ecl_cr>* getMdstEclCrCol(void);
532private:
533 static vector<Mdst_ecl_cr>* s_col;
534};
535
536
537//
538//*** TRK to ECL match information.
539//
540class Mdst_ecl_trk {
541public:
543public:
544 int id;
545 Mdst_ecl * ecl;
546 Mdst_trk * trk;
547 int type;
548 int cId;
549 float x[3];
550 float p[3];
551 float error[21];
552};
553
554class MdstEclTrkCol {
555public:
556 static vector<Mdst_ecl_trk>* getMdstEclTrkCol(void);
557private:
558 static vector<Mdst_ecl_trk>* s_col;
559};
560
561
562//
563//*** Cluster information of KLM.
564//
565class Mdst_klm_cluster {
566public:
568public:
569 int id;
570 Mdst_trk * trk;
571 Mdst_ecl * ecl;
572 int quality;
573 int layers;
574 int first_layer;
575 float phi;
576 float theta;
577 float error[3];
578};
579
580class MdstKlmClusterCol {
581public:
582 static vector<Mdst_klm_cluster>* getMdstKlmClusterCol(void);
583private:
584 static vector<Mdst_klm_cluster>* s_col;
585};
586
587
588//
589//*** Extended muon ID information related to KLM.
590//
591class Mdst_klm_mu {
592public:
594public:
595 int id;
596 float absp_len_pas;
597 float absp_len_hit;
598 int layer_pas;
599 int layer_hit;
600};
601
602class MdstKlmMuCol {
603public:
604 static vector<Mdst_klm_mu>* getMdstKlmMuCol(void);
605private:
606 static vector<Mdst_klm_mu>* s_col;
607};
608
609
610//
611//*** Muon ID Extended Information.
612//
613class Mdst_klm_mu_ex {
614public:
616public:
617 int id;
619 float Muon_likelihood;
620 float Pion_likelihood;
621 float Kaon_likelihood;
622 float Miss_likelihood;
623 float Junk_likelihood;
624 int Outcome;
625 float Chi_2;
626 int N_hits;
627 int N_strips;
628 int Layer_trk_brl;
629 int Layer_trk_end;
630 int Layer_hit_brl;
631 int Layer_hit_end;
632 int N_layer_trk_brl;
633 int N_layer_trk_end;
634 int N_layer_hit_brl;
635 int N_layer_hit_end;
636 int Trk_pattern;
637 int Hit_pattern;
638};
639
640class MdstKlmMuExCol {
641public:
642 static vector<Mdst_klm_mu_ex>* getMdstKlmMuExCol(void);
643private:
644 static vector<Mdst_klm_mu_ex>* s_col;
645};
646
647
648//
649//*** EFC (Extreme Forward Calorimeter) information.
650//
651class Mdst_efc {
652public:
654public:
655 int id;
656 int quality[2];
657 float energy;
658 float phi;
659 float theta;
660 float error[6];
661};
662
663class MdstEfcCol {
664public:
665 static vector<Mdst_efc>* getMdstEfcCol(void);
666private:
667 static vector<Mdst_efc>* s_col;
668};
669
670
671//
672//*** Cross reference between track and hepevt
673//
674class Mdst_sim_trk {
675public:
677public:
678 int id;
679 Mdst_trk * trk;
681 float relation[3];
682};
683
684class MdstSimTrkCol {
685public:
686 static vector<Mdst_sim_trk>* getMdstSimTrkCol(void);
687private:
688 static vector<Mdst_sim_trk>* s_col;
689};
690
691
692//
693//*** Cross reference between shower and hepevt
694//
695class Mdst_sim_ecl {
696public:
698public:
699 int id;
700 Mdst_ecl * ecl;
702 float relation[3];
703};
704
705class MdstSimEclCol {
706public:
707 static vector<Mdst_sim_ecl>* getMdstSimEclCol(void);
708private:
709 static vector<Mdst_sim_ecl>* s_col;
710};
711
712
713//
714//*** Random seeds
715//
716class Mdst_sim_rand {
717public:
719public:
720 int id;
721 int seed1;
722 int seed2;
723 int iseq;
724};
725
726class MdstSimRandCol {
727public:
728 static vector<Mdst_sim_rand>* getMdstSimRandCol(void);
729private:
730 static vector<Mdst_sim_rand>* s_col;
731};
732
733
734#endif // _MdstTables_h_
735
static vector< Mdst_acc > * getMdstAccCol(void)
static vector< Mdst_charged > * getMdstChargedCol(void)
static vector< Mdst_ecl_aux > * getMdstEclAuxCol(void)
static vector< Mdst_ecl > * getMdstEclCol(void)
static vector< Mdst_ecl_cr > * getMdstEclCrCol(void)
static vector< Mdst_ecl_trk > * getMdstEclTrkCol(void)
static vector< Mdst_efc > * getMdstEfcCol(void)
static vector< Mdst_event_add > * getMdstEventAddCol(void)
static vector< Mdst_event > * getMdstEventCol(void)
static vector< Mdst_gamma > * getMdstGammaCol(void)
static vector< Mdst_klm_cluster > * getMdstKlmClusterCol(void)
static vector< Mdst_klm_mu > * getMdstKlmMuCol(void)
static vector< Mdst_klm_mu_ex > * getMdstKlmMuExCol(void)
static vector< Mdst_klong > * getMdstKlongCol(void)
static vector< Mdst_muid > * getMdstMuidCol(void)
static vector< Mdst_pi0 > * getMdstPi0Col(void)
static vector< Mdst_quality > * getMdstQualityCol(void)
static vector< Mdst_run_end > * getMdstRunEndCol(void)
static vector< Mdst_run_head > * getMdstRunHeadCol(void)
static vector< Mdst_sim_ecl > * getMdstSimEclCol(void)
static vector< Mdst_sim_rand > * getMdstSimRandCol(void)
static vector< Mdst_sim_trk > * getMdstSimTrkCol(void)
static vector< Mdst_tof > * getMdstTofCol(void)
static vector< Mdst_trk_add > * getMdstTrkAddCol(void)
static vector< Mdst_trk > * getMdstTrkCol(void)
static vector< Mdst_trk_fit > * getMdstTrkFitCol(void)
static vector< Mdst_vee2 > * getMdstVee2Col(void)
static vector< Mdst_vee_daughters > * getMdstVeeDaughtersCol(void)