5namespace fs = std::filesystem;
8effective_area::effective_area(fs::path p): PUEO_MC_DATA(p) {
11 std::cerr <<
"No further steps will be taken for " << PUEO_MC_DATA <<
",\n"
12 <<
"Please fix the missing file problem and retry." << std::endl;
15 total_num_neutrino_simulated = allTree_chain_ptr->GetEntries();
16 passTree_length = passTree_chain_ptr->GetEntries();
17 df = std::make_unique<ROOT::RDataFrame>(*passTree_chain_ptr);
20 if (passTree_length > 0) {
23 if (interaction_length > 0.) {
32 df->Foreach(comp, {
"interaction.length"});
39 auto count = [
this] (
const double &w1,
const double &w2,
const double &w3){
40 if (w1 >0 && w2 >0 && w3>0){
47 df->Foreach(count,{
"neutrino.path.weight",
"loop.positionWeight",
"loop.directionWeight"});
double effective_area_score
The combined effective areas of all the runs in PUEO_MC_DATA.
const double ICE_VOLUME
Antarctica ice volume [km ].
void compute_total_weight()
Computes total_num_weighted_passEvents by going through the DataFrame df.
void compute_mean_interaction_length()
Computes the mean interaction_length by going through the DataFrame df.
double total_num_weighted_passEvents
The (combined) total number of passed events (weighted) in PUEO_MC_DATA.
int passTree_length
Similar to total_num_neutrino_simulated; this is the length of passTree_chain_ptr.
int total_num_neutrino_simulated
The (combined) total number of neutrinos thrown in PUEO_MC_DATA.
void compute_effective_area()
Computes effective_area_score based on all runs in PUEO_MC_DATA.
double interaction_length
Interaction length in kilometers.
std::unique_ptr< ROOT::RDataFrame > df
CERN ROOT DataFrame built based on passTree_chain_ptr.
Contains the definition for the effective_area class.
Contains only one utility function currently.
int prepare_icefinal_chain(std::filesystem::path PUEO_MC_DATA, std::unique_ptr< TChain > &passTree_chain_ptr, std::unique_ptr< TChain > &allTree_chain_ptr)
Prepares two TChains that combine all the IceFinal_*_allTree.root files in the simulation output dire...