Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:12:36

0001 #include "sPHElectronv1.h"
0002 
0003 #include <trackbase_historic/SvtxTrack.h>
0004 #include <trackbase/TrkrDefs.h>
0005 
0006 #include <cmath>
0007 #include <utility>          // for swap
0008 
0009 sPHElectronv1::sPHElectronv1()
0010 {
0011   _id = 99999;
0012   _charge = 0;
0013   _px = 0.;
0014   _py = 0.;
0015   _pz = 0.;
0016   _emce = 0.;
0017   _dphi = 99999.;
0018   _deta = 99999.;
0019   _e3x3 = 0.;
0020   _e5x5 = 0.;
0021 
0022   _chi2 = 99999.;
0023   _ndf = 0;
0024   _zvtx = 99999.;
0025   _dca2d = 99999.;
0026   _dca2d_error = 99999.;
0027   _dca3d_xy = 99999.;
0028   _dca3d_z = 99999.;
0029 
0030   _nmvtx = 0;
0031   _ntpc = 0;
0032 
0033   _cemc_ecore = 0.;
0034   _cemc_chi2 = 99999.;
0035   _cemc_prob = 99999.;
0036   _cemc_dphi = 99999.;
0037   _cemc_deta = 99999.;
0038   _hcalin_e = 99999.;
0039   _hcalin_dphi = 99999.;
0040   _hcalin_deta = 99999.;
0041 
0042 }
0043 
0044 sPHElectronv1::sPHElectronv1(const SvtxTrack* trk) {
0045   _id = trk->get_id();
0046   _charge = trk->get_charge();
0047   _px = trk->get_px(); 
0048   _py = trk->get_py(); 
0049   _pz = trk->get_pz(); 
0050   _dphi = trk->get_cal_dphi(SvtxTrack::CAL_LAYER::CEMC); 
0051   _deta = trk->get_cal_deta(SvtxTrack::CAL_LAYER::CEMC);
0052   _emce = trk->get_cal_cluster_e(SvtxTrack::CAL_LAYER::CEMC);
0053   _e3x3 = trk->get_cal_energy_3x3(SvtxTrack::CAL_LAYER::CEMC);
0054   _e5x5 = trk->get_cal_energy_5x5(SvtxTrack::CAL_LAYER::CEMC);
0055 
0056   _chi2 = trk->get_chisq();
0057   _ndf = trk->get_ndf();
0058   _zvtx = trk->get_z();
0059   _dca2d = trk->get_dca2d();
0060   _dca2d_error = trk->get_dca2d_error();
0061   _dca3d_xy = trk->get_dca3d_xy();
0062   _dca3d_z = trk->get_dca3d_z();
0063 
0064   _cemc_ecore = 0.;
0065   _cemc_chi2  = 99999.;
0066   _cemc_prob  = 99999.;
0067   _cemc_dphi  = trk->get_cal_dphi(SvtxTrack::CAL_LAYER::CEMC);
0068   _cemc_deta  = trk->get_cal_deta(SvtxTrack::CAL_LAYER::CEMC);
0069   _hcalin_e    = trk->get_cal_cluster_e(SvtxTrack::CAL_LAYER::HCALIN);
0070   _hcalin_dphi = trk->get_cal_dphi(SvtxTrack::CAL_LAYER::HCALIN);
0071   _hcalin_deta = trk->get_cal_deta(SvtxTrack::CAL_LAYER::HCALIN);
0072 
0073   _nmvtx = 0;
0074   _ntpc = 0;
0075   for (SvtxTrack::ConstClusterKeyIter iter = trk->begin_cluster_keys();
0076      iter != trk->end_cluster_keys();
0077      ++iter)
0078   {
0079     TrkrDefs::cluskey cluster_key = *iter;
0080     int trackerid = TrkrDefs::getTrkrId(cluster_key);
0081     if(trackerid==0) _nmvtx++;
0082     if(trackerid==2) _ntpc++;
0083   }
0084 }
0085 
0086 sPHElectronv1::sPHElectronv1(const sPHElectronv1& electron)
0087 {
0088   *this = electron;
0089   return;
0090 }
0091 
0092 sPHElectronv1& sPHElectronv1::operator=(const sPHElectronv1& electron)
0093 {
0094   _id = electron.get_id();
0095   _charge = electron.get_charge();
0096   _px = electron.get_px();
0097   _py = electron.get_py();
0098   _pz = electron.get_pz();
0099   _dphi = electron.get_dphi();
0100   _deta = electron.get_deta();
0101   _emce = electron.get_emce();
0102   _e3x3 = electron.get_e3x3();
0103   _e5x5 = electron.get_e5x5();
0104 
0105   _chi2 = electron.get_chi2();
0106   _ndf = electron.get_ndf();
0107   _zvtx = electron.get_zvtx();
0108   _dca2d = electron.get_dca2d();
0109   _dca2d_error = electron.get_dca2d_error();
0110   _dca3d_xy = electron.get_dca3d_xy();
0111   _dca3d_z = electron.get_dca3d_z();
0112 
0113   _nmvtx = electron.get_nmvtx();
0114   _ntpc = electron.get_ntpc();
0115 
0116   _cemc_ecore = electron.get_cemc_ecore();
0117   _cemc_chi2  = electron.get_cemc_chi2();
0118   _cemc_prob  = electron.get_cemc_prob();
0119   _cemc_dphi  = electron.get_cemc_dphi();
0120   _cemc_deta  = electron.get_cemc_deta();
0121   _hcalin_e    = electron.get_hcalin_e();
0122   _hcalin_dphi = electron.get_hcalin_dphi();
0123   _hcalin_deta = electron.get_hcalin_deta();
0124 
0125   return *this;
0126 }
0127 
0128 void sPHElectronv1::identify(std::ostream& os) const
0129 {
0130   os << " sPHElectronv1 object" << std::endl;
0131   return;
0132 }
0133 
0134 int sPHElectronv1::isValid() const
0135 {
0136   if(_charge!=0) {return 1;} else {return 0;}
0137 }
0138