Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:12:42

0001 // $Id: $                                                                                             
0002 
0003 /*!
0004  * \file EMCalTrk.C
0005  * \brief 
0006  * \author Jin Huang <jhuang@bnl.gov>
0007  * \version $Revision:   $
0008  * \date $Date: $
0009  */
0010 
0011 #include "EMCalTrk.h"
0012 #include <cmath>
0013 
0014 using namespace std;
0015 
0016 ClassImp(EMCalTrk)
0017 
0018 EMCalTrk::EMCalTrk()
0019 {
0020   Reset();
0021 }
0022 
0023 EMCalTrk::~EMCalTrk()
0024 {
0025   // TODO Auto-generated destructor stub
0026 }
0027 
0028 void
0029 EMCalTrk::Reset()
0030 {
0031 
0032   for (int ieta = 0; ieta < Max_N_Tower; ++ieta)
0033     {
0034       for (int iphi = 0; iphi < Max_N_Tower; ++iphi)
0035         {
0036           cemc_ieta[ieta][iphi] = -9999;
0037           cemc_iphi[ieta][iphi] = -9999;
0038           hcalin_ieta[ieta][iphi] = -9999;
0039           hcalin_iphi[ieta][iphi] = -9999;
0040           cemc_energy[ieta][iphi] = -0;
0041           hcalin_energy[ieta][iphi] = -0;
0042           cemc_radius[ieta][iphi] = 9999;
0043           hcalin_radius[ieta][iphi] = 9999;
0044         }
0045     }
0046 
0047   trackID = -1;
0048   charge = -999;
0049   quality = NAN;
0050   chisq = NAN;
0051   ndf = NAN;
0052   nhits = NAN;
0053   layers = 0;
0054 
0055   dca2d = NAN;
0056   dca2dsigma = NAN;
0057   px = NAN;
0058   py = NAN;
0059   pz = NAN;
0060   pcax = NAN;
0061   pcay = NAN;
0062   pcaz = NAN;
0063 
0064   presdphi = NAN;
0065   presdeta = NAN;
0066   prese3x3 = NAN;
0067   prese = NAN;
0068 
0069   cemcdphi = NAN;
0070   cemcdeta = NAN;
0071   cemce3x3 = NAN;
0072   cemce = NAN;
0073 
0074   hcalindphi = NAN;
0075   hcalindeta = NAN;
0076   hcaline3x3 = NAN;
0077   hcaline = NAN;
0078 
0079   hcaloutdphi = NAN;
0080   hcaloutdeta = NAN;
0081   hcaloute3x3 = NAN;
0082   hcaloute = NAN;
0083 
0084   gtrackID = -1;
0085   gflavor = -1;
0086   ng4hits = -1;
0087   gpx = NAN;
0088   gpy = NAN;
0089   gpz = NAN;
0090   gvx = NAN;
0091   gvy = NAN;
0092   gvz = NAN;
0093   gfpx = NAN;
0094   gfpy = NAN;
0095   gfpz = NAN;
0096   gfx = NAN;
0097   gfy = NAN;
0098   gfz = NAN;
0099   gembed = -1;
0100 
0101   nfromtruth = -1;
0102 
0103   ll_ep_e = NAN;
0104   ll_ep_h = NAN;
0105 
0106   ll_edep_e = NAN;
0107   ll_edep_h = NAN;
0108 
0109   ll_shape_e = NAN;
0110   ll_shape_h = NAN;
0111 
0112   cemc_sum_energy = 0;
0113   cemc_sum_n_tower = 0;
0114   hcalin_sum_energy = 0;
0115   hcalin_sum_n_tower = 0;
0116 
0117 }
0118 
0119 void
0120 EMCalTrk::Clear(Option_t *option)
0121 {
0122   PHObject::Clear(option);
0123 
0124   Reset();
0125 }
0126 
0127 //! e/p based on CEMC and tracking
0128 double
0129 EMCalTrk::get_ep() const
0130 {
0131   const double p2 = px * px + py * py + pz * pz;
0132   return cemc_sum_energy / sqrt(p2);
0133 }