1#ifndef Physics_Analysis_PionZeroList_H
2#define Physics_Analysis_PionZeroList_H
4#include "CLHEP/Vector/LorentzVector.h"
5#include "CLHEP/Vector/ThreeVector.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,
19 int get_index(
int i ) {
return i > 0 ? m_index_2 : m_index_1; }
23 HepLorentzVector
get_gam_vp(
int i ) {
return i > 0 ? m_vp_2 : m_vp_1; }
27 int m_index_1, m_index_2, m_good_method;
28 HepLorentzVector m_vp_1, m_vp_2, m_vp_total;
47 return p1.get_goodness() <
p2.get_goodness();
52 Vp4 m_gam_vp, m_pi0_vp;
53 std::vector<PionZero> Vpi0_list;
54 double m_low_cut, m_high_cut;
std::vector< HepLorentzVector > Vp4
*********Class see also m_nmax DOUBLE PRECISION m_MasPhot DOUBLE PRECISION m_phsu DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_r2 DOUBLE PRECISION m_WtMass INTEGER m_nmax INTEGER m_Nevgen INTEGER m_IsFSR INTEGER m_MarTot *COMMON c_KarFin $ !Output file $ !Event serial number $ !alpha QED at Thomson limit $ !minimum energy at CMS for remooval $ !infrared cut
std::vector< HepLorentzVector > Vp4
std::vector< Hep3Vector > Vp3
bool operator()(PionZero &p1, PionZero &p2) const
void set_cut(int index, double cut)
PionZeroList(Vp4 &input_vp)
HepLorentzVector get_pi0_vp()
HepLorentzVector get_gam_vp(int i)
void cal_goodness(int good_method)
PionZero(HepLorentzVector &vp_gam_1, int &index_gam_1, HepLorentzVector &vp_gam_2, int &index_gam_2)