Quit[]

<<FeynCalc`

ClearScalarProducts;
bb=xx;
ScalarProduct[bb,p1]=0;ScalarProduct[bb,bb]=0;
ScalarProduct[p1,p1]=m^2;ScalarProduct[p2,p2]=m^2;
ScalarProduct[p1,r]=0;ScalarProduct[bb,r]=0;
ScalarProduct[bb,p2]=0;ScalarProduct[r,p2]=1;
ScalarProduct[p1,p2]=0;
amp=SPD[r,z] SPD[bb,z] SPD[p2,z] SPD[p1,z] FAD[{z,0},{p1+bb-z,m},{p2-z,m},{p1-z,m}];

OneLoop[z,amp]//PaVeReduce

OneLoop[z,amp,OneLoopSimplify->True]

TID[amp,z,UsePaVeBasis->True]

Quit[]

<<X`

(1/8)(D pvB[1,1,2m^2,m,m]+2pvB[1,1,2m^2,m,m]+2m^2 pvB[0,3,2m^2,m,m])+(1/16)m^2pvB[0,0,2m^2,m,m]+(1/8)pvA[0,m]

(%/.D->4-2ϵ)//LoopRefine