/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Reconstruction/SD0TagAlg/SD0TagAlg-00-00-03/src/Sing.cxx

Go to the documentation of this file.
00001 //
00002 //  Sing.cxx is the code to take care of some variables for anti-D0 tags for each single D0 tag mode.
00003 //  It transfers these variables into a Class or Memmory, from which one can get these variables
00004 //  for doing double tag analysis for study of the D0 meson decays. Sing.cxx was transfered
00005 //  from the Fortran routine "Sing.f" which was orignally used for study of  the D0D0-bar production
00006 //  and D0 meson decays at the BES-II experiment during the time period from 2002 to 2008.
00007 //
00008 //  The orignal Fortran routine "Sing.f" used at the BES-II experiment was coded by G. Rong in 2001.
00009 //
00010 //  Sing.cxx was transfered by G. Rong and J. Liu in December, 2005.
00011 //
00012 //  Since 2008, G. Rong and L.L. Jiang have been working on developing this code to analyze of
00013 //  the data taken at 3.773 GeV with the BES-III detector at the BEPC-II collider.
00014 //
00015 //  During developing this code, many People made significant contributions to this code. These are
00016 //          G. Rong, L.L. Jiang, J. Liu, H.L. Ma, J.C. Chen, D.H. Zhang,
00017 //          M.G. Zhao, B. Zheng, L. Li, Y. Fang, Z.Y. Yi, H.H. Liu, Z.Q. Liu et al.
00018 //
00019 //                                       By G. Rong and L.L. Jiang
00020 //                                       March, 2009
00021 //
00022 //  ==========================================================================================
00023 //
00024 #include "SD0TagAlg/Sing.h"
00025 #include "SD0TagAlg/Kpi.h"
00026 #include "SD0TagAlg/Kpipi0.h"
00027 #include "SD0TagAlg/K3pi.h"
00028 #include "SD0TagAlg/K0pipi.h"
00029 #include "SD0TagAlg/K0pipipi0.h"
00030 #include "SD0TagAlg/K0pi0.h"
00031 #include "SD0TagAlg/Pipipi0.h"
00032 #include "SD0TagAlg/Kk.h"
00033 #include "SD0TagAlg/Pipi.h"
00034 #include "SD0TagAlg/Kkpipi.h"
00035 #include "SD0TagAlg/K0kpi.h"
00036 #include "SD0TagAlg/K0kk.h"
00037 #include "SD0TagAlg/Kkpi0.h"
00038 #include "SD0TagAlg/K3pipi0.h"
00039 #include "SD0TagAlg/Kpipi0pi0.h"
00040 //  --------------------------------------------
00041 
00042 #include "SD0TagAlg/SingleBase.h"
00043 
00044 
00045 Sing::Sing()
00046 {}
00047 
00048 Sing::~Sing()
00049 {}
00050 
00051 void Sing::Mdset(double event,SmartDataPtr<EvtRecTrackCol> evtRecTrkCol, Vint iGood,Vint iGam, int mdset, double Ebeam, int PID_flag, int Charge_candidate_D)
00052 {
00053   oktg=false;
00054 
00055   if(mdset==1)  {
00056     //   ---- mode 11 ----- D0-->KPi ---------
00057     Kpi  kpi;
00058     kpi.MTotal(event,evtRecTrkCol, iGood,iGam,Ebeam,  PID_flag,Charge_candidate_D);
00059     bool kpimd=kpi.Getkpimd();
00060 
00061     if(kpimd) {
00062       tagmd_temp=kpi.Gettagmd();
00063       mass_bc_temp=kpi.Getmass_bc();
00064       cqtm_temp = kpi.GetCQtm();
00065       delE_tag_temp=kpi.GetdelE_tag();
00066       iGoodtag_temp=kpi.Gettagtrk1();
00067       iGamtag_temp=kpi.GettagGam1();
00068       ptag_temp=kpi.Gettagp1();
00069 
00070       oktg=true;
00071 
00072     }
00073   }
00074 
00075   if(mdset==2)  {
00076     //   ---- mode 12 ----- D0 --> KPiPi0---------
00077     Kpipi0  kpipi0;
00078     kpipi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00079     bool  kpipi0md=kpipi0.Getkpipi0md();
00080     if(kpipi0md) {
00081       tagmd_temp=kpipi0.Gettagmd();
00082       iGoodtag_temp=kpipi0.Gettagtrk1();
00083       iGamtag_temp=kpipi0.GettagGam1();
00084       ptag_temp=kpipi0.Gettagp1();
00085       delE_tag_temp=kpipi0.GetdelE_tag();
00086       mass_bc_temp=kpipi0.Getmass_bc();
00087       cqtm_temp = kpipi0.GetCQtm();
00088 
00089       oktg=true;
00090     }
00091   }
00092 
00093   if(mdset==4)  {
00094     //   ---- mode 13 ----- D0-->K3Pi ---------
00095     K3pi  k3pi;
00096     k3pi.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00097     bool  k3pimd=k3pi.Getk3pimd();
00098     if(k3pimd) {
00099       tagmd_temp=k3pi.Gettagmd();
00100       iGoodtag_temp=k3pi.Gettagtrk1();
00101       iGamtag_temp=k3pi.GettagGam1();
00102       ptag_temp=k3pi.Gettagp1();
00103       delE_tag_temp=k3pi.GetdelE_tag();
00104       mass_bc_temp=k3pi.Getmass_bc();
00105       cqtm_temp     = k3pi.GetCQtm();
00106       
00107       oktg=true;
00108     }
00109   }
00110 
00111   if(mdset==8)  {
00112     //   ---- mode 14-----D0-->K0PiPi ---------
00113     K0pipi  k0pipi;
00114     k0pipi.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00115     bool  k0pipimd=k0pipi.Getk0pipimd();
00116     if(k0pipimd) {
00117       tagmd_temp=k0pipi.Gettagmd();
00118       iGoodtag_temp=k0pipi.Gettagtrk1();
00119       iGamtag_temp=k0pipi.GettagGam1();
00120       ptag_temp=k0pipi.Gettagp1();
00121       delE_tag_temp=k0pipi.GetdelE_tag();
00122       mass_bc_temp=k0pipi.Getmass_bc();
00123       cqtm_temp     = k0pipi.GetCQtm();
00124 
00125       oktg=true;
00126     }   
00127   }     
00128 
00129   if(mdset==16)  {
00130     //   ---- mode 15 ----- D0-->KK ---------
00131     Kk  kk;
00132     kk.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00133     bool  kkmd=kk.Getkkmd();
00134     if(kkmd) {
00135       tagmd_temp=kk.Gettagmd();
00136       iGoodtag_temp=kk.Gettagtrk1();
00137       iGamtag_temp=kk.GettagGam1();
00138       ptag_temp=kk.Gettagp1();
00139       delE_tag_temp=kk.GetdelE_tag();
00140       mass_bc_temp=kk.Getmass_bc();
00141       cqtm_temp = kk.GetCQtm();
00142 
00143       oktg=true;
00144     }
00145   }
00146 
00147   if(mdset==32)  {
00148     //   ---- mode 16 ----- D0-->PiPiPi0 ---------
00149     Pipipi0  pipipi0;
00150     pipipi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00151     bool  pipipi0md=pipipi0.GetPipipi0md();
00152     if(pipipi0md) {
00153       tagmd_temp=pipipi0.Gettagmd();
00154       iGoodtag_temp=pipipi0.Gettagtrk1();
00155       iGamtag_temp=pipipi0.GettagGam1();
00156       ptag_temp=pipipi0.Gettagp1();
00157       delE_tag_temp=pipipi0.GetdelE_tag();
00158       mass_bc_temp=pipipi0.Getmass_bc();
00159       cqtm_temp = pipipi0.GetCQtm();
00160 
00161       oktg=true;
00162     }
00163   }
00164 
00165 
00166 
00167   if(mdset==64)  {
00168     //   ---- mode 17 ----- D0-->K0PiPiPi0 ---------
00169     K0pipipi0  k0pipipi0;
00170     k0pipipi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00171     bool  k0pipipi0md=k0pipipi0.GetK0pipipi0md();
00172     if(k0pipipi0md) {
00173       tagmd_temp=k0pipipi0.Gettagmd();
00174       iGoodtag_temp=k0pipipi0.Gettagtrk1();
00175       iGamtag_temp=k0pipipi0.GettagGam1();
00176       ptag_temp=k0pipipi0.Gettagp1();
00177       delE_tag_temp=k0pipipi0.GetdelE_tag();
00178       mass_bc_temp=k0pipipi0.Getmass_bc();
00179       cqtm_temp     = k0pipipi0.GetCQtm();
00180 
00181       oktg=true;
00182     }
00183   }
00184 
00185 
00186 
00187   if(mdset==128)  {
00188     //   ---- mode 18 ----- D0-->K0Pi0  ---------
00189     K0pi0  k0pi0;
00190     k0pi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00191     bool  k0pi0md=k0pi0.GetK0pi0md();
00192     if(k0pi0md) {
00193       tagmd_temp=k0pi0.Gettagmd();
00194       iGoodtag_temp=k0pi0.Gettagtrk1();
00195       iGamtag_temp=k0pi0.GettagGam1();
00196       ptag_temp=k0pi0.Gettagp1();
00197       delE_tag_temp=k0pi0.GetdelE_tag();
00198       mass_bc_temp=k0pi0.Getmass_bc();
00199       cqtm_temp     = k0pi0.GetCQtm();
00200       
00201       oktg=true;
00202     }
00203   }
00204   
00205   
00206   if(mdset==256)  
00207   {
00208     //   ---- mode 19 ----- D0-->Pi+Pi- mode -----
00209     Pipi  pipi;
00210     pipi.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00211     bool  pipimd = pipi.GetPipimd();
00212     if(pipimd) {
00213       tagmd_temp    = pipi.Gettagmd();
00214       iGoodtag_temp = pipi.Gettagtrk1();
00215       iGamtag_temp=pipi.GettagGam1();
00216       ptag_temp     = pipi.Gettagp1();
00217       delE_tag_temp  = pipi.GetdelE_tag();
00218       mass_bc_temp = pipi.Getmass_bc();
00219       cqtm_temp     = pipi.GetCQtm();
00220       
00221       oktg=true;
00222     }
00223   }
00224 
00225   if(mdset==512)
00226   {
00227     //   ---- mode 20 ----- D0-->K+K-Pi+Pi- mode -----
00228     Kkpipi  kkpipi;
00229     kkpipi.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00230     bool  kkpipimd = kkpipi.Getkkpipimd();
00231     if(kkpipimd) {
00232       tagmd_temp    = kkpipi.Gettagmd();
00233       iGoodtag_temp = kkpipi.Gettagtrk1();
00234       iGamtag_temp=kkpipi.GettagGam1();
00235       ptag_temp     = kkpipi.Gettagp1();
00236       delE_tag_temp  = kkpipi.GetdelE_tag();
00237       mass_bc_temp = kkpipi.Getmass_bc();
00238       cqtm_temp     = kkpipi.GetCQtm();
00239       
00240       oktg=true;
00241     }
00242   }
00243 
00244   if(mdset==1024)
00245   {
00246     //   ---- mode 21 ----- D0-->K0K+Pi- mode -----
00247     K0kpi  k0kpi;
00248     k0kpi.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00249     bool  k0kpimd = k0kpi.Getk0kpimd();
00250     if(k0kpimd) {
00251       tagmd_temp    = k0kpi.Gettagmd();
00252       iGoodtag_temp = k0kpi.Gettagtrk1();
00253       iGamtag_temp=k0kpi.GettagGam1();
00254       ptag_temp     = k0kpi.Gettagp1();
00255       delE_tag_temp  = k0kpi.GetdelE_tag();
00256       mass_bc_temp = k0kpi.Getmass_bc();
00257       cqtm_temp     = k0kpi.GetCQtm();
00258 
00259       oktg=true;
00260     }
00261   }
00262 
00263   if(mdset==2048)
00264   {
00265     //   ---- mode 22 ----- D0-->K0K+K- mode -----
00266     K0kk  k0kk;
00267     k0kk.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00268     bool  k0kkmd = k0kk.Getk0kkmd();
00269     if(k0kkmd) {
00270       tagmd_temp    = k0kk.Gettagmd();
00271       iGoodtag_temp = k0kk.Gettagtrk1();
00272       iGamtag_temp=k0kk.GettagGam1();
00273       ptag_temp     = k0kk.Gettagp1();
00274       delE_tag_temp  = k0kk.GetdelE_tag();
00275       mass_bc_temp = k0kk.Getmass_bc();
00276       cqtm_temp     = k0kk.GetCQtm();
00277 
00278       oktg=true;
00279     }
00280   }
00281 
00282   if(mdset==4096)
00283   {
00284     //   ---- mode 23 ----- D0-->K-K+Pi0 mode  -----
00285     Kkpi0  kkpi0;
00286     kkpi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00287     bool  kkpi0md = kkpi0.Getkkpi0md();
00288     if(kkpi0md) {
00289       tagmd_temp    = kkpi0.Gettagmd();
00290       iGoodtag_temp = kkpi0.Gettagtrk1();
00291       iGamtag_temp=kkpi0.GettagGam1();
00292       ptag_temp     = kkpi0.Gettagp1();
00293       delE_tag_temp  = kkpi0.GetdelE_tag();
00294       mass_bc_temp = kkpi0.Getmass_bc();
00295       cqtm_temp     = kkpi0.GetCQtm();
00296 
00297       oktg=true;
00298     }
00299   }
00300 
00301   if(mdset==8192)
00302   {
00303     //  ---- mode 24 ----- D0-->K-PiPiPiPi0 mode -----
00304     K3pipi0  k3pipi0;
00305     k3pipi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00306     bool  k3pipi0md = k3pipi0.Getk3pipi0md();
00307     if(k3pipi0md) {
00308       tagmd_temp    = k3pipi0.Gettagmd();
00309       iGoodtag_temp = k3pipi0.Gettagtrk1();
00310       iGamtag_temp  = k3pipi0.GettagGam1();
00311       ptag_temp     = k3pipi0.Gettagp1();
00312       delE_tag_temp = k3pipi0.GetdelE_tag();
00313       mass_bc_temp  = k3pipi0.Getmass_bc();
00314       cqtm_temp     = k3pipi0.GetCQtm();
00315       oktg=true;
00316     }
00317   }
00318 
00319   if(mdset==16384)
00320   {
00321     //   ----mode 25 ----- D0-->K-PiPi0Pi0 mode -----
00322     Kpipi0pi0  kpipi0pi0;
00323     kpipi0pi0.MTotal(event,evtRecTrkCol, iGood,iGam, Ebeam,  PID_flag,Charge_candidate_D);
00324     bool  kpipi0pi0md = kpipi0pi0.Getkpipi0pi0md();
00325     if(kpipi0pi0md) {
00326       tagmd_temp    = kpipi0pi0.Gettagmd();
00327       iGoodtag_temp = kpipi0pi0.Gettagtrk1();
00328       iGamtag_temp  = kpipi0pi0.GettagGam1();
00329       ptag_temp     = kpipi0pi0.Gettagp1();
00330       delE_tag_temp = kpipi0pi0.GetdelE_tag();
00331       mass_bc_temp  = kpipi0pi0.Getmass_bc();
00332       cqtm_temp     = kpipi0pi0.GetCQtm();
00333       oktg=true;
00334     }
00335   }
00336 
00337   return;
00338 
00339 }

Generated on Tue Nov 29 23:14:08 2016 for BOSS_7.0.2 by  doxygen 1.4.7