This commit is contained in:
2024-11-06 18:50:06 +03:00
parent 83d2f62e80
commit 8121da0f23
14 changed files with 1107 additions and 7 deletions

98
figures/cutoffpl_gb.r Normal file
View File

@@ -0,0 +1,98 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file to four parts as lecr1/2/3/4
#
library(sfsmisc)
up=2.0
#xgrid <- c(30,50,70,100);
Emin=25.0
Emax=180.0
postscript('cutoffpl_gb.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=5.3
par(mar=c(0.1, leftx, 1, 1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
ylim <- c(0.2,2)
cl="black"
a <- read.table('./cutoffpl_gb_eeuf.dat', col.names=c("x","dx","y","dy","total","cutoffpl","pow"))
plot(a$x, a$y, pch=3, bg="white", col="white", ylim=ylim, xlim=xlim, ylab=expression("keV"^"2"~"(Phot. keV"^"-1"~"cm"^"-2"~"s"^"-1"*")"),type="p",xaxt = 'n',xlab="",log="xy")
#axis(side=2, at=c(1e-6,1e-5, 1e-4, 1e-3, 1e-2), labels=expression('-6','-5','-4','-3','-2'))
#abline(v=xgrid, col="lightgray", lty="dotted")
grid()
###################################################################################
##
## Plot model components
##
###################################################################################
lines(a$x,a$cutoffpl,pch=1,bg=cl,col="blue",lwd=3,lty="longdash")
lines(a$x,a$pow,pch=1,bg=cl,col="red",lwd=3,lty="dotdash")
lines(a$x,a$total,pch=1,bg=cl,col="black")
#
# Plot upper limits
#
upx=a$x[(a$y/a$dy)<up]
upy=a$y[(a$y/a$dy)<up]
updx=a$dx[(a$y/a$dy)<up]
updy=a$dy[(a$y/a$dy)<up]
segments(upx-updx,updy*up,upx+updx,updy*up,col=cl)
segments(upx,updy*up/2,upx,updy*up,col=cl)
points(upx,updy*up/2,pch=25,bg=cl,col=cl)
px=a$x[(a$y/a$dy)>=up]
py=a$y[(a$y/a$dy)>=up]
pdx=a$dx[(a$y/a$dy)>=up]
pdy=a$dy[(a$y/a$dy)>=up]
segments(px,py-pdy,px,py+pdy,col=cl)
segments(px-pdx,py,px+pdx,py,col=cl)
text(100, 1.5, "GB",cex=2.5)
###################################################################################
par(mar=c(4.5, leftx, 0.1, 1))
ylim <- c(-3.1,3.1)
cl="black"
a <- read.table("./cutoffpl_gb_delchi.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y, pch=3, ylim=ylim, xlim=xlim, ylab=expression(Delta~chi), xlab="",type="p",log="x",xaxt = 'n')
grid()
segments(a$x,a$y-a$dy,a$x,a$y+a$dy,col=cl)
segments(a$x-a$dx,a$y,a$x+a$dx,a$y,col=cl)
#abline(v=xgrid, col="lightgray", lty="dotted")
#grid()
#abline(h=0, col = "black",lty=2)
#dev.off()
#abline(v=xgrid, col="lightgray", lty="dotted")
abline(h=0, col = "black",lty=2)
mtext(side = 1, text = "Energy, keV", line = 4, cex=1.6)
#axis(1, mgp=c(3, 1.5, 0))
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
dev.off()

99
figures/cutoffpl_l+20.r Normal file
View File

@@ -0,0 +1,99 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file to four parts as lecr1/2/3/4
#
library(sfsmisc)
up=2.0
#xgrid <- c(30,50,70,100);
Emin=25.0
Emax=180.0
postscript('cutoffpl_l+20.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=5.3
par(mar=c(0.1, leftx, 1, 1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
ylim <- c(0.05,1.0)
cl="black"
a <- read.table('./cutoffpl_l+20_eeuf.dat', col.names=c("x","dx","y","dy","total","cutoffpl","pow"))
plot(a$x, a$y, pch=3, bg="white", col="white", ylim=ylim, xlim=xlim,ylab=expression("keV"^"2"~"(Phot. keV"^"-1"~"cm"^"-2"~"s"^"-1"*")"),type="p",xaxt = 'n',xlab="",log="xy")
#axis(side=2, at=c(1e-6,1e-5, 1e-4, 1e-3, 1e-2), labels=expression('-6','-5','-4','-3','-2'))
#abline(v=xgrid, col="lightgray", lty="dotted")
grid()
###################################################################################
##
## Plot model components
##
###################################################################################
lines(a$x,a$cutoffpl,pch=1,bg=cl,col="blue",lwd=3,lty="longdash")
lines(a$x,a$pow,pch=1,bg=cl,col="red",lwd=3,lty="dotdash")
lines(a$x,a$total,pch=1,bg=cl,col="black")
#
# Plot upper limits
#
upx=a$x[(a$y/a$dy)<up]
upy=a$y[(a$y/a$dy)<up]
updx=a$dx[(a$y/a$dy)<up]
updy=a$dy[(a$y/a$dy)<up]
segments(upx-updx,updy*up,upx+updx,updy*up,col=cl)
segments(upx,updy*up/2,upx,updy*up,col=cl)
points(upx,updy*up/2,pch=25,bg=cl,col=cl)
px=a$x[(a$y/a$dy)>=up]
py=a$y[(a$y/a$dy)>=up]
pdx=a$dx[(a$y/a$dy)>=up]
pdy=a$dy[(a$y/a$dy)>=up]
segments(px,py-pdy,px,py+pdy,col=cl)
segments(px-pdx,py,px+pdx,py,col=cl)
#legend( 35.0,1e-2,c("FPMA","FPMB"), lty=c(1,1), lwd=c(2.5,2.5),col=c("black","red"),cex=1.7)
text(100, 0.75, "L+20",cex=2.5)
###################################################################################
par(mar=c(4.5, leftx, 0.1, 1))
ylim <- c(-3.1,3.1)
cl="black"
a <- read.table("./cutoffpl_l+20_delchi.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y, pch=3, ylim=ylim, xlim=xlim, ylab=expression(Delta~chi), xlab="",type="p",log="x",xaxt = 'n')
grid()
segments(a$x,a$y-a$dy,a$x,a$y+a$dy,col=cl)
segments(a$x-a$dx,a$y,a$x+a$dx,a$y,col=cl)
#abline(v=xgrid, col="lightgray", lty="dotted")
#grid()
#abline(h=0, col = "black",lty=2)
#dev.off()
#abline(v=xgrid, col="lightgray", lty="dotted")
abline(h=0, col = "black",lty=2)
mtext(side = 1, text = "Energy, keV", line = 4, cex=1.6)
#axis(1, mgp=c(3, 1.5, 0))
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
dev.off()

99
figures/cutoffpl_l-20.r Normal file
View File

@@ -0,0 +1,99 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file to four parts as lecr1/2/3/4
#
library(sfsmisc)
up=2.0
#xgrid <- c(30,50,70,100);
Emin=25.0
Emax=180.0
postscript('cutoffpl_l-20.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=5.3
par(mar=c(0.1, leftx, 1, 1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
ylim <- c(0.05,1)
cl="black"
a <- read.table('./cutoffpl_l-20_eeuf.dat', col.names=c("x","dx","y","dy","total","cutoffpl","pow"))
plot(a$x, a$y, pch=3, bg="white", col="white", ylim=ylim, xlim=xlim, ylab=expression("keV"^"2"~"(Phot. keV"^"-1"~"cm"^"-2"~"s"^"-1"*")"),type="p",xaxt = 'n',xlab="",log="xy")
#axis(side=2, at=c(1e-6,1e-5, 1e-4, 1e-3, 1e-2), labels=expression('-6','-5','-4','-3','-2'))
#abline(v=xgrid, col="lightgray", lty="dotted")
grid()
###################################################################################
##
## Plot model components
##
###################################################################################
lines(a$x,a$cutoffpl,pch=1,bg=cl,col="blue",lwd=3,lty="longdash")
lines(a$x,a$pow,pch=1,bg=cl,col="red",lwd=3,lty="dotdash")
lines(a$x,a$total,pch=1,bg=cl,col="black")
#
# Plot upper limits
#
upx=a$x[(a$y/a$dy)<up]
upy=a$y[(a$y/a$dy)<up]
updx=a$dx[(a$y/a$dy)<up]
updy=a$dy[(a$y/a$dy)<up]
segments(upx-updx,updy*up,upx+updx,updy*up,col=cl)
segments(upx,updy*up/2,upx,updy*up,col=cl)
points(upx,updy*up/2,pch=25,bg=cl,col=cl)
px=a$x[(a$y/a$dy)>=up]
py=a$y[(a$y/a$dy)>=up]
pdx=a$dx[(a$y/a$dy)>=up]
pdy=a$dy[(a$y/a$dy)>=up]
segments(px,py-pdy,px,py+pdy,col=cl)
segments(px-pdx,py,px+pdx,py,col=cl)
#legend( 35.0,1e-2,c("FPMA","FPMB"), lty=c(1,1), lwd=c(2.5,2.5),col=c("black","red"),cex=1.7)
text(100, 0.75, "L-20",cex=2.5)
###################################################################################
par(mar=c(4.5, leftx, 0.1, 1))
ylim <- c(-3.1, 3.1)
cl="black"
a <- read.table("./cutoffpl_l-20_delchi.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y, pch=3, ylim=ylim, xlim=xlim, ylab=expression(Delta~chi), xlab="",type="p",log="x",xaxt = 'n')
grid()
segments(a$x,a$y-a$dy,a$x,a$y+a$dy,col=cl)
segments(a$x-a$dx,a$y,a$x+a$dx,a$y,col=cl)
#abline(v=xgrid, col="lightgray", lty="dotted")
#grid()
#abline(h=0, col = "black",lty=2)
#dev.off()
#abline(v=xgrid, col="lightgray", lty="dotted")
abline(h=0, col = "black",lty=2)
mtext(side = 1, text = "Energy, keV", line = 4, cex=1.6)
#axis(1, mgp=c(3, 1.5, 0))
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
dev.off()

98
figures/cutoffpl_scox1.r Normal file
View File

@@ -0,0 +1,98 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file to four parts as lecr1/2/3/4
#
library(sfsmisc)
up=2.0
#xgrid <- c(30,50,70,100);
Emin=25.0
Emax=180.0
postscript('cutoffpl_scox1.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=5.3
par(mar=c(0.1, leftx, 1, 1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
ylim <- c(0.01,10)
cl="black"
a <- read.table('./cutoffpl_scox1_eeuf.dat', col.names=c("x","dx","y","dy","total","cutoffpl","pow"))
plot(a$x, a$y, pch=3, bg="white", col="white", ylim=ylim, xlim=xlim, ylab=expression("keV"^"2"~"(Phot. keV"^"-1"~"cm"^"-2"~"s"^"-1"*")"),type="p",xaxt = 'n',xlab="",log="xy")
#axis(side=2, at=c(1e-6,1e-5, 1e-4, 1e-3, 1e-2), labels=expression('-6','-5','-4','-3','-2'))
#abline(v=xgrid, col="lightgray", lty="dotted")
grid()
###################################################################################
##
## Plot model components
##
###################################################################################
lines(a$x,a$cutoffpl,pch=1,bg=cl,col="blue",lwd=3,lty="longdash")
lines(a$x,a$pow,pch=1,bg=cl,col="red",lwd=3,lty="dotdash")
lines(a$x,a$total,pch=1,bg=cl,col="black")
#
# Plot upper limits
#
upx=a$x[(a$y/a$dy)<up]
upy=a$y[(a$y/a$dy)<up]
updx=a$dx[(a$y/a$dy)<up]
updy=a$dy[(a$y/a$dy)<up]
segments(upx-updx,updy*up,upx+updx,updy*up,col=cl)
segments(upx,updy*up/2,upx,updy*up,col=cl)
points(upx,updy*up/2,pch=25,bg=cl,col=cl)
px=a$x[(a$y/a$dy)>=up]
py=a$y[(a$y/a$dy)>=up]
pdx=a$dx[(a$y/a$dy)>=up]
pdy=a$dy[(a$y/a$dy)>=up]
segments(px,py-pdy,px,py+pdy,col=cl)
segments(px-pdx,py,px+pdx,py,col=cl)
text(100, 1.5, "Sco X-1",cex=2.5)
###################################################################################
par(mar=c(4.5, leftx, 0.1, 1))
ylim <- c(-3.1,3.1)
cl="black"
a <- read.table("./cutoffpl_scox1_delchi.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y, pch=3, ylim=ylim, xlim=xlim, ylab=expression(Delta~chi), xlab="",type="p",log="x",xaxt = 'n')
grid()
segments(a$x,a$y-a$dy,a$x,a$y+a$dy,col=cl)
segments(a$x-a$dx,a$y,a$x+a$dx,a$y,col=cl)
#abline(v=xgrid, col="lightgray", lty="dotted")
#grid()
#abline(h=0, col = "black",lty=2)
#dev.off()
#abline(v=xgrid, col="lightgray", lty="dotted")
abline(h=0, col = "black",lty=2)
mtext(side = 1, text = "Energy, keV", line = 4, cex=1.6)
#axis(1, mgp=c(3, 1.5, 0))
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
dev.off()

View File

@@ -0,0 +1,98 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file to four parts as lecr1/2/3/4
#
library(sfsmisc)
up=2.0
#xgrid <- c(30,50,70,100);
Emin=25.0
Emax=180.0
postscript('cutoffpl_solo_gb.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=5.3
par(mar=c(0.1, leftx, 1, 1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
ylim <- c(0.2,2)
cl="black"
a <- read.table('./cutoffpl_solo_gb_eeuf.dat', col.names=c("x","dx","y","dy","cutoffpl"))
plot(a$x, a$y, pch=3, bg="white", col="white", ylim=ylim, xlim=xlim, ylab=expression("keV"^"2"~"(Phot. keV"^"-1"~"cm"^"-2"~"s"^"-1"*")"),type="p",xaxt = 'n',xlab="",log="xy")
#axis(side=2, at=c(1e-6,1e-5, 1e-4, 1e-3, 1e-2), labels=expression('-6','-5','-4','-3','-2'))
#abline(v=xgrid, col="lightgray", lty="dotted")
grid()
###################################################################################
##
## Plot model components
##
###################################################################################
lines(a$x,a$cutoffpl,pch=1,bg=cl,col="blue", lwd=3, lty="longdash")
#lines(a$x,a$pow,pch=1,bg=cl,col="red")
#lines(a$x,a$total,pch=1,bg=cl,col="black")
#
# Plot upper limits
#
upx=a$x[(a$y/a$dy)<up]
upy=a$y[(a$y/a$dy)<up]
updx=a$dx[(a$y/a$dy)<up]
updy=a$dy[(a$y/a$dy)<up]
segments(upx-updx,updy*up,upx+updx,updy*up,col=cl)
segments(upx,updy*up/2,upx,updy*up,col=cl)
points(upx,updy*up/2,pch=25,bg=cl,col=cl)
px=a$x[(a$y/a$dy)>=up]
py=a$y[(a$y/a$dy)>=up]
pdx=a$dx[(a$y/a$dy)>=up]
pdy=a$dy[(a$y/a$dy)>=up]
segments(px,py-pdy,px,py+pdy,col=cl)
segments(px-pdx,py,px+pdx,py,col=cl)
text(100, 1.5, "GB",cex=2.5)
###################################################################################
par(mar=c(4.5, leftx, 0.1, 1))
ylim <- c(-4.5,4.5)
cl="black"
a <- read.table("./cutoffpl_solo_gb_delchi.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y, pch=3, ylim=ylim, xlim=xlim, ylab=expression(Delta~chi), xlab="",type="p",log="x",xaxt = 'n')
grid()
segments(a$x,a$y-a$dy,a$x,a$y+a$dy,col=cl)
segments(a$x-a$dx,a$y,a$x+a$dx,a$y,col=cl)
#abline(v=xgrid, col="lightgray", lty="dotted")
#grid()
#abline(h=0, col = "black",lty=2)
#dev.off()
#abline(v=xgrid, col="lightgray", lty="dotted")
abline(h=0, col = "black",lty=2)
mtext(side = 1, text = "Energy, keV", line = 4, cex=1.6)
#axis(1, mgp=c(3, 1.5, 0))
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
dev.off()

83
figures/galplane.r Normal file
View File

@@ -0,0 +1,83 @@
#
# 2 data sets
# in Xspec make ipl->wdata
# then split file
#
library(sfsmisc)
up=-10.0
Emin=25.0
Emax=180.0
postscript('galplane.eps', horizontal = FALSE, onefile = FALSE, paper = "special",width = 9.0, height = 6.0)
par(oma=c(1,1,1,1))
par(lwd=2)
#layout(matrix(c(1,2), 2, 1, byrow = TRUE), heights = c(1.5,1), TRUE)
leftx=4.5
par(mar=c(4., leftx, 0.1, 0.1))
par(cex.lab=1.6)
par(cex.axis=1.6)
xlim <- c(Emin,Emax)
cl="black"
sc=1000.0
ylim <- c(-0.005,0.09)*sc
a <- read.table("./galplane_1.dat", col.names=c("x","dx","y","dy"))
b <- read.table("./galplane_3.dat", col.names=c("x","dx","y","dy"))
c <- read.table("./galplane_2.dat", col.names=c("x","dx","y","dy"))
d <- read.table("./galplane_4.dat", col.names=c("x","dx","y","dy"))
plot(a$x, a$y*sc, pch=0, ylim=ylim, xlim=xlim, ylab=expression("mCrab keV"^"-1"~"FOV"^"-1"), xaxt="no",log="x",xlab="",type="n")
### Log axis using sfsmisc ###
atx=c(8,30,50,80,100,150)
eaxis(1, at = atx, labels = pretty10exp(atx, sub10=c(1,100), drop.1=TRUE), las=0)
abline(v=atx, col="lightgray", lty="dotted")
###
grid()
cex=1.5
cl="black"
segments(a$x,(a$y-a$dy)*sc,a$x,(a$y+a$dy)*sc,col=cl)
segments(a$x-a$dx,(a$y)*sc,a$x+a$dx,a$y*sc,col=cl)
points(a$x,a$y*sc,pch=21,col=cl,bg="white",cex=cex)
# L-20
cl="blue"
bias=1.01
segments(c$x*bias,(c$y-c$dy)*sc,c$x*bias,(c$y+c$dy)*sc,col=cl)
segments((c$x-c$dx)*bias,c$y*sc,(c$x+c$dx)*bias,c$y*sc,col=cl)
points(c$x*bias,c$y*sc,pch=22,col=cl,bg="white",cex=cex)
# L+20
cl="red"
segments(b$x,(b$y-b$dy)*sc,b$x,(b$y+b$dy)*sc,col=cl)
segments(b$x-b$dx,b$y*sc,b$x+b$dx,b$y*sc,col=cl)
points(b$x,b$y*sc,pch=23,col=cl,bg="white",cex=cex)
# BKG
cl="magenta"
segments(d$x,(d$y-d$dy)*sc,d$x,(d$y+d$dy)*sc,col=cl)
segments(d$x-d$dx,(d$y)*sc,d$x+d$dx,d$y*sc,col=cl)
points(d$x,d$y*sc,pch=24,col=cl,bg="white", ,cex=cex)
mtext(side = 1, text = "Energy, keV", line = 3, cex=1.6)
legend( 85.0,0.09*sc,c("GB","L+20","L-20","3C 273/Coma"), pch=c(21,22,23,24),bg=c("white","white","white","white"), col=c("black","blue","red","magenta"),cex=1.7)
dev.off()