8PionZero::PionZero(HepLorentzVector &vp_gam_1,
int &index_gam_1, HepLorentzVector &vp_gam_2,
int &index_gam_2):
10 m_index_1(index_gam_1),
12 m_index_2(index_gam_2){
13 m_vp_total = m_vp_1 + m_vp_2;
14 m_inv_mass = m_vp_total.m();
36 cout <<
"not complete yet, sorry" << endl;
39 cout <<
"this default do nothing" << endl;
52 int m_Ngam(input_vp.size());
53 if(m_Ngam<2) cout <<
"number of photons less than 2" << endl;
54 for(
int i=0; i<m_Ngam-1; i++){
55 for(
int j=i+1; j<m_Ngam; j++){
56 double m_temp_mass((m_gam_vp[i]+m_gam_vp[j]).m());
57 if(m_temp_mass<m_low_cut || m_temp_mass>m_high_cut)
continue;
58 PionZero m_temp_pi0(m_gam_vp[i], i, m_gam_vp[j], j);
59 Vpi0_list.push_back(m_temp_pi0);
62 m_num_pi0 = Vpi0_list.size();
67 if(index < 1) m_low_cut =
cut;
68 else m_high_cut =
cut;
69 std::vector<PionZero>::iterator m_ind;
70 for(m_ind=Vpi0_list.begin(); m_ind!=Vpi0_list.end(); m_ind++){
71 double m_temp_mass((*m_ind).get_mass());
72 if(m_temp_mass<m_low_cut||m_temp_mass>m_high_cut) Vpi0_list.erase(m_ind);
79 std::sort(Vpi0_list.begin(), Vpi0_list.end(),
f_less());
85 std::vector<int> gam_index_v(0);
86 std::vector<PionZero> temp_pi0_list(0);
87 for(
int i=0; i<Vpi0_list.size(); i++){
88 int temp_one(Vpi0_list[i].get_index(0));
89 int temp_two(Vpi0_list[i].get_index(1));
90 if(find(gam_index_v.begin(), gam_index_v.end(), temp_one) != gam_index_v.end() )
continue;
91 if(find(gam_index_v.begin(), gam_index_v.end(), temp_two) != gam_index_v.end() )
continue;
92 gam_index_v.push_back(temp_one);
93 gam_index_v.push_back(temp_two);
94 temp_pi0_list.push_back(Vpi0_list[i]);
96 Vpi0_list = temp_pi0_list;
102 m_num_pi0 = Vpi0_list.size();
104 for(
int i=0; i<m_num_pi0; i++) m_pi0_vp.push_back(Vpi0_list[i].get_pi0_vp());
109 std::cout <<
"number of pion0 in the list " << m_num_pi0 << std::endl;
110 for(
int i=0; i<Vpi0_list.size(); i++){
111 std::cout <<
"i= " << i << endl;
112 std::cout <<
"pi0 mass " << Vpi0_list[i].get_mass() << endl;
113 std::cout <<
"pi0 goodness " << Vpi0_list[i].get_goodness() << endl;
114 std::cout <<
"pi0 four momentum " << Vpi0_list[i].get_pi0_vp() << endl;
115 std::cout <<
"fir gam index " << Vpi0_list[i].get_index(0) << endl;
116 std::cout <<
"sec gam index " << Vpi0_list[i].get_index(1) << endl;
117 std::cout <<
"fir gam mom " << Vpi0_list[i].get_gam_vp(0) << endl;
118 std::cout <<
"sec gam mom " << Vpi0_list[i].get_gam_vp(1) << endl;
std::vector< HepLorentzVector > Vp4
void set_cut(int index, double cut)
PionZeroList(Vp4 &input_vp)
void cal_goodness(int good_method)