Scripts for reactor neutrino analysis (need ROOT to run).
Four main steps to generate the inputs related to signal (IBDs) for this analysis:
Under JUNO_Flux_cov_matrix directory, this step is to generate the expected number of events per energy bin (true, ie, neutrino energy, MeV). It takes two possible inputs: Hubber-Haag or DYB emission spctra. To run it, go into the respective directory, run root and do the following example commands:
.L GetPrediction_vDCDB_HuberHaag.cpp
MakeCovMat(10000)
This will generate a root file as output containing the expected, non-oscillated, spectrum and the associated error matrix, calculated with 10000 random throws.
Under IBD_Gen/JUNO_SNiPER_Simple directory, this step is to generate an event tree containing the neutrino energy, the visible energy (in PE, based on SNiPER simulated response) and the event baseline. To run it, go into the respective directory, run root and do the following example commands:
.L IBD_gen_sPMT_SNiPER_response_simple.cpp
IBD_Gen(2020, 1e7, true)
This will generate a root file as output containing the event tree.
2020is a date value, to set the output file name1e7is the number of events to be generatedtruerefers to the use of the DYB spectrum. Setfalseif Huber-Haag is desirable
This macro uses the output of step 1) as input. The file name is hard-coded. So if other value instead of 10000 is used in step 1), need to update the code here accordingly.
Also under JUNO_Flux_cov_matrix directory, this step is to generate the flux covariance matrix in visible energy (PE). To run it, go into the respective directory, run root and do the following example commands:
.L Convert_Eth_to_Evis_matrix.cpp
Convert_Eth_to_Evis_matrix(10000,true)
This will generate a root file as output containing the covariance matrix.
10000is the number of throws to calculate the matrixtruerefers to the use of the DYB spectrum. Setfalseif Huber-Haag is desirable
This macro uses the output of step 1) and 2). The file names are hard-coded, so if 10000 of step 1) and/or 1e7 of step 2) is changed, the code need to be updated accordingly. Histogram binning is hard-coded here. If binning scheme changes, code need to be updated.
Under JUNO_Escale_cov_matrix directory, this step is to generate the covariance matrix associated with the energy model assumed (DC based here).
To run it, go into the respective directory, run root and do the following example commands:
.L MakeEscaleCovMat_DC.cpp
MakeEscaleCovMat_DC(10000, "../data/events_SPMT_1e+07evt_2020_DYB.root", true, true, false)
This will generate a root file as output containing the energy scale covariance matrix.
10000is the number of throws to calculate the matrix../data/events_SPMT_1e+07evt_2020_DYB.rootis the input file, generated at step 2) above.truerefers to the use of the DYB spectrum. Setfalseif Huber-Haag is desirable. This affects only the output file nametrueif oscillation efects should be used (recommended).falseto NOT consider oscillationfalserefering to the usual DC model to be considered.trueif an improved model is to be considered.