本文整理汇总了C++中Particles::calc_gbE方法的典型用法代码示例。如果您正苦于以下问题:C++ Particles::calc_gbE方法的具体用法?C++ Particles::calc_gbE怎么用?C++ Particles::calc_gbE使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Particles
的用法示例。
在下文中一共展示了Particles::calc_gbE方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mainanalyze
//.........这里部分代码省略.........
y1 = 0.5*TMath::Log((E1+particleA->GetPz())/(E1-particleA->GetPz())) - particles.y_cms;
angle = TMath::ATan2(particleA->GetPy(), particleA->GetPx());
particles.analyze(particleA,beam_momentum);
positive = particleA->isPositive();
if(event->GetNpa() > 1)
{
for(j=i+1; j<event->GetNpa(); ++j)
{
particleB = event->GetParticle(j);
pt2 = TMath::Sqrt(TMath::Power(particleB->GetPx(),2)+TMath::Power(particleB->GetPy(),2));
p2 = TMath::Sqrt(TMath::Power(particleB->GetPx(),2)+TMath::Power(particleB->GetPy(),2)+TMath::Power(particleB->GetPz(),2));
//cout << "p1 = " << p1 << " | p2 = " << p2 << endl;
E2 = TMath::Sqrt(pion_mass*pion_mass+p2*p2);
E_prot = TMath::Sqrt(proton_mass*proton_mass+p2*p2);
y_prot_cms = 0.5*TMath::Log((E_prot+particleB->GetPz())/(E_prot-particleB->GetPz())) - particles.y_cms;
v2.SetPxPyPzE(particleB->GetPx(),particleB->GetPy(),particleB->GetPz(),E2);
v = v1 + v2;
inv_mass = v.M();
// if(inv_mass < 0.285) //GeV dipion (280 MeV) + Coulomb interactions (5 MeV)
// continue;
histos.histInvMass->Fill(inv_mass);
//cout << "E1 = " << E1 << " | E2 = " << E2 << endl;
gbE1 = particles.calc_gbE(E1);
gbE2 = particles.calc_gbE(E2);
//cout << "Beta factor: " << particles.beta << endl;
//cout << "Gamma factor: " << particles.gamma << endl;
//cout << "gamma*beta*E1: " << gbE1 << " | gamma*beta*E2: " << gbE2 << endl;
pz_cms1 = particles.gamma*particleA->GetPz() - gbE1;
pz_cms2 = particles.gamma*particleB->GetPz() - gbE2;
//cout << "pz_cms1 = " << pz_cms1 << " | pz_cms2 = " << pz_cms2 << endl;
y2 = 0.5*TMath::Log((E2+particleB->GetPz())/(E2-particleB->GetPz())) - particles.y_cms;
//Minimal pT cut
// if(pt2 < 0.2)
// continue;
angle_j = TMath::ATan2(particleB->GetPy(), particleB->GetPx());
//cout << "y1 = " << y1 << " | y2 = " << y2 << endl;
theta1 = TMath::Abs(TMath::ATan2(pt1,pz_cms1));
theta2 = TMath::Abs(TMath::ATan2(pt2,pz_cms2));
//cout << "theta1 = " << theta1 << " | theta2 = " << theta2 << endl;
eta1 = -TMath::Log(TMath::Tan(0.5*theta1));
eta2 = -TMath::Log(TMath::Tan(0.5*theta2));
//cout << "eta1 = " << eta1 << " | eta2 = " << eta2 << endl;
//cout << "angle1 = " << angle << " | angle2 = " << angle_j << endl;