#include "SHRiMPS/Main/Soft_Jet_Criterion.H" #include "ATOOLS/Org/Message.H" using namespace SHRIMPS; using namespace ATOOLS; using namespace std; double Soft_Jet_Criterion::PTij2(ATOOLS::Vec4D pi,ATOOLS::Vec4D pj) { double pti2 = pi.PPerp2(); double ptj2 = pj.PPerp2(); return Min(pti2,ptj2)*(cosh(pi.Eta()-pj.Eta())-cos(pi.Phi()-pj.Phi())); } size_t Soft_Jet_Criterion::FindCombination(ATOOLS::Cluster_Amplitude *ampl) { ClusterLeg_Vector newlegs(ampl->Legs()); if (newlegs.size()Flav().Bar()); Vec4D lastmom(newlegs[newlegs.size()-1]->Mom()); for (size_t i=2;iFlav()!=lastflav) continue; // colours to project on reference partons size_t cinew = newlegs[i]->Col().m_i; size_t cjnew = newlegs[i]->Col().m_j; bool hit = false; size_t maxj = Min(i,m_reflegs.size()-1); for (size_t j=2;j<=maxj;j++) { if (m_reflegs[j]->Col().m_i==cinew && m_reflegs[j]->Col().m_j==cjnew) { double pt2 = PTij2(lastmom,newlegs[i]->Mom()); if (pt2Mom())<<".\n"; } */ return winner; } double Soft_Jet_Criterion::Value(ATOOLS::Cluster_Amplitude *ampl,int mode) { m_pt2 = 1.e12; ClusterLeg_Vector newlegs(ampl->Legs()); for (size_t i=2;i "<Flav()<<" " // <<"["<Col().m_i<<" "<Col().m_j<<"], " // <Mom()<<".\n"; } //msg_Out()<<"\n"; for (size_t i=2;i "<Flav()<<" " // <<"["<Col().m_i<<" "<Col().m_j<<"], " // <Mom()<<".\n"; } size_t winner(FindCombination(ampl)); if (m_kt2veto.find(m_reflegs[winner])==m_kt2veto.end()) { //msg_Out()<<" reconstructed non-core parton.\n"; } else if (winner>0 && m_pt2>m_kt2veto[m_reflegs[winner]]) { //msg_Out()<::iterator vetit=m_kt2veto.begin(); vetit!=m_kt2veto.end();vetit++) { msg_Out()<first->Id()<<": ktveto = "<second)<<"\n"; } msg_Out()<<"------------------------------------------------------\n"; */ } JF::JF() : PHASIC::Jet_Finder(), m_ycut(1.) {}