{ //This program produces histograms displaying the IBD xsec and IBD energy+baseline in KamLAND. Also, an example of simulating 500 IBD events is given. //Program works with root version 5 or version 6 //run with the following command //root ibd.C double RATE_NORMALIZATION=818337.84;//IBD events with the following assumptions //total flux: 1.147e+23 //nyrs(with DF): 4.00 //protons/yr: 1.97e+24 //isotopes/proton: 0.01456 //isotope_br: 1.00 //beta-decay endpoint = 15.000 MeV //mass: 897.0 tons //radius: 6.50 m //shield: 3.0 m //distance: 16.00 m //input file and histograms TFile *file=new TFile("ibd.root"); TH1D *xsec_ibd= (TH1D*)file->Get("ibdxsec"); TH1D *energy_ibd= (TH1D*)file->Get("energy"); TH1D *baseline_ibd= (TH1D*)file->Get("baseline"); //normalize input histograms energy_ibd->Scale(RATE_NORMALIZATION/energy_ibd->Integral()); baseline_ibd->Scale(RATE_NORMALIZATION/baseline_ibd->Integral()); //initialize histograms to put simulated events in TH1D *energy_sim=new TH1D("","",45,3,12);//100 bins from 0-16 MeV TH1D *baseline_sim=new TH1D("","",100,5,25);//100 bins from 5-25 meters //Example of simulating 500 IBD events and plotting energy and baseline int TRIALS=5000000; for(int i=0;iFill(energy_ibd->GetRandom()-1.3); baseline_sim->Fill(baseline_ibd->GetRandom()); } //Produce a bunch of plots new TCanvas; energy_ibd->SetTitle("IBD spectrum input"); xsec_ibd->SetTitle("IBD xsec input"); baseline_ibd->SetTitle("IBD baseline input"); energy_ibd->SetXTitle("energy (MeV)"); energy_ibd->SetYTitle("IBD events/bin"); baseline_ibd->SetYTitle("IBD events/bin"); xsec_ibd->SetXTitle("energy (MeV)"); xsec_ibd->SetYTitle("IBD #sigma (cm^{2})"); baseline_ibd->SetXTitle("baseline (m)"); energy_ibd->Draw(); new TCanvas; baseline_ibd->Draw(); new TCanvas; xsec_ibd->Draw(); new TCanvas; energy_sim->SetTitle("Simulated IBD spectrum"); energy_sim->SetXTitle("energy (MeV)"); energy_sim->SetYTitle("IBD events/bin"); energy_sim->Draw(); new TCanvas; baseline_sim->SetTitle("Simulated IBD baselines"); baseline_sim->SetXTitle("baseline (m)"); baseline_sim->SetYTitle("IBD events/bin"); baseline_sim->Draw(); TFile *out=new TFile("mark_input.root", "RECREATE"); energy_sim->Write(); out->Close(); }