1#ifndef Physics_Analysis_PionZeroList_H
2#define Physics_Analysis_PionZeroList_H
6#include "CLHEP/Vector/ThreeVector.h"
7#include "CLHEP/Vector/LorentzVector.h"
9using CLHEP::Hep3Vector;
10using CLHEP::HepLorentzVector;
11typedef std::vector<Hep3Vector>
Vp3;
12typedef std::vector<HepLorentzVector>
Vp4;
16 PionZero(HepLorentzVector &vp_gam_1,
int &index_gam_1, HepLorentzVector &vp_gam_2,
int &index_gam_2);
18 int get_index(
int i){
return i>0 ? m_index_2 : m_index_1; }
22 HepLorentzVector
get_gam_vp(
int i){
return i>0 ? m_vp_2 : m_vp_1;}
25 int m_index_1, m_index_2, m_good_method;
26 HepLorentzVector m_vp_1, m_vp_2, m_vp_total;
43 class f_less:
public std::binary_function<PionZero, PionZero, bool>{
45 result_type
operator()(first_argument_type p1, second_argument_type
p2){
46 return (result_type) (p1.get_goodness() <
p2.get_goodness());
51 Vp4 m_gam_vp, m_pi0_vp;
52 std::vector<PionZero> Vpi0_list;
53 double m_low_cut, m_high_cut;
std::vector< HepLorentzVector > Vp4
std::vector< HepLorentzVector > Vp4
std::vector< Hep3Vector > Vp3
result_type operator()(first_argument_type p1, second_argument_type p2)
void set_cut(int index, double cut)
HepLorentzVector get_pi0_vp()
HepLorentzVector get_gam_vp(int i)
void cal_goodness(int good_method)