14#include "ROOT/RDataFrame.hxx"
22int main(
int argc,
char *argv[]){
24 std::unique_ptr<TChain> allTree_chain_ptr;
25 std::unique_ptr<TChain> passTree_chain_ptr;
26 std::filesystem::path PUEO_MC_DATA = argv[1];
31 TH2D rfdir_hist(
"weighted passed events",
32 "RF Direction (payload coordinates); #phi; #theta",
37 auto fill_histogram = [&rfdir_hist](
38 const double &path_weight,
const double &pos_weight,
const double &dir_weight,
39 std::vector<nicemc::DetectorEvent> & dE){
41 double weight = path_weight / (pos_weight * dir_weight);
44 TVector3 RFdir_payload = dE[0].RFdir_payload;
47 rfdir_hist.Fill(RFdir_payload.Phi(), RFdir_payload.Theta(), weight);
51 ROOT::RDataFrame df(*passTree_chain_ptr);
55 "neutrino.path.weight",
"loop.positionWeight",
"loop.directionWeight",
60 TCanvas canvas(
"",
"");
61 rfdir_hist.Draw(
"colz");
62 rfdir_hist.SetStats(0);
63 canvas.SaveAs(
"RFdirection_histogram.svg");
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...