1#ifndef MAKEGROUPLIST__H
2#define MAKEGROUPLIST__H
7#include "VertexFit/KinematicFit.h"
8#include "CLHEP/Vector/LorentzVector.h"
9#include "EvtRecEvent/EvtRecEvent.h"
10#include "EvtRecEvent/EvtRecTrack.h"
19 typedef std::list<GammaPair>
Pi0List;
23 typedef std::list<EvtRecTrack*>
GammaList;
50 if(
cut.isGoodPhoton(gTrk))
66 if(list.size() == 0) {std::cout<<
"GammaList->()"<<std::endl;
return;}
67 std::cout<<
"GammaList->(";
70 std::cout<<(*it)->trackId()<<
", ";
72 std::cout<<
')'<<std::endl;
86 for(; i_it != i_it_end; ++i_it)
88 for( j_it = i_it, ++j_it ; j_it != j_it_end; ++j_it)
96 double inv_m = (
getP4(g1Shower) +
getP4(g2Shower)).m();
111 std::cout<<
"OK Pi0List->{";
114 std::cout<<
"("<<(*it).inv_m<<
","<<(*it).First->trackId()<<
","<<(*it).Second->trackId()<<
"), ";
116 std::cout<<
'}'<<std::endl;
136 static double xmpi0= 0.1349766;
152 HepLorentzVector g1P4 =
getP4(g1Shower);
153 HepLorentzVector g2P4 =
getP4(g2Shower);
154 HepLorentzVector p2g = g1P4 + g2P4;
159 if ( g1P4.e() >= g2P4.e() ) {
172 recPi0Col->push_back(recPi0);
HepLorentzVector getP4(RecEmcShower *gtrk)
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
***************************************************************************************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)
void print_gamma_list(const GammaList &list)
void print_pi0_list(const Pi0List &list)
std::list< GammaPair > Pi0List
GammaList default_gamma_list
std::list< EvtRecTrack * >::iterator GammaIterator
GammaList & make_gamma_list(UserPi0Cut &cut)
CriteriaList default_criteria_list
std::list< EvtRecTrack * >::const_iterator Const_GammaIterator
void add_cut(const Criteria &cri)
Pi0List candidate_pi0_list
void Pi0ListToTDS(const Pi0List &pi0list, EvtRecPi0Col *recPi0Col)
GammaList & GetDefaultGammaList()
Pi0List & GetCandidatePi0List()
std::list< Criteria >::const_iterator Const_CriteriaIteator
std::list< Criteria > CriteriaList
std::list< Criteria >::iterator CriteriaIterator
Pi0List & GetFilterPi0List()
std::list< GammaPair >::const_iterator Const_Pi0Iterator
std::list< EvtRecTrack * > GammaList
Pi0List & apply_criteria(const Criteria &cri)
virtual bool check(const GammaPair &gp) const
static EvtRecEvent * recEvt
static EvtRecTrackCol * recTrkCol