File indexing completed on 2025-08-03 08:12:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef EMCALLIKELIHOOD_H_
0012 #define EMCALLIKELIHOOD_H_
0013
0014 #include <fun4all/SubsysReco.h>
0015 #include <phool/PHCompositeNode.h>
0016 #include <TNtuple.h>
0017 #include <TFile.h>
0018
0019 #include <string>
0020 #include <stdint.h>
0021 #include <utility> // std::pair, std::make_pair
0022
0023 class EMCalTrk;
0024 class TH2;
0025 class TH1;
0026 class Fun4AllHistoManager;
0027
0028
0029
0030
0031 class EMCalLikelihood : public SubsysReco
0032 {
0033 public:
0034 EMCalLikelihood(const std::string &filename);
0035 virtual
0036 ~EMCalLikelihood();
0037
0038 int
0039 Init(PHCompositeNode *topNode);
0040 int
0041 InitRun(PHCompositeNode *topNode);
0042 int
0043 process_event(PHCompositeNode *topNode);
0044 int
0045 End(PHCompositeNode *topNode);
0046
0047 Fun4AllHistoManager *
0048 get_HistoManager();
0049
0050 void
0051 ApplyEMCalGanging(EMCalTrk * trk);
0052
0053 void
0054 UpdateEnergyDeposition(EMCalTrk * trk);
0055
0056 void
0057 UpdateEnergyDepositionLikelihood(EMCalTrk * trk);
0058
0059 TH2*
0060 get_h2_Edep_Distribution_e() const
0061 {
0062 return h2_Edep_Distribution_e;
0063 }
0064
0065 void
0066 set_h2_Edep_Distribution_e(TH2* h2EdepDistributionE)
0067 {
0068 h2_Edep_Distribution_e = h2EdepDistributionE;
0069 }
0070
0071 TH2*
0072 get_h2_Edep_Distribution_pi() const
0073 {
0074 return h2_Edep_Distribution_pi;
0075 }
0076
0077 void
0078 set_h2_Edep_Distribution_pi(TH2* h2EdepDistributionPi)
0079 {
0080 h2_Edep_Distribution_pi = h2EdepDistributionPi;
0081 }
0082
0083 double
0084 get_center_cemc_ieta() const
0085 {
0086 return center_cemc_ieta;
0087 }
0088
0089 void
0090 set_center_cemc_ieta(double centerCemcIeta)
0091 {
0092 center_cemc_ieta = centerCemcIeta;
0093 }
0094
0095 double
0096 get_center_cemc_iphi() const
0097 {
0098 return center_cemc_iphi;
0099 }
0100
0101 void
0102 set_center_cemc_iphi(double centerCemcIphi)
0103 {
0104 center_cemc_iphi = centerCemcIphi;
0105 }
0106
0107 double
0108 get_center_hcalin_ieta() const
0109 {
0110 return center_hcalin_ieta;
0111 }
0112
0113 void
0114 set_center_hcalin_ieta(double centerHcalinIeta)
0115 {
0116 center_hcalin_ieta = centerHcalinIeta;
0117 }
0118
0119 double
0120 get_center_hcalin_iphi() const
0121 {
0122 return center_hcalin_iphi;
0123 }
0124
0125 void
0126 set_center_hcalin_iphi(double centerHcalinIphi)
0127 {
0128 center_hcalin_iphi = centerHcalinIphi;
0129 }
0130
0131 double
0132 get_width_cemc_ieta() const
0133 {
0134 return width_cemc_ieta;
0135 }
0136
0137 void
0138 set_width_cemc_ieta(double widthCemcIeta)
0139 {
0140 width_cemc_ieta = widthCemcIeta;
0141 }
0142
0143 double
0144 get_width_cemc_iphi() const
0145 {
0146 return width_cemc_iphi;
0147 }
0148
0149 void
0150 set_width_cemc_iphi(double widthCemcIphi)
0151 {
0152 width_cemc_iphi = widthCemcIphi;
0153 }
0154
0155 double
0156 get_width_hcalin_ieta() const
0157 {
0158 return width_hcalin_ieta;
0159 }
0160
0161 void
0162 set_width_hcalin_ieta(double widthHcalinIeta)
0163 {
0164 width_hcalin_ieta = widthHcalinIeta;
0165 }
0166
0167 double
0168 get_width_hcalin_iphi() const
0169 {
0170 return width_hcalin_iphi;
0171 }
0172
0173 void
0174 set_width_hcalin_iphi(double widthHcalinIphi)
0175 {
0176 width_hcalin_iphi = widthHcalinIphi;
0177 }
0178
0179 void do_ganging(unsigned int eta, unsigned int phi)
0180 {
0181 _do_ganging = true;
0182 _ganging_size.first= eta;
0183 _ganging_size.second= phi;
0184 }
0185
0186 private:
0187 std::string _filename;
0188
0189 int _ievent;
0190
0191 EMCalTrk * _trk;
0192
0193 double center_cemc_iphi;
0194 double center_cemc_ieta;
0195 double center_hcalin_iphi;
0196 double center_hcalin_ieta;
0197
0198 double width_cemc_iphi;
0199 double width_cemc_ieta;
0200 double width_hcalin_iphi;
0201 double width_hcalin_ieta;
0202
0203 TH2 * h2_Edep_Distribution_e;
0204 TH2 * h2_Edep_Distribution_pi;
0205 TH1 * h1_ep_Distribution_e;
0206 TH1 * h1_ep_Distribution_pi;
0207
0208 bool _do_ganging;
0209
0210
0211 std::pair<unsigned int, unsigned int> _ganging_size;
0212 };
0213
0214 #endif