Skip to content
Snippets Groups Projects
Commit c837b83e authored by Andre Sailer's avatar Andre Sailer
Browse files

OpticalTracker (RICH) test: fix unit conversion

Always use Geant4 units, as written out by ddsim root I/O
parent ef9d2170
No related branches found
No related tags found
No related merge requests found
#include "CLHEP/Units/SystemOfUnits.h"
void test_energy_deposition(TString sim_file_name="sim.root") { void test_energy_deposition(TString sim_file_name="sim.root") {
// test requirements // test requirements
const Double_t min_edep = 2*CLHEP::eV; const Double_t min_edep = 2 /*eV*/;
const Double_t max_edep = 5*CLHEP::eV; const Double_t max_edep = 5 /*eV*/;
// get average energy deposition // get average energy deposition
auto sim_file = new TFile(sim_file_name); auto sim_file = new TFile(sim_file_name);
auto t = (TTree*) sim_file->Get("EVENT"); auto t = (TTree*) sim_file->Get("EVENT");
auto h = new TH1D("h","energy deposition",100,-1,20); auto h = new TH1D("h","energy deposition",100,-1,20);
t->Project("h","PFRICHHits.energyDeposit"); t->Project("h","PFRICHHits.energyDeposit");
auto ave_edep = h->GetMean(); auto ave_edep = h->GetMean() * 1e6; // convert from MeV to eV
// check if the average energy deposition is within expected range // check if the average energy deposition is within expected range
bool pass_test = ave_edep > min_edep && ave_edep < max_edep; bool pass_test = ave_edep > min_edep && ave_edep < max_edep;
std::cout << "TEST: " << (pass_test ? "passed" : "failed") std::cout << "TEST: " << (pass_test ? "passed" : "failed")
<< " with average energy deposition = " << ave_edep/CLHEP::eV << " eV" << " with average energy deposition = " << ave_edep << " eV"
<< " (expected in range (" << min_edep/CLHEP::eV << "," << max_edep/CLHEP::eV << ") eV)" << " (expected in range (" << min_edep << "," << max_edep << ") eV)"
<< std::endl; << std::endl;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment