/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Mdc/MdcTables/MdcTables-00-00-11/MdcTables/MdstTables.h

Go to the documentation of this file.
00001 #ifndef _MdstTables_h_
00002 #define _MdstTables_h_
00003 
00004 #include <string>
00005 #include <iostream>   
00006 #include <vector>           
00007 
00008 #include "MdcTables/HepevtTables.h"
00009 
00010 using namespace std;
00011 
00012 //
00013 //*** MDST v.2.30. Run header
00014 //
00015 class Mdst_run_head {
00016 public:
00017   Mdst_run_head() {};
00018 public:
00019   int id;
00020   int version;
00021   int data_type;
00022   int exp_no;
00023   int run_no;
00024 };
00025 
00026 class MdstRunHeadCol {
00027 public:
00028    static vector<Mdst_run_head>* getMdstRunHeadCol(void);
00029 private:
00030    static vector<Mdst_run_head>* s_col;
00031 };
00032 
00033 
00034 //
00035 //*** Run trailer
00036 //
00037 class Mdst_run_end {
00038 public:
00039   Mdst_run_end() {};
00040 public:  
00041   int id;
00042   int exp_no;
00043   int run_no;
00044 };
00045 
00046 class MdstRunEndCol {
00047 public:
00048    static vector<Mdst_run_end>* getMdstRunEndCol(void);
00049 private:
00050    static vector<Mdst_run_end>* s_col;
00051 };
00052 
00053 
00054 //
00055 //*** Event header
00056 //
00057 class Mdst_event {
00058 public:
00059   Mdst_event() {};
00060 public:  
00061   int id;
00062   int exp_no;
00063   int run_no;
00064   int event_no;
00065   int trigger;
00066   int date;
00067   int time;
00068 };
00069 
00070 class MdstEventCol {
00071 public:
00072    static vector<Mdst_event>* getMdstEventCol(void);
00073 private:
00074    static vector<Mdst_event>* s_col;
00075 };
00076 
00077 
00078 //
00079 //***Additional event header 
00080 //
00081 class Mdst_event_add {
00082 public:
00083   Mdst_event_add() {};
00084 public: 
00085   int id;
00086   float scale;
00087   int flag[5];
00088 };
00089 
00090 class MdstEventAddCol {
00091 public:
00092    static vector<Mdst_event_add>* getMdstEventAddCol(void);
00093 private:
00094    static vector<Mdst_event_add>* s_col;
00095 };
00096 
00097 
00098 //
00099 //*** Data quality in the current event
00100 //
00101 class Mdst_quality {
00102 public:
00103   Mdst_quality() {};
00104 public:  
00105   int id;
00106   char name[4];
00107   int quality;
00108 };
00109 
00110 class MdstQualityCol {
00111 public:
00112    static vector<Mdst_quality>* getMdstQualityCol(void);
00113 private:
00114    static vector<Mdst_quality>* s_col;
00115 };
00116 
00117 
00118 //
00119 //*** Reconstructed charged tracks.
00120 //
00121 class Mdst_trk;
00122 class Mdst_acc;
00123 class Mdst_tof;
00124 class Mdst_muid;
00125 class Mdst_charged {
00126 public:
00127   Mdst_charged() {};
00128 public:  
00129   int id;
00130   float charge;
00131   float px;
00132   float py;
00133   float pz;
00134   float mass;
00135   int used_pid;
00136   float pid_e;
00137   float pid_mu;
00138   float pid_pi;
00139   float pid_K;
00140   float pid_p;
00141   //  int elid;
00142   Mdst_trk * trk;
00143   Mdst_acc * acc;
00144   Mdst_tof *  tof;
00145   //  Mdst_klm *  klm;
00146   Mdst_muid * muid;
00147 };
00148 
00149 class MdstChargedCol {
00150 public:
00151    static vector<Mdst_charged>* getMdstChargedCol(void);
00152 private:
00153    static vector<Mdst_charged>* s_col;
00154 };
00155 
00156 
00157 //
00158 //*** Reconstructed V0-particles, i.e. Ks, Lambda, 
00159 //*** Lambda-bar, converted-gamma.
00160 //
00161 class Mdst_vee_daughters;
00162 class Mdst_vee2 {
00163 public:
00164   Mdst_vee2() {};
00165 public:  
00166   int id;
00167   int kind;
00168   Mdst_charged * chgd[2];
00169   float p[4];
00170   float v[3];
00171   float z_dist;
00172   float chisq;
00173   int type;
00174   Mdst_vee_daughters * daut;
00175 };
00176 
00177 class MdstVee2Col {
00178 public:
00179    static vector<Mdst_vee2>* getMdstVee2Col(void);
00180 private:
00181    static vector<Mdst_vee2>* s_col;
00182 };
00183 
00184 
00185 //
00186 //*** Track params. and error matrix of V0 daughters 
00187 //*** before the vtx-constraint fit.
00188 //
00189 class Mdst_vee_daughters {
00190 public:
00191   Mdst_vee_daughters() {};
00192 public:  
00193   int id;
00194   float helix_p[5];
00195   float helix_m[5];
00196   float error_p[15];
00197   float error_m[15];
00198 };
00199 
00200 class MdstVeeDaughtersCol {
00201 public:
00202    static vector<Mdst_vee_daughters>* getMdstVeeDaughtersCol(void);
00203 private:
00204    static vector<Mdst_vee_daughters>* s_col;
00205 };
00206 
00207 
00208 //
00209 //*** Reconstructed gamma's.
00210 //
00211 class Mdst_ecl;
00212 class Mdst_efc;
00213 class Mdst_gamma {
00214 public:
00215   Mdst_gamma() {};
00216 public:  
00217   int id;
00218   float px;
00219   float py;
00220   float pz;
00221   Mdst_ecl * ecl;
00222   Mdst_efc * efc;
00223 };
00224 
00225 class MdstGammaCol {
00226 public:
00227    static vector<Mdst_gamma>* getMdstGammaCol(void);
00228 private:
00229    static vector<Mdst_gamma>* s_col;
00230 };
00231 
00232 
00233 //
00234 //*** Reconstructed pi0's.
00235 //
00236 class Mdst_pi0 {
00237 public:
00238   Mdst_pi0() {};
00239 public:  
00240   int id;
00241   Mdst_gamma * gamma[2];
00242   float px;
00243   float py;
00244   float pz;
00245   float energy;
00246   float mass;
00247   float chisq;
00248 };
00249 
00250 class MdstPi0Col {
00251 public:
00252    static vector<Mdst_pi0>* getMdstPi0Col(void);
00253 private:
00254    static vector<Mdst_pi0>* s_col;
00255 };
00256 
00257 
00258 //
00259 //*** Reconstructed K-long's.  
00260 //
00261 class Mdst_ecl;
00262 class Mdst_klm_cluster;
00263 class Mdst_klong {
00264 public:
00265   Mdst_klong() {};
00266 public:  
00267   int id;
00268   float cos_x;
00269   float cos_y;
00270   float cos_z;
00271   Mdst_ecl * ecl;
00272   //  Mdst_klm * klm;
00273   Mdst_klm_cluster * klmc;
00274 };
00275 
00276 class MdstKlongCol {
00277 public:
00278    static vector<Mdst_klong>* getMdstKlongCol(void);
00279 private:
00280    static vector<Mdst_klong>* s_col;
00281 };
00282 
00283 
00284 //
00285 //*** Muon ID information. 
00286 //
00287 class Mdst_klm_mu;
00288 class Mdst_muid {
00289 public:
00290   Mdst_muid() {};
00291 public:  
00292   int id;
00293   int quality;
00294   int muon;
00295   Mdst_klm_mu * klm;
00296 };
00297 
00298 class MdstMuidCol {
00299 public:
00300    static vector<Mdst_muid>* getMdstMuidCol(void);
00301 private:
00302    static vector<Mdst_muid>* s_col;
00303 };
00304 
00305 
00306 //
00307 //*** TRK(=CDC plus SVD) information.
00308 //
00309 class Mdst_trk_fit;
00310 class Mdst_trk {
00311 public:
00312   Mdst_trk() {};
00313 public:  
00314   int id;
00315   Mdst_trk_fit * mhyp[5];
00316   int quality;
00317   int quality_dedx;
00318   float dEdx;
00319   float dEdx_exp[5];
00320   float sigma_dEdx[5];
00321   float pid_e;
00322   float pid_mu;
00323   float pid_pi;
00324   float pid_K;
00325   float pid_p;
00326 };
00327 
00328 class MdstTrkCol {
00329 public:
00330    static vector<Mdst_trk>* getMdstTrkCol(void);
00331 private:
00332    static vector<Mdst_trk>* s_col;
00333 };
00334 
00335 
00336 //
00337 //*** 
00338 //
00339 class Mdst_trk_add {
00340 public:
00341   Mdst_trk_add() {};
00342 public:  
00343   int id;
00344   int stat[10];
00345   float buff[10];
00346 };
00347 
00348 class MdstTrkAddCol {
00349 public:
00350    static vector<Mdst_trk_add>* getMdstTrkAddCol(void);
00351 private:
00352    static vector<Mdst_trk_add>* s_col;
00353 };
00354 
00355 
00356 //
00357 //*** Track fit results with multiple mass hypotheses. 
00358 //
00359 class Mdst_trk_fit {
00360 public:
00361   Mdst_trk_fit() {};
00362 public:  
00363   int id;
00364   int quality;
00365   int hit_cdc[2];
00366   int hit_svd;
00367   int nhits[5];
00368   float mass;
00369   float pivot_x;
00370   float pivot_y;
00371   float pivot_z;
00372   float helix[5];
00373   float error[15];
00374   float chisq;
00375   int ndf;
00376   float first_x;
00377   float first_y;
00378   float first_z;
00379   float last_x;
00380   float last_y;
00381   float last_z;
00382 };
00383 
00384 class MdstTrkFitCol {
00385 public:
00386    static vector<Mdst_trk_fit>* getMdstTrkFitCol(void);
00387 private:
00388    static vector<Mdst_trk_fit>* s_col;
00389 };
00390 
00391 
00392 //
00393 //*** ACC (Aerogel Cherenkov Counter) information. 
00394 //
00395 class Mdst_acc {
00396 public:
00397   Mdst_acc() {};
00398 public: 
00399   int id;
00400   int quality;
00401   int fire;
00402   float photo_electron;
00403   float pid_e;
00404   float pid_mu;
00405   float pid_pi;
00406   float pid_K;
00407   float pid_p;
00408 };
00409 
00410 class MdstAccCol {
00411 public:
00412    static vector<Mdst_acc>* getMdstAccCol(void);
00413 private:
00414    static vector<Mdst_acc>* s_col;
00415 };
00416 
00417 
00418 //
00419 //*** TOF (Time Of Flight counter) information. 
00420 //
00421 class Mdst_tof {
00422 public:
00423   Mdst_tof() {};
00424 public:  
00425   int id;
00426   int quality;
00427   float path_length;
00428   float tof;
00429   float tof_exp[5];
00430   float sigma_tof;
00431   float ndf[5];
00432   float pid_e;
00433   float pid_mu;
00434   float pid_pi;
00435   float pid_K;
00436   float pid_p;
00437   float cl_e;
00438   float cl_mu;
00439   float cl_pi;
00440   float cl_K;
00441   float cl_p;
00442 };
00443 
00444 class MdstTofCol {
00445 public:
00446    static vector<Mdst_tof>* getMdstTofCol(void);
00447 private:
00448    static vector<Mdst_tof>* s_col;
00449 };
00450 
00451 
00452 //
00453 //*** ECL (Electromagnetic CaLorimeter) information. 
00454 //
00455 class Mdst_ecl {
00456 public:
00457   Mdst_ecl() {};
00458 public:  
00459   int id;
00460   int match;
00461   int quality;
00462   float energy;
00463   float phi;
00464   float theta;
00465   float r;
00466   float error[6];
00467   int electron;
00468 };
00469 
00470 class MdstEclCol {
00471 public:
00472    static vector<Mdst_ecl>* getMdstEclCol(void);
00473 private:
00474    static vector<Mdst_ecl>* s_col;
00475 };
00476 
00477 
00478 //
00479 //*** ECL (Electromagnetic Calorimeter) information add on.
00480 //
00481 class Mdst_ecl_cr;
00482 class Mdst_ecl_aux {
00483 public:
00484   Mdst_ecl_aux() {};
00485 public:  
00486   int id;
00487   float mass;
00488   float width;
00489   float e9oe25;
00490   float e9oe25unf;
00491   float seed;
00492   int cId;
00493   float property[10];
00494   int nhits;
00495   Mdst_ecl_cr * cr;
00496   Mdst_trk * trk;
00497 };
00498 
00499 class MdstEclAuxCol {
00500 public:
00501    static vector<Mdst_ecl_aux>* getMdstEclAuxCol(void);
00502 private:
00503    static vector<Mdst_ecl_aux>* s_col;
00504 };
00505 
00506 
00507 //
00508 //*** ECL (Electromagnetic Calorimeter) information- Connected 
00509 //*** Region(super-cluster): not calibrated yet. 
00510 //
00511 class Mdst_ecl_cr {
00512 public:
00513   Mdst_ecl_cr() {};
00514 public:  
00515   int id;
00516   int match;
00517   int quality;
00518   float energy;
00519   float phi;
00520   float theta;
00521   float r;
00522   float mass;
00523   float width;
00524   float property[10];
00525   int nhits;
00526   int nshowers;
00527 };
00528 
00529 class MdstEclCrCol {
00530 public:
00531    static vector<Mdst_ecl_cr>* getMdstEclCrCol(void);
00532 private:
00533    static vector<Mdst_ecl_cr>* s_col;
00534 };
00535 
00536 
00537 //
00538 //*** TRK to ECL match information.
00539 //
00540 class Mdst_ecl_trk {
00541 public:
00542   Mdst_ecl_trk() {};
00543 public:  
00544   int id;
00545   Mdst_ecl * ecl;
00546   Mdst_trk * trk;
00547   int type;
00548   int cId;
00549   float x[3];
00550   float p[3];
00551   float error[21];
00552 };
00553 
00554 class MdstEclTrkCol {
00555 public:
00556    static vector<Mdst_ecl_trk>* getMdstEclTrkCol(void);
00557 private:
00558    static vector<Mdst_ecl_trk>* s_col;
00559 };
00560 
00561 
00562 //
00563 //*** Cluster information of KLM.
00564 //
00565 class Mdst_klm_cluster {
00566 public:
00567   Mdst_klm_cluster() {};
00568 public:  
00569   int id;
00570   Mdst_trk * trk;
00571   Mdst_ecl * ecl;
00572   int quality;
00573   int layers;
00574   int first_layer;
00575   float phi;
00576   float theta;
00577   float error[3];
00578 };
00579 
00580 class MdstKlmClusterCol {
00581 public:
00582    static vector<Mdst_klm_cluster>* getMdstKlmClusterCol(void);
00583 private:
00584    static vector<Mdst_klm_cluster>* s_col;
00585 };
00586 
00587 
00588 //
00589 //*** Extended muon ID information related to KLM. 
00590 //
00591 class Mdst_klm_mu {
00592 public:
00593   Mdst_klm_mu() {};
00594 public:  
00595   int id;
00596   float absp_len_pas;
00597   float absp_len_hit;
00598   int layer_pas;
00599   int layer_hit;
00600 };
00601 
00602 class MdstKlmMuCol {
00603 public:
00604    static vector<Mdst_klm_mu>* getMdstKlmMuCol(void);
00605 private:
00606    static vector<Mdst_klm_mu>* s_col;
00607 };
00608 
00609 
00610 //
00611 //*** Muon ID Extended Information.
00612 //
00613 class Mdst_klm_mu_ex {
00614 public:
00615   Mdst_klm_mu_ex() {};
00616 public:  
00617   int id;
00618   Mdst_charged * pMDST_Charged;
00619   float Muon_likelihood;
00620   float Pion_likelihood;
00621   float Kaon_likelihood;
00622   float Miss_likelihood;
00623   float Junk_likelihood;
00624   int Outcome;
00625   float Chi_2;
00626   int N_hits;
00627   int N_strips;
00628   int Layer_trk_brl;
00629   int Layer_trk_end;
00630   int Layer_hit_brl;
00631   int Layer_hit_end;
00632   int N_layer_trk_brl;
00633   int N_layer_trk_end;
00634   int N_layer_hit_brl;
00635   int N_layer_hit_end;
00636   int Trk_pattern;
00637   int Hit_pattern;
00638 };
00639 
00640 class MdstKlmMuExCol {
00641 public:
00642    static vector<Mdst_klm_mu_ex>* getMdstKlmMuExCol(void);
00643 private:
00644    static vector<Mdst_klm_mu_ex>* s_col;
00645 };
00646 
00647 
00648 //
00649 //*** EFC (Extreme Forward Calorimeter) information.
00650 //
00651 class Mdst_efc {
00652 public:
00653   Mdst_efc() {};
00654 public:  
00655   int id;
00656   int quality[2];
00657   float energy;
00658   float phi;
00659   float theta;
00660   float error[6];
00661 };
00662 
00663 class MdstEfcCol {
00664 public:
00665    static vector<Mdst_efc>* getMdstEfcCol(void);
00666 private:
00667    static vector<Mdst_efc>* s_col;
00668 };
00669 
00670 
00671 //
00672 //*** Cross reference between track and hepevt
00673 //
00674 class Mdst_sim_trk {
00675 public:
00676   Mdst_sim_trk() {};
00677 public:  
00678   int id;
00679   Mdst_trk * trk;
00680   Gen_hepevt * hepevt;
00681   float relation[3];
00682 };
00683 
00684 class MdstSimTrkCol {
00685 public:
00686    static vector<Mdst_sim_trk>* getMdstSimTrkCol(void);
00687 private:
00688    static vector<Mdst_sim_trk>* s_col;
00689 };
00690 
00691 
00692 //
00693 //*** Cross reference between shower and hepevt
00694 //
00695 class Mdst_sim_ecl {
00696 public:
00697   Mdst_sim_ecl() {};
00698 public:  
00699   int id;
00700   Mdst_ecl * ecl;
00701   Gen_hepevt * hepevt;
00702   float relation[3];
00703 };
00704 
00705 class MdstSimEclCol {
00706 public:
00707    static vector<Mdst_sim_ecl>* getMdstSimEclCol(void);
00708 private:
00709    static vector<Mdst_sim_ecl>* s_col;
00710 };
00711 
00712 
00713 //
00714 //*** Random seeds 
00715 //
00716 class Mdst_sim_rand {
00717 public:
00718   Mdst_sim_rand() {};
00719 public:  
00720   int id;
00721   int seed1;
00722   int seed2;
00723   int iseq;
00724 };
00725 
00726 class MdstSimRandCol {
00727 public:
00728    static vector<Mdst_sim_rand>* getMdstSimRandCol(void);
00729 private:
00730    static vector<Mdst_sim_rand>* s_col;
00731 };
00732 
00733 
00734 #endif // _MdstTables_h_
00735 

Generated on Tue Nov 29 23:12:54 2016 for BOSS_7.0.2 by  doxygen 1.4.7