Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
Background_order.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_spectrum
3/// Example to illustrate the influence of the clipping filter difference order
4/// on the estimated background.
5///
6/// \macro_image
7/// \macro_code
8///
9/// \authors Miroslav Morhac, Olivier Couet
10
12{
13 Int_t i;
14 const Int_t nbins = 4096;
15 Double_t xmin = 0;
16 Double_t xmax = 4096;
17 Double_t source[nbins];
18 gROOT->ForceStyle();
19
20 TH1F *d1 = new TH1F("d1", "", nbins, xmin, xmax);
21 TH1F *d2 = new TH1F("d2", "", nbins, xmin, xmax);
22 TH1F *d3 = new TH1F("d3", "", nbins, xmin, xmax);
23 TH1F *d4 = new TH1F("d4", "", nbins, xmin, xmax);
24
25 TString dir = gROOT->GetTutorialDir();
26 TString file = dir + "/legacy/spectrum/TSpectrum.root";
27 TFile *f = new TFile(file.Data());
28 TH1F *back = (TH1F *)f->Get("back2");
29 back->SetTitle("Influence of clipping filter difference order on the estimated background");
30 back->SetAxisRange(1220, 1460);
31 back->SetMaximum(3000);
32 back->Draw("L");
33
34 TSpectrum *s = new TSpectrum();
35
36 for (i = 0; i < nbins; i++)
37 source[i] = back->GetBinContent(i + 1);
40 for (i = 0; i < nbins; i++)
41 d1->SetBinContent(i + 1, source[i]);
42 d1->SetLineColor(kRed);
43 d1->Draw("SAME L");
44
45 for (i = 0; i < nbins; i++)
46 source[i] = back->GetBinContent(i + 1);
49 for (i = 0; i < nbins; i++)
50 d2->SetBinContent(i + 1, source[i]);
51 d2->SetLineColor(kBlue);
52 d2->Draw("SAME L");
53
54 for (i = 0; i < nbins; i++)
55 source[i] = back->GetBinContent(i + 1);
58 for (i = 0; i < nbins; i++)
59 d3->SetBinContent(i + 1, source[i]);
60 d3->SetLineColor(kGreen);
61 d3->Draw("SAME L");
62
63 for (i = 0; i < nbins; i++)
64 source[i] = back->GetBinContent(i + 1);
67 for (i = 0; i < nbins; i++)
68 d4->SetBinContent(i + 1, source[i]);
69 d4->SetLineColor(kMagenta);
70 d4->Draw("SAME L");
71}
#define f(i)
Definition RSha256.hxx:104
int Int_t
Definition RtypesCore.h:45
constexpr Bool_t kFALSE
Definition RtypesCore.h:94
double Double_t
Definition RtypesCore.h:59
@ kRed
Definition Rtypes.h:66
@ kGreen
Definition Rtypes.h:66
@ kMagenta
Definition Rtypes.h:66
@ kBlue
Definition Rtypes.h:66
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
float xmin
float xmax
#define gROOT
Definition TROOT.h:406
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Definition TFile.h:131
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:650
void SetTitle(const char *title) override
Change/set the title.
Definition TH1.cxx:6721
virtual void SetMaximum(Double_t maximum=-1111)
Definition TH1.h:424
void Draw(Option_t *option="") override
Draw this histogram with options.
Definition TH1.cxx:3038
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition TH1.cxx:5064
virtual void SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X")
Set the "axis" range.
Definition Haxis.cxx:201
Advanced Spectra Processing.
Definition TSpectrum.h:18
virtual TH1 * Background(const TH1 *hist, Int_t niter=20, Option_t *option="")
One-dimensional background estimation function.
@ kBackOrder8
Definition TSpectrum.h:40
@ kBackOrder2
Definition TSpectrum.h:37
@ kBackOrder6
Definition TSpectrum.h:39
@ kBackDecreasingWindow
Definition TSpectrum.h:42
@ kBackOrder4
Definition TSpectrum.h:38
@ kBackSmoothing3
Definition TSpectrum.h:43
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376