40 signifmatrix_ +=
input;
48 const double &met_phi,
49 const double &met_set) {
50 signifmatrix_ =
input;
51 set_worker_ = met_set;
52 xmet_ = met_r *
cos(met_phi);
53 ymet_ = met_r *
sin(met_phi);
83 for (std::vector<SigInputObj>::const_iterator
obj = eventVec.begin();
obj != eventVec.end(); ++
obj) {
84 double et_tmp =
obj->get_energy();
85 double phi_tmp =
obj->get_phi();
86 double sigma_et =
obj->get_sigma_e();
87 double sigma_tan =
obj->get_sigma_tan();
89 double cosphi =
cos(phi_tmp);
90 double sinphi =
sin(phi_tmp);
91 double xval = et_tmp * cosphi;
92 double yval = et_tmp * sinphi;
95 set_worker_ -= et_tmp;
97 double sigma0_2 = sigma_et * sigma_et;
98 double sigma1_2 = sigma_tan * sigma_tan;
100 v_tot(0, 0) -= sigma0_2 * cosphi * cosphi + sigma1_2 * sinphi * sinphi;
101 v_tot(0, 1) -= cosphi * sinphi * (sigma0_2 - sigma1_2);
102 v_tot(1, 0) -= cosphi * sinphi * (sigma0_2 - sigma1_2);
103 v_tot(1, 1) -= sigma1_2 * cosphi * cosphi + sigma0_2 * sinphi * sinphi;
105 signifmatrix_ = v_tot;
113 for (std::vector<SigInputObj>::const_iterator
obj = eventVec.begin();
obj != eventVec.end(); ++
obj) {
114 double et_tmp =
obj->get_energy();
115 double phi_tmp =
obj->get_phi();
116 double sigma_et =
obj->get_sigma_e();
117 double sigma_tan =
obj->get_sigma_tan();
119 double cosphi =
cos(phi_tmp);
120 double sinphi =
sin(phi_tmp);
121 double xval = et_tmp * cosphi;
122 double yval = et_tmp * sinphi;
125 set_worker_ += et_tmp;
127 double sigma0_2 = sigma_et * sigma_et;
128 double sigma1_2 = sigma_tan * sigma_tan;
130 v_tot(0, 0) += sigma0_2 * cosphi * cosphi + sigma1_2 * sinphi * sinphi;
131 v_tot(0, 1) += cosphi * sinphi * (sigma0_2 - sigma1_2);
132 v_tot(1, 0) += cosphi * sinphi * (sigma0_2 - sigma1_2);
133 v_tot(1, 1) += sigma1_2 * cosphi * cosphi + sigma0_2 * sinphi * sinphi;
135 signifmatrix_ = v_tot;
140 if (signifmatrix_(0, 0) == 0 && signifmatrix_(1, 1) == 0 && signifmatrix_(1, 0) == 0 && signifmatrix_(0, 1) == 0) {
148 ROOT::Math::SVector<double, 2> metvec;
151 v_tot = signifmatrix_;
155 met_r =
sqrt(xmet_ * xmet_ + ymet_ * ymet_);
156 met_set = set_worker_;
157 met_phi = TMath::ATan2(ymet_, xmet_);
163 if (fabs(det) < 0.000001)
173 double lnSignificance = ROOT::Math::Dot(metvec, (v_tot * metvec));
177 return lnSignificance;