Skip to content
Snippets Groups Projects
test_energy_deposition.C 850 B
Newer Older
#include "CLHEP/Units/SystemOfUnits.h"

void test_energy_deposition(TString sim_file_name="sim.root") {

  // test requirements
  const Double_t min_edep = 2*CLHEP::eV;
  const Double_t max_edep = 5*CLHEP::eV;

  // get average energy deposition
  auto sim_file = new TFile(sim_file_name);
  auto t = (TTree*) sim_file->Get("EVENT");
  auto h = new TH1D("h","energy deposition",100,-1,20);
  t->Project("h","PFRICHHits.energyDeposit");
  auto ave_edep = h->GetMean();

  // check if the average energy deposition is within expected range
  bool pass_test = ave_edep > min_edep && ave_edep < max_edep;
  std::cout << "TEST: " << (pass_test ? "passed" : "failed")
    << " with average energy deposition = " << ave_edep/CLHEP::eV << " eV"
    << " (expected in range (" << min_edep/CLHEP::eV << "," << max_edep/CLHEP::eV << ") eV)"
    << std::endl;
}