GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TEfficiencyCal.cxx
Go to the documentation of this file.
1#include "TEfficiencyCal.h"
2
4{
5 copy.Copy(*this);
6}
7
8void TEfficiencyCal::Copy(TObject& obj) const
9{
10 static_cast<TEfficiencyCal&>(obj).fScaleFactor = fScaleFactor;
11 TCal::Copy(obj);
12}
13
14void TEfficiencyCal::ScaleGraph(Double_t scaleFactor)
15{
16 if(GetN() == 0) {
17 Error("ScaleGraph", "Graph does not exist");
18 return;
19 }
20
21 for(int i = 0; i < GetN(); i++) {
22 GetY()[i] *= scaleFactor;
23 GetEY()[i] *= scaleFactor;
24 }
25
26 fScaleFactor = scaleFactor;
27}
28
30{
31 if(peak == nullptr) {
32 Error("AddPoint", "Peak is empty");
33 return;
34 }
35 AddPoint(peak->GetCentroid(), peak->GetArea(), peak->GetCentroidErr(), peak->GetAreaErr());
36}
37
38void TEfficiencyCal::AddPoint(Double_t energy, Double_t area, Double_t dEnergy, Double_t dArea)
39{
40 if(GetNucleus() == nullptr) {
41 Error("AddPoint", "No nucleus set");
42 return;
43 }
44 // Will eventually write a method that doesn't need a nucleus
45
46 Double_t intensity = 1.0; // nuc;
47
48 Double_t efficiency = area / intensity;
49 Double_t dEfficiency = dArea / intensity;
50 // dEfficiency = efficiency*TMath::Sqrt(TMath::Power(dEfficiency/efficiency,2.0) + TMath::Power(dArea/area,2.0));
51
52 SetPoint(GetN(), energy, efficiency);
53 SetPointError(GetN() - 1, dEnergy, dEfficiency);
54
55 Sort(); // This keeps the points in order of energy;
56}
57
58void TEfficiencyCal::Print(Option_t*) const
59{
61}
62
63void TEfficiencyCal::Clear(Option_t*)
64{
65 fScaleFactor = 1.0;
67}
Definition TCal.h:44
void Print(Option_t *opt="") const override
Definition TCal.cxx:145
void Clear(Option_t *opt="") override
Definition TCal.cxx:137
void Copy(TObject &obj) const override
Definition TCal.cxx:37
virtual TNucleus * GetNucleus() const
Definition TCal.h:76
Double_t fScaleFactor
TEfficiencyCal()=default
void Print(Option_t *opt="") const override
void Clear(Option_t *opt="") override
void Copy(TObject &obj) const override
void ScaleGraph(Double_t scaleFactor)
void AddPoint(Double_t energy, Double_t area, Double_t dEnergy=0.0, Double_t dArea=0.0)
Definition TPeak.h:28
Double_t GetAreaErr() const
Definition TPeak.h:54
Double_t GetCentroidErr() const
Definition TPeak.h:52
Double_t GetArea() const
Definition TPeak.h:53
Double_t GetCentroid() const
Definition TPeak.h:51