1#ifndef MAKEGROUPLIST__H
2#define MAKEGROUPLIST__H
4#include "CLHEP/Vector/LorentzVector.h"
6#include "EvtRecEvent/EvtRecEvent.h"
7#include "EvtRecEvent/EvtRecTrack.h"
9#include "VertexFit/KinematicFit.h"
48 if (
cut.isGoodPhoton( gTrk ) )
64 if ( list.size() == 0 )
66 std::cout <<
"GammaList->()" << std::endl;
69 std::cout <<
"GammaList->(";
71 { std::cout << ( *it )->trackId() <<
", "; }
72 std::cout <<
')' << std::endl;
85 for ( ; i_it != i_it_end; ++i_it )
87 for ( j_it = i_it, ++j_it; j_it != j_it_end; ++j_it )
95 double inv_m = (
getP4( g1Shower ) +
getP4( g2Shower ) ).m();
109 std::cout <<
"OK Pi0List->{";
112 std::cout <<
"(" << ( *it ).inv_m <<
"," << ( *it ).First->trackId() <<
","
113 << ( *it ).Second->trackId() <<
"), ";
115 std::cout <<
'}' << std::endl;
121 if ( cri.
check( *it ) ) ++it;
132 static double xmpi0 = 0.1349766;
143 kmfit->
AddTrack( 0, 0.0, g1Shower );
144 kmfit->
AddTrack( 1, 0.0, g2Shower );
148 HepLorentzVector g1P4 =
getP4( g1Shower );
149 HepLorentzVector g2P4 =
getP4( g2Shower );
150 HepLorentzVector p2g = g1P4 + g2P4;
155 if ( g1P4.e() >= g2P4.e() )
170 recPi0Col->push_back( recPi0 );
ObjectVector< EvtRecPi0 > EvtRecPi0Col
ObjectVector< EvtRecTrack > EvtRecTrackCol
*********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
HepLorentzVector getP4(RecEmcShower *gtrk)
***************************************************************************************Pseudo Class RRes *****************************************************************************************Parameters and physical constants **Maarten sept ************************************************************************DOUBLE PRECISION xsmu **************************************************************************PARTICLE DATA all others are from PDG *Only resonances with known widths into electron pairs are sept ************************************************************************C Declarations xmb DOUBLE PRECISION xcb DOUBLE PRECISION xmpi0
void setChisq(const double chisq)
void setLoPfit(const HepLorentzVector &loPfit)
void setLoEnGamma(const EvtRecTrack *trk)
void setHiPfit(const HepLorentzVector &hiPfit)
void setUnconMass(const double unconMass)
void setHiEnGamma(const EvtRecTrack *trk)
RecEmcShower * emcShower()
static KinematicFit * instance()
void AddResonance(int number, double mres, std::vector< int > tlis)
HepLorentzVector pfit(int n) const
void AddTrack(const int number, const double mass, const RecMdcTrack *trk)
std::list< GammaPair >::iterator Pi0Iterator
Pi0List & make_pi0_list(const GammaList &gamma_list)
std::list< EvtRecTrack * > GammaList
void print_gamma_list(const GammaList &list)
std::list< Criteria >::iterator CriteriaIterator
void print_pi0_list(const Pi0List &list)
GammaList default_gamma_list
GammaList & make_gamma_list(UserPi0Cut &cut)
CriteriaList default_criteria_list
void add_cut(const Criteria &cri)
Pi0List candidate_pi0_list
std::list< Criteria >::const_iterator Const_CriteriaIteator
void Pi0ListToTDS(const Pi0List &pi0list, EvtRecPi0Col *recPi0Col)
GammaList & GetDefaultGammaList()
Pi0List & GetCandidatePi0List()
std::list< EvtRecTrack * >::iterator GammaIterator
std::list< EvtRecTrack * >::const_iterator Const_GammaIterator
std::list< GammaPair >::const_iterator Const_Pi0Iterator
Pi0List & GetFilterPi0List()
std::list< GammaPair > Pi0List
std::list< Criteria > CriteriaList
Pi0List & apply_criteria(const Criteria &cri)
virtual bool check(const GammaPair &gp) const
static EvtRecEvent * recEvt
static EvtRecTrackCol * recTrkCol