## Analysis of Christensen et al. experiment using Graft's data-files
##
## Christensen, B.G., McCusker, K.T., Altepeter, J.B., Calkins, B., 
## Lim, C.C.W., Gisin, N., and Kwiat, P.G. (2013),
## "Detection-Loophole-Free Test of Quantum Nonlocality, and Applications", 
## Phys. Rev. Lett. 111, 130406.

## Donald A. Graft (2014)
## "Analysis of the Christensen et al. Clauser-Horne 
##      (CH)-Inequality-Based Test of Local Realism",
## http://arxiv.org/abs/1409.5158
## https://pubpeer.com/publications/E0F8384FC19A6034E86D516D03BB38



## Step 4: compute CHSH




load("results.RData")


for (exp in 1:20){
    result <- counts[ , , exp, drop = TRUE]

    N11 <- result["N", "11"]
    C11 <- result["C", "11"]
    Z11 <- result["Z", "11"]

    N12 <- result["N", "12"]
    C12 <- result["C", "12"]
    Z12 <- result["Z", "12"]

    N21 <- result["N", "21"]
    C21 <- result["C", "21"]
    Z21 <- result["Z", "21"]

    N22 <- result["N", "22"]
    C22 <- result["C", "22"]
    Z22 <- result["Z", "22"]

    corr11 <- 2 * (C11 + Z11) / N11 - 1
    corr12 <- 2 * (C12 + Z12) / N12 - 1
    corr21 <- 2 * (C21 + Z21) / N21 - 1
    corr22 <- 2 * (C22 + Z22) / N22 - 1
    corrs <- c(corr11, corr12, corr21, corr22)
    
    cat("\n", "corrs:", corrs)
    signs <- c(1, 1, 1, -1)
    S <- sum(corrs * signs)
    Ns <- c(N11, N12, N21, N22)
    seS <- sqrt(sum((1 - corrs^2) / Ns))
    cat("\n", exp, S, seS, (S - 2) / seS)
                 
}
## 
##  corrs: 0.9978402 0.9912906 0.9911641 0.9794491
##  1 2.000846 0.0005124971 1.650399
##  corrs: 0.9978772 0.9912711 0.9905716 0.9798479
##  2 1.999872 0.0005269925 -0.2428673
##  corrs: 0.9974204 0.9910414 0.9911318 0.9799864
##  3 1.999607 0.0004872518 -0.8062123
##  corrs: 0.9975624 0.9913732 0.9907384 0.9792979
##  4 2.000376 0.0001635024 2.300297
##  corrs: 0.9970224 0.9912093 0.9905809 0.9791447
##  5 1.999668 0.0002618976 -1.268381
##  corrs: 0.9974122 0.9912498 0.9908127 0.979115
##  6 2.00036 0.0002608376 1.379104
##  corrs: 0.9974922 0.9911818 0.9905535 0.9787807
##  7 2.000447 0.0001795244 2.488291
##  corrs: 0.9975021 0.9908214 0.9907616 0.9791668
##  8 1.999918 0.0002620264 -0.3117382
##  corrs: 0.9975238 0.9911142 0.9905533 0.9776715
##  9 2.00152 0.0002912432 5.218429
##  corrs: 0.9974862 0.9910871 0.9908153 0.9789623
##  10 2.000426 0.0002564812 1.662
##  corrs: 0.9975434 0.9910641 0.9906244 0.9790097
##  11 2.000222 0.0002534926 0.8761793
##  corrs: 0.9975725 0.9910012 0.990944 0.9790371
##  12 2.000481 0.000273113 1.759648
##  corrs: 0.9974858 0.9909979 0.9907469 0.9791869
##  13 2.000044 0.0002569964 0.1697907
##  corrs: 0.9975572 0.9911875 0.9906388 0.9795092
##  14 1.999874 0.0002537432 -0.4955459
##  corrs: 0.9975469 0.9909517 0.9908623 0.9791484
##  15 2.000212 0.0002126575 0.9989781
##  corrs: 0.9975089 0.9911935 0.9906397 0.9793201
##  16 2.000022 0.0001808165 0.1218551
##  corrs: 0.9975128 0.990991 0.9907942 0.9792072
##  17 2.000091 0.0002076524 0.4372942
##  corrs: 0.9975806 0.9910651 0.9906518 0.9793995
##  18 1.999898 0.0002511283 -0.4062172
##  corrs: 0.997489 0.9909101 0.9905393 0.978925
##  19 2.000013 0.0002560872 0.05257675
##  corrs: 0.9975039 0.9909732 0.990532 0.9791695
##  20 1.99984 0.0002549909 -0.6289881
cat("\nDataSet   S        se(S)       (S - 2) / se(S)")
## 
## DataSet   S        se(S)       (S - 2) / se(S)