/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Analysis/ControlSamples/Gam4pikpAlg/Gam4pikpAlg-00-00-08/Gam4pikpAlg/Gam4pikp.h

Go to the documentation of this file.
00001 #ifndef Physics_Analysis_Gam4pikp_H
00002 #define Physics_Analysis_Gam4pikp_H 
00003 
00004 #include "GaudiKernel/AlgFactory.h"
00005 #include "GaudiKernel/Algorithm.h"
00006 #include "GaudiKernel/NTuple.h"
00007 //#include "VertexFit/ReadBeamParFromDb.h"
00008 
00009 class Gam4pikp : public Algorithm {
00010 
00011 public:
00012   Gam4pikp(const std::string& name, ISvcLocator* pSvcLocator);
00013   StatusCode initialize();
00014   StatusCode execute();
00015   StatusCode finalize();  
00016 
00017 private:
00018   void InitVar();
00019   void BubbleSort(std::vector<double> &, std::vector<int> &);
00020 
00021 
00022   // Declare r0, z0 cut for charged tracks
00023   double m_vr0cut;
00024   double m_vz0cut;
00025   bool m_skim4pi;
00026   bool m_skim4k;
00027   bool m_skim2pi2pr;
00028   bool m_rootput;
00029   
00030   //Declare energy, dphi, dthe cuts for fake gamma's
00031   double m_energyThreshold;
00032   double m_gammaPhiCut;
00033   double m_gammaThetaCut;
00034   double m_ecms;
00035   double m_gammadangcut;
00036   // 
00037   int m_test4C;
00038   int m_test5C;
00039 
00040   // 
00041   int m_checkDedx;
00042   int m_checkTof;
00043 
00044   // define Ntuples here
00045   NTuple::Tuple*  m_tuple0;
00046   NTuple::Item<double>  m_tnumber;
00047   NTuple::Item<double>  m_totaltrack;
00048   NTuple::Item<double>  m_totalcharged;
00049   NTuple::Item<double>  m_totalgam;
00050   NTuple::Item<double> m_massth;
00051   
00052 
00053 
00054   
00055   NTuple::Tuple*  m_tuple1;
00056   NTuple::Item<long>   m_run;
00057   NTuple::Item<long>   m_rec;
00058   NTuple::Item<double>   m_mpprecall;
00059   NTuple::Item<double>   m_meeall;
00060   NTuple::Item<double>   m_ncgjs;
00061   NTuple::Item<double>   m_cla2kpi;
00062   NTuple::Array<double> m_comcs2kpi;
00063   NTuple::Array<double> m_comcs4pi;
00064   NTuple::Item<long>   m_idxmc;
00065   NTuple::Array<long>  m_pdgid;
00066   NTuple::Array<long>  m_motheridx;  
00067   NTuple::Item<double>  m_mpprec4c;
00068   NTuple::Array<double>  m_x0js, m_y0js, m_z0js, m_r0js, m_Rxyjs, m_Rzjs;
00069   NTuple::Array<double>  m_Rnxyjs;
00070   NTuple::Array<double>  m_Rnzjs;
00071   NTuple::Array<double>  m_phinjs;
00072   NTuple::Item<long>   m_cy2kpi;
00073   NTuple::Item<long>   m_cl4pi;
00074   NTuple::Item<long>   m_clajs; 
00075   NTuple::Item<long>    m_idxmdc;
00076   NTuple::Array<double> m_pdg;
00077   NTuple::Array<double> m_cbmc;
00078   
00079   NTuple::Array<double> m_angjs5;
00080   NTuple::Array<double> m_nearjs5;
00081   NTuple::Array<double> m_angjs6;
00082   NTuple::Array<double> m_nearjs6;
00083   NTuple::Array<double> m_ang4pi5;
00084   NTuple::Array<double> m_near4pi5;
00085   NTuple::Array<double> m_ang4pi6;
00086   NTuple::Array<double> m_near4pi6;  
00087   
00088   NTuple::Array<double> m_ppmdcjs;
00089   NTuple::Array<double> m_pxmdcjs;
00090   NTuple::Array<double> m_pymdcjs;
00091   NTuple::Array<double> m_pzmdcjs;  
00092   NTuple::Array<double> m_ptmdcjs;
00093   NTuple::Array<double> m_ppkaljs;
00094   NTuple::Array<double> m_ptkaljs; 
00095   NTuple::Array<double> m_ppmdc2kpi;
00096   NTuple::Array<double> m_pxmdc2kpi;
00097   NTuple::Array<double> m_pymdc2kpi;
00098   NTuple::Array<double> m_pzmdc2kpi;  
00099     NTuple::Array<double> m_ptmdc2kpi;
00100       NTuple::Array<double> m_ppkal2kpi;
00101         NTuple::Array<double> m_ptkal2kpi;
00102   NTuple::Array<double> m_charge2kpi; 
00103   NTuple::Array<double> m_chie2kpi;
00104   NTuple::Array<double> m_chimu2kpi;
00105   NTuple::Array<double> m_chipi2kpi;
00106   NTuple::Array<double> m_chik2kpi;
00107   NTuple::Array<double> m_chip2kpi;
00108   NTuple::Array<double> m_ghit2kpi;
00109   NTuple::Array<double> m_thit2kpi;
00110   NTuple::Array<double> m_probph2kpi;
00111   NTuple::Array<double> m_normph2kpi;
00112  
00113   NTuple::Array<double> m_chiejs;
00114   NTuple::Array<double> m_chimujs;
00115   NTuple::Array<double> m_chipijs;
00116   NTuple::Array<double> m_chikjs;
00117   NTuple::Array<double> m_chipjs;
00118   NTuple::Array<double> m_ghitjs;
00119   NTuple::Array<double> m_thitjs;
00120   NTuple::Array<double> m_probphjs;
00121   NTuple::Array<double> m_normphjs;
00122 
00123   NTuple::Array<double> m_bjmucjs;
00124   NTuple::Array<double> m_bjmuc2kpi;
00125   NTuple::Array<double> m_bjemcjs;
00126   NTuple::Array<double> m_bjemc2kpi;
00127   NTuple::Array<double> m_bjtofjs;
00128   NTuple::Array<double> m_bjtof2kpi;  
00129   NTuple::Array<double> m_bjtofvaljs;
00130   NTuple::Array<double> m_bjtofval2kpi;  
00131   NTuple::Array<double> m_emcjs;
00132   NTuple::Array<double> m_evpjs;
00133   NTuple::Array<double> m_timecgjs;
00134   NTuple::Array<double> m_depthmucjs;
00135   NTuple::Array<double> m_layermucjs;
00136   NTuple::Array<double> m_emc2kpi;
00137   NTuple::Array<double> m_evp2kpi;
00138   NTuple::Array<double> m_timecg2kpi;
00139   NTuple::Array<double> m_depthmuc2kpi;
00140   NTuple::Array<double> m_layermuc2kpi;
00141   NTuple::Array<double> m_cosmdc2kpi;
00142   NTuple::Array<double> m_phimdc2kpi; 
00143    
00144   NTuple::Array<double> m_costpid2kpi;
00145   NTuple::Array<double> m_dedxpid2kpi;
00146   NTuple::Array<double> m_tof1pid2kpi;
00147   NTuple::Array<double> m_tof2pid2kpi;
00148   NTuple::Array<double> m_probe2kpi;
00149   NTuple::Array<double> m_probmu2kpi;
00150   NTuple::Array<double> m_probpi2kpi;
00151   NTuple::Array<double> m_probk2kpi;
00152   NTuple::Array<double> m_probpr2kpi;
00153   NTuple::Array<double> m_pidnum2kpi;
00154   
00155   NTuple::Array<double> m_chipidxpid2kpi;
00156   NTuple::Array<double> m_chipitof1pid2kpi;
00157   NTuple::Array<double> m_chipitof2pid2kpi;
00158   NTuple::Array<double> m_chipitofpid2kpi;
00159   NTuple::Array<double> m_chipitofepid2kpi;
00160   NTuple::Array<double> m_chipitofqpid2kpi;
00161   NTuple::Array<double> m_probpidxpid2kpi;
00162   NTuple::Array<double> m_probpitofpid2kpi;
00163   
00164   NTuple::Array<double> m_chikdxpid2kpi;
00165   NTuple::Array<double> m_chiktof1pid2kpi;
00166   NTuple::Array<double> m_chiktof2pid2kpi;
00167   NTuple::Array<double> m_chiktofpid2kpi;
00168   NTuple::Array<double> m_chiktofepid2kpi;
00169   NTuple::Array<double> m_chiktofqpid2kpi;
00170   NTuple::Array<double> m_probkdxpid2kpi;
00171   NTuple::Array<double> m_probktofpid2kpi;
00172 
00173   NTuple::Array<double> m_chiprdxpid2kpi;
00174   NTuple::Array<double> m_chiprtof1pid2kpi;
00175   NTuple::Array<double> m_chiprtof2pid2kpi;
00176   NTuple::Array<double> m_chiprtofpid2kpi;
00177   NTuple::Array<double> m_chiprtofepid2kpi;
00178   NTuple::Array<double> m_chiprtofqpid2kpi;
00179   NTuple::Array<double> m_probprdxpid2kpi;
00180   NTuple::Array<double> m_probprtofpid2kpi;  
00181 
00182   NTuple::Array<double> m_cosmdcjs;
00183   NTuple::Array<double> m_phimdcjs;
00184   NTuple::Array<double> m_dedxpidjs;
00185   NTuple::Array<double> m_tof1pidjs;
00186   NTuple::Array<double> m_tof2pidjs;
00187   NTuple::Array<double> m_probejs;
00188   NTuple::Array<double> m_probmujs;
00189   NTuple::Array<double> m_probpijs;
00190   NTuple::Array<double> m_probkjs;
00191   NTuple::Array<double> m_probprjs;  
00192   
00193   NTuple::Array<double> m_cotof1js;
00194   NTuple::Array<double> m_cotof2js;
00195   NTuple::Array<double> m_counterjs;
00196   NTuple::Array<double> m_barreljs;
00197   NTuple::Array<double> m_layertofjs;
00198   NTuple::Array<double> m_readoutjs;
00199   NTuple::Array<double> m_clusterjs;
00200   NTuple::Array<double> m_betajs;
00201   NTuple::Array<double> m_tofjs;
00202   NTuple::Array<double> m_tofpathjs;
00203   NTuple::Array<double> m_zhitjs;
00204   NTuple::Array<double> m_tofIDjs;
00205   NTuple::Array<double> m_clusterIDjs;
00206   NTuple::Array<double> m_texejs;
00207   NTuple::Array<double> m_texmujs;
00208   NTuple::Array<double> m_texpijs;
00209   NTuple::Array<double> m_texkjs;
00210   NTuple::Array<double> m_texprjs;  
00211   NTuple::Array<double> m_dtejs;
00212   NTuple::Array<double> m_dtmujs;
00213   NTuple::Array<double> m_dtpijs;
00214   NTuple::Array<double> m_dtkjs;    
00215   NTuple::Array<double> m_dtprjs;  
00216 
00217   NTuple::Array<double> m_cotof12kpi;
00218   NTuple::Array<double> m_cotof22kpi;
00219   NTuple::Array<double> m_counter2kpi;
00220   NTuple::Array<double> m_barrel2kpi;
00221   NTuple::Array<double> m_layertof2kpi;
00222   NTuple::Array<double> m_readout2kpi;
00223   NTuple::Array<double> m_cluster2kpi;
00224   NTuple::Array<double> m_beta2kpi;
00225   NTuple::Array<double> m_tof2kpi;
00226   NTuple::Array<double> m_tofpath2kpi;
00227   NTuple::Array<double> m_zhit2kpi;
00228   NTuple::Array<double> m_tofID2kpi;
00229   NTuple::Array<double> m_clusterID2kpi;
00230   NTuple::Array<double> m_texe2kpi;
00231   NTuple::Array<double> m_texmu2kpi;
00232   NTuple::Array<double> m_texpi2kpi;
00233   NTuple::Array<double> m_texk2kpi;
00234   NTuple::Array<double> m_texpr2kpi;
00235   NTuple::Array<double> m_dte2kpi;
00236   NTuple::Array<double> m_dtmu2kpi;
00237   NTuple::Array<double> m_dtpi2kpi;
00238   NTuple::Array<double> m_dtk2kpi;
00239   NTuple::Array<double> m_dtpr2kpi;  
00240   NTuple::Array<double> m_sigmaetof2kpi;
00241   NTuple::Array<double> m_sigmamutof2kpi;
00242   NTuple::Array<double> m_sigmapitof2kpi;
00243   NTuple::Array<double> m_sigmaktof2kpi;
00244   NTuple::Array<double> m_sigmaprtof2kpi;
00245   NTuple::Array<double> m_t0tof2kpi;
00246   NTuple::Array<double> m_errt0tof2kpi; 
00247  
00248   NTuple::Array<double> m_sigmaetofjs;
00249   NTuple::Array<double> m_sigmamutofjs;
00250   NTuple::Array<double> m_sigmapitofjs;
00251   NTuple::Array<double> m_sigmaktofjs;
00252   NTuple::Array<double> m_sigmaprtofjs;
00253   NTuple::Array<double> m_t0tofjs;
00254   NTuple::Array<double> m_errt0tofjs;
00255   NTuple::Item<double>  m_mchic2kpi;
00256   NTuple::Item<long>  m_eventtype;
00257   NTuple::Item<double>  m_mpsip2kpi;
00258   NTuple::Item<double>  m_chis2kpi;  
00259   NTuple::Item<double>  m_mchic4c2kpi;
00260     NTuple::Item<double>  m_mpsip4c2kpi;
00261       NTuple::Item<double>  m_chis4c2kpi;
00262   NTuple::Item<double>  m_mlplm2kpi;
00263   NTuple::Item<double>  m_mhphm2kpi;
00264   NTuple::Item<double>  m_mlphp2kpi;
00265   NTuple::Item<double>  m_mlmhm2kpi;
00266   NTuple::Item<double>  m_mlphm2kpi;
00267   NTuple::Item<double>  m_mlmhp2kpi;
00268 
00269   NTuple::Item<long>     m_ncy20;
00270   NTuple::Item<long>     m_ncy30;
00271   
00272   NTuple::Item<long>     m_idxemc;
00273   NTuple::Array<long>    m_numHits;    // Total number of hits 
00274   NTuple::Array<double>  m_secondmoment;
00275   NTuple::Array<double>  m_latmoment;
00276   NTuple::Array<double>  m_timegm;
00277   NTuple::Array<double>  m_cellId;
00278   NTuple::Array<double>  m_module;
00279   NTuple::Array<double>  m_a20Moment;
00280   NTuple::Array<double>  m_a42Moment;
00281   NTuple::Array<double>  m_getEAll;
00282   NTuple::Array<double>  m_getShowerId;
00283   NTuple::Array<double>  m_getClusterId;
00284   NTuple::Array<double>  m_x;       //  Shower coordinates and errors
00285   NTuple::Array<double>  m_y;
00286   NTuple::Array<double>  m_z;
00287   NTuple::Array<double>  m_cosemc;   // Shower Counter angles and errors
00288   NTuple::Array<double>  m_phiemc;
00289   NTuple::Array<double>  m_energy;  // Total energy observed in Emc
00290   NTuple::Array<double>  m_eSeed;
00291   NTuple::Array<double>  m_e3x3;
00292   NTuple::Array<double>  m_e5x5;
00293   NTuple::Array<double>  m_dang4c;
00294   NTuple::Array<double>  m_dthe4c;
00295   NTuple::Array<double>  m_dphi4c;
00296   NTuple::Array<double>  m_dang4crt;
00297   NTuple::Array<double>  m_dthe4crt;
00298   NTuple::Array<double>  m_dphi4crt;  
00299   NTuple::Matrix<double> m_phgmtof;
00300   NTuple::Array<double>  m_phgmtof0;
00301   NTuple::Array<double>  m_phgmtof1;  
00302   NTuple::Array<double>  m_phgmtof2;   
00303 
00304   
00305   Algorithm* m_subalg1;
00306   Algorithm* m_subalg2;  
00307   Algorithm* m_subalg3;
00308     
00309 };
00310 
00311 #endif 

Generated on Tue Nov 29 22:57:31 2016 for BOSS_7.0.2 by  doxygen 1.4.7