#include "ISF_FastCaloSimEvent/TFCS1DFunctionInt16Histogram.h"
#include <algorithm>
#include <iostream>
#include "TMath.h"
#include "TCanvas.h"
#include "TH2F.h"
#include "TRandom.h"
#include "TFile.h"
Go to the source code of this file.
◆ ATLAS_NOT_THREAD_SAFE()
      
        
          | void TFCS1DFunctionInt16Histogram::unit_test ATLAS_NOT_THREAD_SAFE | ( | TH1 * | hist | ) |  | 
      
 
Definition at line 94 of file TFCS1DFunctionInt16Histogram.cxx.
   97   if (
hist == 
nullptr) {
 
   99     hist = 
new TH1D(
"test1D", 
"test1D", nbinsx, 0, 1);
 
  101     for (
int ix = 1; ix <= nbinsx; ++ix) {
 
  102       double val = (0.5 + gRandom->Rndm()) * (nbinsx + ix);
 
  103       if (gRandom->Rndm() < 0.1)
 
  106       hist->SetBinError(ix, 0);
 
  110   nbinsx = 
hist->GetNbinsX();
 
  115   for (rnd[0] = 0; rnd[0] < 0.9999; rnd[0] += 0.25) {
 
  116     rtof.rnd_to_fct(
value, rnd);
 
  120   TH1 *hist_val = (TH1 *)
hist->Clone(
"hist_val");
 
  121   hist_val->SetTitle(
"difference");
 
  126   for (
int i = 0; 
i < nrnd; ++
i) {
 
  127     rnd[0] = gRandom->Rndm();
 
  128     rtof.rnd_to_fct(
value, rnd);
 
  131   hist_val->Add(
hist, -1);
 
  133   TH1F *hist_pull = 
new TH1F(
"pull", 
"pull", 200, -10, 10);
 
  134   for (
int ix = 1; ix <= nbinsx; ++ix) {
 
  135     float val = hist_val->GetBinContent(ix);
 
  136     float err = hist_val->GetBinError(ix);
 
  138       hist_pull->Fill(
val / 
err);
 
  144 #if defined(__FastCaloSimStandAlone__) 
  145   new TCanvas(
"input", 
"Input");
 
  148   new TCanvas(
"validation", 
"Validation");
 
  151   new TCanvas(
"pull", 
"Pull");