To reproduce an energy spectrum, the following files are needed: measured event energies (unbinned) energy-dependent efficiency curve exposure other experiment-specific files https://docs.google.com/spreadsheets/d/1C62HT5vT0aToVBi-SDLCSgM9CMTJUY6F7W6I7c6Gn4A/edit?usp=sharing 1e: 1311.7 events known background: 649 +/- 47.5 events exposure: 19.93 g-day efficiency: 0.069 2e: 5 events exposure: 19.93 g-day efficiency: 0.105 3e: 0 events exposure: 27.82 g-day efficiency: 0.325 4e: 0 events exposure: 27.82 g-day efficiency: 0.327 meeg@pebble2:~/Downloads$ root -l spectrum.C root [0] Processing spectrum.C... root [1] .ls OBJ: TH1F ePix4_stack_5_stack_1 ePix {(ohdu==1||ohdu==2)&&edgedist>=0 && (ohdu!=3 || x>=100)&&!(mask & 6141)} : 0 at: 0x562b5bcc9380 OBJ: TH1F ePix5_stack_6_stack_2 ePix {(ohdu==1||ohdu==2)&&edgedist>=0 && (ohdu!=3 || x>=100)&&!(mask & 8189)} : 0 at: 0x562b5bcf25c0 root [2] doublegaus = new TF1("doublegaus", "[3]*(TMath::Gaus(x,[0],[1]*[2],1)) (TF1 *) 0x562b5bf0c3e0(x,[0]+[1],[1]*[2],1))") root [5] ePix4_stack_5_stack_1->Draw() root [6] doublegaus->FixParameter(0,0) root [7] doublegaus->FixParameter(1,1) root [8] doublegaus->SetParameter(2,0.1) root [9] doublegaus->SetParameter(3,1000) root [10] doublegaus->SetParameter(4,0.001) root [11] doublegaus->SetParLimits(4,0.0,1.0) root [12] ePix4_stack_5_stack_1->Fit(doublegaus,"L") FCN=179.503 FROM MIGRAD STATUS=CONVERGED 150 CALLS 151 TOTAL EDM=1.98818e-09 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 1.8 per cent EXT PARAMETER STEP FIRST NO. NAME VALUE ERROR SIZE DERIVATIVE 1 p0 0.00000e+00 fixed 2 p1 1.00000e+00 fixed 3 p2 1.42132e-01 4.95207e-05 -8.79770e-08 5.43939e-01 4 p3 4.11346e+04 2.02835e+01 -2.65669e-02 1.79856e-06 5 p4 3.19737e-04 8.86113e-06 -4.55962e-07 8.41535e-02 ERR DEF= 0.5 (TFitResultPtr) root [13] ePix4_stack_5_stack_1->Integral() (double) 4114780.0 root [14] 3.19737e-04*4114780.0 (double) 1315.6474 root [15] 8.86113e-06*4114780.0 (double) 36.461601