#include <iostream>
#include "hparticlebtangletrafo.h"
ClassImp(HParticleBtAngleTrafo)
Float_t HParticleBtAngleTrafo::yPhi2yPad(const Float_t y, const Float_t phi)
{
Float_t yPad = yPadYPar[0];
Float_t yPower = 1.0F;
for (Int_t i=1; i<yParMax;++i) {
yPower *= y;
yPad += yPadYPar[i]*yPower;
}
Float_t phi2 = phi*phi;
yPad += (phiPadSlope[3] + dyPadSlope[0]*y)*phi2;
if(y > yOffset[0]) {
Float_t dy = y - yOffset[0];
yPad += dyPadSlope[1]*phi2*dy*dy;
Float_t yOff = yOffset[1] - 0.050*phi2;
if(y > yOff) {
dy = y - yOff;
yPad += dyPadSlope[2]*phi2*dy*dy;
yOff = yOffset[2] - 0.072*phi2;
if(y > yOff) {
dy = y - yOff;
yPad += dyPadSlope[3]*phi2*dy*dy;
}
}
}
return yPad;
}
Float_t HParticleBtAngleTrafo::yPadPhi2y(const Float_t yPad, const Float_t phi)
{
Float_t y = yYPadPar[0];
Float_t yPower = 1.0F;
for (Int_t i=1; i<yParMax;++i) {
yPower *= yPad;
y += yYPadPar[i]*yPower;
}
Float_t phi2 = phi*phi;
Float_t dyPad = yPad - yPadOffset[2];
y += 1.14e-3F*phi2;
if(dyPad > 0.0F) {
y -= 6.85e-6F*dyPad*dyPad*phi2;
Float_t y0 = 48.6F*(1.0F - 4.9e-4*phi2);
Float_t dy0 = y0 - yPadOffset[2];
dyPad = yPad - y0;
y += 7.7e-7F*(dy0*dy0 - dyPad*dyPad)*phi2;
} else {
y -= 3.5e-6F*dyPad*dyPad*phi2;
}
return y;
}
Float_t HParticleBtAngleTrafo::angles2yPad(const Float_t theta, const Float_t phi)
{
Float_t yPad = yPadThetaPar[0];
Float_t thetaPower = 1.0F;
for (Int_t i=1; i<yParMax; ++i) {
thetaPower *= theta;
yPad += yPadThetaPar[i]*thetaPower;
}
Float_t phi2 = phi*phi;
if(theta > thetaOffset[1]) {
Float_t dTheta = theta-thetaOffset[1];
yPad += ((thetaPadSlope[2]*dTheta+thetaPadSlope[3])*dTheta+phiPadSlope[2])*phi2;
if(theta > thetaOffset[2]) {
dTheta = theta - thetaOffset[2];
yPad += (thetaPadSlope[4]*dTheta*dTheta)*phi2;
}
} else {
yPad += (phiPadSlope[0] + (thetaPadSlope[0]+thetaPadSlope[5]*theta)*theta)*phi2;
}
Float_t dPhi = fabs(phi) - phiOffset;
if(dPhi>0) yPad -= (phiPadSlope[1] + thetaPadSlope[1]*theta)*dPhi*dPhi;
return yPad*cos(phi/rad2deg);
}
Float_t HParticleBtAngleTrafo::angles2y(const Float_t theta, const Float_t phi)
{
Float_t y = yThetaPar[0];
Float_t thetaPower = 1.0F;
for (Int_t i=1; i<yParMax; ++i) {
thetaPower *= theta;
y += yThetaPar[i]*thetaPower;
}
Float_t phi2 = phi*phi;
if(theta > thetaOffset[0]) {
Float_t dTheta = theta-thetaOffset[0];
y += (phiSlope[1] + thetaSlope[1]*dTheta*dTheta)*phi2;
} else {
y += (phiSlope[0]+thetaSlope[0]*theta)*phi2;
}
return y*cos(phi/rad2deg);
}
Float_t HParticleBtAngleTrafo::xPadyPad2Phi(const Float_t xPad, const Float_t yPad)
{
Float_t x = fabs(xPad2x(xPad));
Float_t y = yPad2y(yPad);
Float_t xyRatio = x/y;
Float_t fac = xyRatio - 0.1405F;
if(fac > 0) {
x -= 2.8F*fac*fac;
}
Float_t dx = x - xyRatio*yOffset[3];
if(dx > 0.0F && xyRatio > 5.0e-4F) {
x += (8.0e-4F + 9.2e-5/xyRatio)*dx*dx*fac;
}
xyRatio = x/y;
if(xPad > xPadOffset) xyRatio *= -1.0F;
return atan(xyRatio)*rad2deg;
}
Float_t HParticleBtAngleTrafo::yPhi2Theta(const Float_t y, const Float_t phi)
{
Float_t theta = thetaYPar[0];
Float_t yPower = 1.0F;
Float_t yProj = y/cos(phi/rad2deg);
for (Int_t i=1; i<thetaParMax;++i) {
yPower *= yProj;
theta += thetaYPar[i]*yPower;
}
Float_t phi2 = phi*phi;
theta += (phiThetaSlope[0] + yThetaSlope[0]*yProj)*phi2;
Float_t dy = yProj - yProjOffset[0];
if(dy > 0.0F) {
theta += yThetaSlope[1]*dy*dy*phi2;
dy = yProj - yProjOffset[1];
if(dy > 0.0F) {
theta += yThetaSlope[2]*dy*dy*phi2;
}
}
Float_t dPhi = fabs(phi)- phiOffset;
if(dPhi>0.0F) theta += (phiThetaSlope[1] + yThetaSlope[3]*yProj)*dPhi*dPhi;
return theta;
}
Float_t HParticleBtAngleTrafo::yPadPhi2Theta(const Float_t yPad, const Float_t phi)
{
Float_t theta = thetaYPadPar[0];
Float_t yPower = 1.0F;
Float_t yProj = yPad/cos(phi/rad2deg);
for (Int_t i=1; i<yParMax;++i) {
yPower *= yProj;
theta += thetaYPadPar[i]*yPower;
}
Float_t phi2 = phi*phi;
theta += phiThetaSlope[2]*phi2;
Float_t dyPad = yProj - yPadOffset[0];
if(dyPad < 0.0F) {
theta += padThetaSlope[0]*yProj*phi2;
} else {
theta += (phiThetaSlope[3] + (2.465e-6F + padThetaSlope[1]*dyPad)*dyPad)*phi2;
dyPad = yProj - yPadOffset[1];
if(dyPad >0.0F) theta += padThetaSlope[2]*dyPad*dyPad*phi2;
}
Float_t dPhi = fabs(phi) - phiOffset;
if(dPhi>0.0F) theta += phiThetaSlope[4]*dPhi*dPhi;
return theta;
}
Float_t HParticleBtAngleTrafo::zTheta2dY(const Float_t z, const Float_t theta, const Float_t phi)
{
Float_t dz = (z - zRef)/zNorm;;
Float_t dz2 = dz*dz;
Float_t dy = dzPar[0]*dz + dz2Par[0]*dz2;
Float_t theta0 = theta - thetaRef;
Float_t thetaPower = 1.0F;
for (Int_t n=1; n<zParMax; ++n) {
thetaPower *= theta0;
dy += dzPar[n]*thetaPower*dz + dz2Par[n]*thetaPower*dz2;
}
Float_t phi2dz = phi*phi*dz;
dy -= (9.581e-4F + 2.651e-5F*theta0)*phi2dz;
Float_t phi0 = fabs(phi/rad2deg);
dxVertex = -dy*sin(phi0) + 1.56e-4*phi2dz;
if(phi < 0) dxVertex = -dxVertex;
return dy*cos(phi0);
}
Float_t HParticleBtAngleTrafo::zTheta2dYPad(const Float_t z, const Float_t theta, const Float_t phi)
{
Float_t dz = (z - zRef)/zNorm;;
Float_t dz2 = dz*dz;
Float_t dyPad = dzPadPar[0]*dz + dz2PadPar[0]*dz2;
Float_t theta0 = theta - thetaRef;
Float_t thetaPower = 1.0F;
for (Int_t n=1; n<zParMax; ++n) {
thetaPower *= theta0;
dyPad += dzPadPar[n]*thetaPower*dz + dz2PadPar[n]*thetaPower*dz2;
}
Float_t phi2dz = phi*phi*dz;
dyPad -= (1.57e-4F + 5.0e-6F*theta0)*phi2dz;
Float_t absPhi = fabs(phi);
Float_t phi0 = absPhi/rad2deg;
dxPadVertex = -dyPad*sin(phi0) + (7.78e-5 + 3.9e-6*theta0)*phi2dz;
if( theta0 > 0.0F) dxPadVertex -= 4.330e-9*theta0*theta0*theta0*phi2dz;
if (dz > 0.0F) {
if(absPhi > 16.0F) absPhi = 32.0F - absPhi;
dxPadVertex += (4.72e-4 + 2.08e-5*theta0)*absPhi*dz;
}
if(phi < 0) dxPadVertex = -dxPadVertex;
return dyPad*cos(phi0);
}
Float_t HParticleBtAngleTrafo::zYPhi2dTheta(const Float_t z, const Float_t y, const Float_t phi)
{
Float_t dz = (z - zRef)/zNorm;;
Float_t dz2 = dz*dz;
Float_t dTheta = dzYPar[0]*dz + dz2YPar[0]*dz2;
Float_t cosPhi = cos(phi/rad2deg);
Float_t y0 = (y - yRef)/cosPhi;
Float_t yPower = 1.0F;
for (Int_t n=1; n<zParMax; ++n) {
yPower *= y0;
dTheta += dzYPar[n]*yPower*dz + dz2YPar[n]*yPower*dz2;
}
if (dz <0.0F) {
dTheta -= 1.15e-4F*phi*phi*dz;
if (y > yOffset[4]) {
Float_t dyPhi = (y-yOffset[4])/cosPhi*phi;
dTheta += 1.72e-8F*dyPhi*dyPhi*dz;
}
} else {
dTheta -= 1.41e-4F*phi*phi*dz;
if (y > yOffset[5]) {
Float_t dyPhi = (y-yOffset[5])/cosPhi*phi;
dTheta += 2.25e-8F*dyPhi*dyPhi*dz;
}
}
return -dTheta;
}
Float_t HParticleBtAngleTrafo::zTheta2dTheta(const Float_t z, const Float_t theta, const Float_t phi)
{
Float_t dz = (z - zRef)/zNorm;;
Float_t dz2 = dz*dz;
Float_t theta0 = theta - thetaRef;
Float_t dTheta = dzThetaPar[0]*dz + dz2ThetaPar[0]*dz2;
Float_t thetaPower = 1.0F;
for (Int_t n=1; n<zParMax; ++n) {
thetaPower *= theta0;
dTheta += dzThetaPar[n]*thetaPower*dz + dz2ThetaPar[n]*thetaPower*dz2;
}
dTheta += ((dzThetaPhiPar[0] + dzThetaPhiPar[1]*theta0)*dz +
(dz2ThetaPhiPar[0] + dz2ThetaPhiPar[1]*theta0)*dz2)*phi*phi;
return dTheta;
}
void HParticleBtAngleTrafo::setRichPos(const char * beamtime)
{
if (strcmp(beamtime, "apr12") == 0) {zRichCenter = -35.1F; return;}
if (strcmp(beamtime, "aug11") == 0) {zRichCenter = -36.52F; return;}
if (strcmp(beamtime, "sep08") == 0) {zRichCenter = -33.5F; return;}
Error("setRichPos()","Unknown Beamtime = %s !",beamtime);
return;
}
void HParticleBtAngleTrafo::initParam()
{
rad2deg = 57.29578F;
{
const Float_t yTheta[yParMax] =
{-13.9019,8.2065,-0.00230282,0.000319631,-1.16559e-5,7.70673e-8};
for (Int_t n=0; n<yParMax; ++n) yThetaPar[n]=yTheta[n];
}
{
const Float_t thetaY[thetaParMax] =
{-0.409201,0.172229,-0.000483011,2.35766e-6,-6.24602e-9,8.89312e-12,-5.03386e-15};
for (Int_t n=0; n<thetaParMax; ++n) thetaYPar[n]=thetaY[n];
}
{
const Float_t yPadY[yParMax] =
{-9.20874,0.138557,-1.22646e-05,9.40742e-8,-1.00015e-10,1.01867e-13};
for (Int_t n=0; n<yParMax; ++n) yPadYPar[n]=yPadY[n];
}
{
const Float_t yYPad[yParMax] =
{66.5283,7.27125,-0.00376257,-0.000119067, 2.75981e-7, 5.24191e-10};
for (Int_t n=0; n<yParMax; ++n) yYPadPar[n]=yYPad[n];
}
{
const Float_t yPadTheta[yParMax] =
{-12.0324, 1.26572,-0.0080772,0.000266112,-3.98786e-6, 2.06571e-8};
for (Int_t n=0; n<yParMax; ++n) yPadThetaPar[n]=yPadTheta[n];
}
{
const Float_t thetaYPad[yParMax] =
{10.0927, 0.829933, 0.00328383,-0.000130755,2.32883e-06,-1.35292e-08};
for (Int_t n=0; n<yParMax; ++n) thetaYPadPar[n]=thetaYPad[n];
}
{
const Float_t xParam[xParMax] = {12.83F, 0.9403F};
for (Int_t n=0; n<xParMax; ++n) xPar[n]=xParam[n];
const Float_t xPadParam[xPadParMax] = {75.5559,6.83342,-0.00328614,-0.000126939,4.19646e-7};
for (Int_t n=0; n<xPadParMax; ++n) xPadPar[n]=xPadParam[n];
}
{
const Float_t thOffset[3] = {50.0F, 43.0F, 71.0F};
for (Int_t n=0; n<3; ++n) thetaOffset[n]=thOffset[n];
phiOffset = 12.0F;
const Float_t dySlope[4] = {-5e-7, 2.21e-8, 2.964e-8, 4.12e-8};
for (Int_t n=0; n<4; ++n) dyPadSlope[n] = dySlope[n];
const Float_t thSlope[6] = {-2.4e-5, 0.982e-5, 1.375e-6, 1.723e-6, 4.45e-6, 1.5e-7};
for (Int_t n=0; n<6; ++n) thetaPadSlope[n] = thSlope[n];
thetaSlope[0] =-9.0e-6F;
thetaSlope[1] = 6.2e-6F;
phiSlope[0] = -0.00265;
phiSlope[1] = phiSlope[0]+thetaOffset[0]*thetaSlope[0];
phiPadSlope[0] = -0.00156;
phiPadSlope[1] = 0.00033;
phiPadSlope[2] = phiPadSlope[0] + (thetaPadSlope[0]+thetaPadSlope[5]*thetaOffset[1])*thetaOffset[1];
phiPadSlope[3] = -8.2e-5F;
}
yOffset[0] = 190.0F;
yOffset[1] = 350.0F;
yOffset[2] = 470.0F;
yOffset[3] = 234.7F;
yOffset[4] = 300.0F;
yOffset[5] = 325.0F;
xPadSize = 6.6F;
xPadOffset = 47.5F;
yProjOffset[0] =350.0F;
yProjOffset[1] =500.0F;
yPadOffset[0] = 40.0F;
yPadOffset[1] = 64.5F;
yPadOffset[2] = 18.0F;
yThetaSlope[0] = 6.4e-7;
yThetaSlope[1] = -1.57e-8F;
yThetaSlope[2] = -6.125e-8F;
yThetaSlope[3] = -9.01e-7F;
padThetaSlope[0] = 1.188e-5F;
padThetaSlope[1] = -1.191e-6F;
padThetaSlope[2] = -2.05e-6F;
phiThetaSlope[0] = 0.000214;
phiThetaSlope[1] = 0.000335;
phiThetaSlope[2] = 0.00159;
phiThetaSlope[3] = padThetaSlope[0] * yPadOffset[0];
phiThetaSlope[4] = 0.00059;
{
const Float_t dzParam[zParMax] =
{5.6788,0.0958689,-0.00465984,-0.000112338,3.45014e-7,2.29705e-8};
for (Int_t n=0; n<zParMax; ++n) dzPar[n] = dzParam[n];
const Float_t dz2Param[zParMax] =
{0.434261,0.0200656,-7.63692e-5,-1.84764e-5,2.7613e-8,1.13782e-8};
for (Int_t n=0; n<zParMax; ++n) dz2Par[n] = dz2Param[n];
}
{
const Float_t dzPadParam[zParMax] =
{0.903236,0.0203734,-0.00061401,-2.12993e-5,-5.40314e-8,3.29523e-9};
for (Int_t n=0; n<zParMax; ++n) dzPadPar[n] = dzPadParam[n];
const Float_t dz2PadParam[zParMax] =
{0.0713911,0.00374504,2.89311e-6,-3.25952e-6,2.16649e-9,2.08433e-9};
for (Int_t n=0; n<zParMax; ++n) dz2PadPar[n] = dz2PadParam[n];
}
{
const Float_t dzYParam[zParMax] =
{-0.871874,-0.00265706,1.45749e-05,9.64097e-8,1.33382e-10,-1.23551e-13};
for (Int_t n=0; n<zParMax; ++n) dzYPar[n] = dzYParam[n];
const Float_t dz2YParam[zParMax] =
{-0.0599679,-0.000680895,-2.2915e-06,6.49625e-9,5.34e-11,7.35146e-14};
for (Int_t n=0; n<zParMax; ++n) dz2YPar[n] = dz2YParam[n];
}
{
const Float_t dzThParam[zParMax] =
{-0.820714,-0.021845,0.00050965,2.57468e-5,1.19138e-7,-5.83638e-9};
for (Int_t n=0; n<zParMax; ++n) dzThetaPar[n] = dzThParam[n];
const Float_t dz2ThParam[zParMax] =
{-0.0662483,-0.00375807,-9.81675e-6,3.5676e-6,1.2312e-8,-1.99097e-9};
for (Int_t n=0; n<zParMax; ++n) dz2ThetaPar[n] = dz2ThParam[n];
const Float_t dzThPhParam[2] = {0.0408321, 0.00150907};
for (Int_t n=0; n<2; ++n) dzThetaPhiPar[n] = dzThPhParam[n]/256.0F;
const Float_t dz2ThPhParam[2] = {0.00107495, 9.0156e-5};
for (Int_t n=0; n<2; ++n) dz2ThetaPhiPar[n] = dz2ThPhParam[n]/256.0F;
}
zRichCenter = -35.0F;
dzTarg = 5.0F;
zRef = zRichCenter + dzTarg;
zNorm = 22.5F;
thetaRef = 50.0F;
yRef = 400.0F;
}
hparticlebtangletrafo.cc:1 hparticlebtangletrafo.cc:2 hparticlebtangletrafo.cc:3 hparticlebtangletrafo.cc:4 hparticlebtangletrafo.cc:5 hparticlebtangletrafo.cc:6 hparticlebtangletrafo.cc:7 hparticlebtangletrafo.cc:8 hparticlebtangletrafo.cc:9 hparticlebtangletrafo.cc:10 hparticlebtangletrafo.cc:11 hparticlebtangletrafo.cc:12 hparticlebtangletrafo.cc:13 hparticlebtangletrafo.cc:14 hparticlebtangletrafo.cc:15 hparticlebtangletrafo.cc:16 hparticlebtangletrafo.cc:17 hparticlebtangletrafo.cc:18 hparticlebtangletrafo.cc:19 hparticlebtangletrafo.cc:20 hparticlebtangletrafo.cc:21 hparticlebtangletrafo.cc:22 hparticlebtangletrafo.cc:23 hparticlebtangletrafo.cc:24 hparticlebtangletrafo.cc:25 hparticlebtangletrafo.cc:26 hparticlebtangletrafo.cc:27 hparticlebtangletrafo.cc:28 hparticlebtangletrafo.cc:29 hparticlebtangletrafo.cc:30 hparticlebtangletrafo.cc:31 hparticlebtangletrafo.cc:32 hparticlebtangletrafo.cc:33 hparticlebtangletrafo.cc:34 hparticlebtangletrafo.cc:35 hparticlebtangletrafo.cc:36 hparticlebtangletrafo.cc:37 hparticlebtangletrafo.cc:38 hparticlebtangletrafo.cc:39 hparticlebtangletrafo.cc:40 hparticlebtangletrafo.cc:41 hparticlebtangletrafo.cc:42 hparticlebtangletrafo.cc:43 hparticlebtangletrafo.cc:44 hparticlebtangletrafo.cc:45 hparticlebtangletrafo.cc:46 hparticlebtangletrafo.cc:47 hparticlebtangletrafo.cc:48 hparticlebtangletrafo.cc:49 hparticlebtangletrafo.cc:50 hparticlebtangletrafo.cc:51 hparticlebtangletrafo.cc:52 hparticlebtangletrafo.cc:53 hparticlebtangletrafo.cc:54 hparticlebtangletrafo.cc:55 hparticlebtangletrafo.cc:56 hparticlebtangletrafo.cc:57 hparticlebtangletrafo.cc:58 hparticlebtangletrafo.cc:59 hparticlebtangletrafo.cc:60 hparticlebtangletrafo.cc:61 hparticlebtangletrafo.cc:62 hparticlebtangletrafo.cc:63 hparticlebtangletrafo.cc:64 hparticlebtangletrafo.cc:65 hparticlebtangletrafo.cc:66 hparticlebtangletrafo.cc:67 hparticlebtangletrafo.cc:68 hparticlebtangletrafo.cc:69 hparticlebtangletrafo.cc:70 hparticlebtangletrafo.cc:71 hparticlebtangletrafo.cc:72 hparticlebtangletrafo.cc:73 hparticlebtangletrafo.cc:74 hparticlebtangletrafo.cc:75 hparticlebtangletrafo.cc:76 hparticlebtangletrafo.cc:77 hparticlebtangletrafo.cc:78 hparticlebtangletrafo.cc:79 hparticlebtangletrafo.cc:80 hparticlebtangletrafo.cc:81 hparticlebtangletrafo.cc:82 hparticlebtangletrafo.cc:83 hparticlebtangletrafo.cc:84 hparticlebtangletrafo.cc:85 hparticlebtangletrafo.cc:86 hparticlebtangletrafo.cc:87 hparticlebtangletrafo.cc:88 hparticlebtangletrafo.cc:89 hparticlebtangletrafo.cc:90 hparticlebtangletrafo.cc:91 hparticlebtangletrafo.cc:92 hparticlebtangletrafo.cc:93 hparticlebtangletrafo.cc:94 hparticlebtangletrafo.cc:95 hparticlebtangletrafo.cc:96 hparticlebtangletrafo.cc:97 hparticlebtangletrafo.cc:98 hparticlebtangletrafo.cc:99 hparticlebtangletrafo.cc:100 hparticlebtangletrafo.cc:101 hparticlebtangletrafo.cc:102 hparticlebtangletrafo.cc:103 hparticlebtangletrafo.cc:104 hparticlebtangletrafo.cc:105 hparticlebtangletrafo.cc:106 hparticlebtangletrafo.cc:107 hparticlebtangletrafo.cc:108 hparticlebtangletrafo.cc:109 hparticlebtangletrafo.cc:110 hparticlebtangletrafo.cc:111 hparticlebtangletrafo.cc:112 hparticlebtangletrafo.cc:113 hparticlebtangletrafo.cc:114 hparticlebtangletrafo.cc:115 hparticlebtangletrafo.cc:116 hparticlebtangletrafo.cc:117 hparticlebtangletrafo.cc:118 hparticlebtangletrafo.cc:119 hparticlebtangletrafo.cc:120 hparticlebtangletrafo.cc:121 hparticlebtangletrafo.cc:122 hparticlebtangletrafo.cc:123 hparticlebtangletrafo.cc:124 hparticlebtangletrafo.cc:125 hparticlebtangletrafo.cc:126 hparticlebtangletrafo.cc:127 hparticlebtangletrafo.cc:128 hparticlebtangletrafo.cc:129 hparticlebtangletrafo.cc:130 hparticlebtangletrafo.cc:131 hparticlebtangletrafo.cc:132 hparticlebtangletrafo.cc:133 hparticlebtangletrafo.cc:134 hparticlebtangletrafo.cc:135 hparticlebtangletrafo.cc:136 hparticlebtangletrafo.cc:137 hparticlebtangletrafo.cc:138 hparticlebtangletrafo.cc:139 hparticlebtangletrafo.cc:140 hparticlebtangletrafo.cc:141 hparticlebtangletrafo.cc:142 hparticlebtangletrafo.cc:143 hparticlebtangletrafo.cc:144 hparticlebtangletrafo.cc:145 hparticlebtangletrafo.cc:146 hparticlebtangletrafo.cc:147 hparticlebtangletrafo.cc:148 hparticlebtangletrafo.cc:149 hparticlebtangletrafo.cc:150 hparticlebtangletrafo.cc:151 hparticlebtangletrafo.cc:152 hparticlebtangletrafo.cc:153 hparticlebtangletrafo.cc:154 hparticlebtangletrafo.cc:155 hparticlebtangletrafo.cc:156 hparticlebtangletrafo.cc:157 hparticlebtangletrafo.cc:158 hparticlebtangletrafo.cc:159 hparticlebtangletrafo.cc:160 hparticlebtangletrafo.cc:161 hparticlebtangletrafo.cc:162 hparticlebtangletrafo.cc:163 hparticlebtangletrafo.cc:164 hparticlebtangletrafo.cc:165 hparticlebtangletrafo.cc:166 hparticlebtangletrafo.cc:167 hparticlebtangletrafo.cc:168 hparticlebtangletrafo.cc:169 hparticlebtangletrafo.cc:170 hparticlebtangletrafo.cc:171 hparticlebtangletrafo.cc:172 hparticlebtangletrafo.cc:173 hparticlebtangletrafo.cc:174 hparticlebtangletrafo.cc:175 hparticlebtangletrafo.cc:176 hparticlebtangletrafo.cc:177 hparticlebtangletrafo.cc:178 hparticlebtangletrafo.cc:179 hparticlebtangletrafo.cc:180 hparticlebtangletrafo.cc:181 hparticlebtangletrafo.cc:182 hparticlebtangletrafo.cc:183 hparticlebtangletrafo.cc:184 hparticlebtangletrafo.cc:185 hparticlebtangletrafo.cc:186 hparticlebtangletrafo.cc:187 hparticlebtangletrafo.cc:188 hparticlebtangletrafo.cc:189 hparticlebtangletrafo.cc:190 hparticlebtangletrafo.cc:191 hparticlebtangletrafo.cc:192 hparticlebtangletrafo.cc:193 hparticlebtangletrafo.cc:194 hparticlebtangletrafo.cc:195 hparticlebtangletrafo.cc:196 hparticlebtangletrafo.cc:197 hparticlebtangletrafo.cc:198 hparticlebtangletrafo.cc:199 hparticlebtangletrafo.cc:200 hparticlebtangletrafo.cc:201 hparticlebtangletrafo.cc:202 hparticlebtangletrafo.cc:203 hparticlebtangletrafo.cc:204 hparticlebtangletrafo.cc:205 hparticlebtangletrafo.cc:206 hparticlebtangletrafo.cc:207 hparticlebtangletrafo.cc:208 hparticlebtangletrafo.cc:209 hparticlebtangletrafo.cc:210 hparticlebtangletrafo.cc:211 hparticlebtangletrafo.cc:212 hparticlebtangletrafo.cc:213 hparticlebtangletrafo.cc:214 hparticlebtangletrafo.cc:215 hparticlebtangletrafo.cc:216 hparticlebtangletrafo.cc:217 hparticlebtangletrafo.cc:218 hparticlebtangletrafo.cc:219 hparticlebtangletrafo.cc:220 hparticlebtangletrafo.cc:221 hparticlebtangletrafo.cc:222 hparticlebtangletrafo.cc:223 hparticlebtangletrafo.cc:224 hparticlebtangletrafo.cc:225 hparticlebtangletrafo.cc:226 hparticlebtangletrafo.cc:227 hparticlebtangletrafo.cc:228 hparticlebtangletrafo.cc:229 hparticlebtangletrafo.cc:230 hparticlebtangletrafo.cc:231 hparticlebtangletrafo.cc:232 hparticlebtangletrafo.cc:233 hparticlebtangletrafo.cc:234 hparticlebtangletrafo.cc:235 hparticlebtangletrafo.cc:236 hparticlebtangletrafo.cc:237 hparticlebtangletrafo.cc:238 hparticlebtangletrafo.cc:239 hparticlebtangletrafo.cc:240 hparticlebtangletrafo.cc:241 hparticlebtangletrafo.cc:242 hparticlebtangletrafo.cc:243 hparticlebtangletrafo.cc:244 hparticlebtangletrafo.cc:245 hparticlebtangletrafo.cc:246 hparticlebtangletrafo.cc:247 hparticlebtangletrafo.cc:248 hparticlebtangletrafo.cc:249 hparticlebtangletrafo.cc:250 hparticlebtangletrafo.cc:251 hparticlebtangletrafo.cc:252 hparticlebtangletrafo.cc:253 hparticlebtangletrafo.cc:254 hparticlebtangletrafo.cc:255 hparticlebtangletrafo.cc:256 hparticlebtangletrafo.cc:257 hparticlebtangletrafo.cc:258 hparticlebtangletrafo.cc:259 hparticlebtangletrafo.cc:260 hparticlebtangletrafo.cc:261 hparticlebtangletrafo.cc:262 hparticlebtangletrafo.cc:263 hparticlebtangletrafo.cc:264 hparticlebtangletrafo.cc:265 hparticlebtangletrafo.cc:266 hparticlebtangletrafo.cc:267 hparticlebtangletrafo.cc:268 hparticlebtangletrafo.cc:269 hparticlebtangletrafo.cc:270 hparticlebtangletrafo.cc:271 hparticlebtangletrafo.cc:272 hparticlebtangletrafo.cc:273 hparticlebtangletrafo.cc:274 hparticlebtangletrafo.cc:275 hparticlebtangletrafo.cc:276 hparticlebtangletrafo.cc:277 hparticlebtangletrafo.cc:278 hparticlebtangletrafo.cc:279 hparticlebtangletrafo.cc:280 hparticlebtangletrafo.cc:281 hparticlebtangletrafo.cc:282 hparticlebtangletrafo.cc:283 hparticlebtangletrafo.cc:284 hparticlebtangletrafo.cc:285 hparticlebtangletrafo.cc:286 hparticlebtangletrafo.cc:287 hparticlebtangletrafo.cc:288 hparticlebtangletrafo.cc:289 hparticlebtangletrafo.cc:290 hparticlebtangletrafo.cc:291 hparticlebtangletrafo.cc:292 hparticlebtangletrafo.cc:293 hparticlebtangletrafo.cc:294 hparticlebtangletrafo.cc:295 hparticlebtangletrafo.cc:296 hparticlebtangletrafo.cc:297 hparticlebtangletrafo.cc:298 hparticlebtangletrafo.cc:299 hparticlebtangletrafo.cc:300 hparticlebtangletrafo.cc:301 hparticlebtangletrafo.cc:302 hparticlebtangletrafo.cc:303 hparticlebtangletrafo.cc:304 hparticlebtangletrafo.cc:305 hparticlebtangletrafo.cc:306 hparticlebtangletrafo.cc:307 hparticlebtangletrafo.cc:308 hparticlebtangletrafo.cc:309 hparticlebtangletrafo.cc:310 hparticlebtangletrafo.cc:311 hparticlebtangletrafo.cc:312 hparticlebtangletrafo.cc:313 hparticlebtangletrafo.cc:314 hparticlebtangletrafo.cc:315 hparticlebtangletrafo.cc:316 hparticlebtangletrafo.cc:317 hparticlebtangletrafo.cc:318 hparticlebtangletrafo.cc:319 hparticlebtangletrafo.cc:320 hparticlebtangletrafo.cc:321 hparticlebtangletrafo.cc:322 hparticlebtangletrafo.cc:323 hparticlebtangletrafo.cc:324 hparticlebtangletrafo.cc:325 hparticlebtangletrafo.cc:326 hparticlebtangletrafo.cc:327 hparticlebtangletrafo.cc:328 hparticlebtangletrafo.cc:329 hparticlebtangletrafo.cc:330 hparticlebtangletrafo.cc:331 hparticlebtangletrafo.cc:332 hparticlebtangletrafo.cc:333 hparticlebtangletrafo.cc:334 hparticlebtangletrafo.cc:335 hparticlebtangletrafo.cc:336 hparticlebtangletrafo.cc:337 hparticlebtangletrafo.cc:338 hparticlebtangletrafo.cc:339 hparticlebtangletrafo.cc:340 hparticlebtangletrafo.cc:341 hparticlebtangletrafo.cc:342 hparticlebtangletrafo.cc:343 hparticlebtangletrafo.cc:344 hparticlebtangletrafo.cc:345 hparticlebtangletrafo.cc:346 hparticlebtangletrafo.cc:347 hparticlebtangletrafo.cc:348 hparticlebtangletrafo.cc:349 hparticlebtangletrafo.cc:350 hparticlebtangletrafo.cc:351 hparticlebtangletrafo.cc:352 hparticlebtangletrafo.cc:353 hparticlebtangletrafo.cc:354 hparticlebtangletrafo.cc:355 hparticlebtangletrafo.cc:356 hparticlebtangletrafo.cc:357 hparticlebtangletrafo.cc:358 hparticlebtangletrafo.cc:359 hparticlebtangletrafo.cc:360 hparticlebtangletrafo.cc:361 hparticlebtangletrafo.cc:362 hparticlebtangletrafo.cc:363 hparticlebtangletrafo.cc:364 hparticlebtangletrafo.cc:365 hparticlebtangletrafo.cc:366 hparticlebtangletrafo.cc:367 hparticlebtangletrafo.cc:368 hparticlebtangletrafo.cc:369 hparticlebtangletrafo.cc:370 hparticlebtangletrafo.cc:371 hparticlebtangletrafo.cc:372 hparticlebtangletrafo.cc:373 hparticlebtangletrafo.cc:374 hparticlebtangletrafo.cc:375 hparticlebtangletrafo.cc:376 hparticlebtangletrafo.cc:377 hparticlebtangletrafo.cc:378 hparticlebtangletrafo.cc:379 hparticlebtangletrafo.cc:380 hparticlebtangletrafo.cc:381 hparticlebtangletrafo.cc:382 hparticlebtangletrafo.cc:383 hparticlebtangletrafo.cc:384 hparticlebtangletrafo.cc:385 hparticlebtangletrafo.cc:386 hparticlebtangletrafo.cc:387 hparticlebtangletrafo.cc:388 hparticlebtangletrafo.cc:389 hparticlebtangletrafo.cc:390 hparticlebtangletrafo.cc:391 hparticlebtangletrafo.cc:392 hparticlebtangletrafo.cc:393 hparticlebtangletrafo.cc:394 hparticlebtangletrafo.cc:395 hparticlebtangletrafo.cc:396 hparticlebtangletrafo.cc:397 hparticlebtangletrafo.cc:398 hparticlebtangletrafo.cc:399 hparticlebtangletrafo.cc:400 hparticlebtangletrafo.cc:401 hparticlebtangletrafo.cc:402 hparticlebtangletrafo.cc:403 hparticlebtangletrafo.cc:404 hparticlebtangletrafo.cc:405 hparticlebtangletrafo.cc:406 hparticlebtangletrafo.cc:407 hparticlebtangletrafo.cc:408 hparticlebtangletrafo.cc:409 hparticlebtangletrafo.cc:410 hparticlebtangletrafo.cc:411 hparticlebtangletrafo.cc:412 hparticlebtangletrafo.cc:413 hparticlebtangletrafo.cc:414 hparticlebtangletrafo.cc:415 hparticlebtangletrafo.cc:416 hparticlebtangletrafo.cc:417 hparticlebtangletrafo.cc:418 hparticlebtangletrafo.cc:419 hparticlebtangletrafo.cc:420 hparticlebtangletrafo.cc:421 hparticlebtangletrafo.cc:422 hparticlebtangletrafo.cc:423 hparticlebtangletrafo.cc:424 hparticlebtangletrafo.cc:425 hparticlebtangletrafo.cc:426 hparticlebtangletrafo.cc:427 hparticlebtangletrafo.cc:428 hparticlebtangletrafo.cc:429 hparticlebtangletrafo.cc:430 hparticlebtangletrafo.cc:431 hparticlebtangletrafo.cc:432 hparticlebtangletrafo.cc:433 hparticlebtangletrafo.cc:434 hparticlebtangletrafo.cc:435