Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
Be_libraries
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vratislav Chudoba
Be_libraries
Commits
cc87a0d7
Commit
cc87a0d7
authored
Jul 31, 2017
by
Vratislav Chudoba
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SaveEpsilonTHist() implemented.
parent
e7924428
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
111 additions
and
42 deletions
+111
-42
BeAnalysis.cpp
Be/BeAnalysis.cpp
+80
-17
BeAnalysis.h
Be/BeAnalysis.h
+31
-25
No files found.
Be/BeAnalysis.cpp
View file @
cc87a0d7
...
...
@@ -23,6 +23,9 @@ BeAnalysis::BeAnalysis() : che(0), lowExpFile(0), upExpFile(0), spectra(0) {
SetChainsToDraw
();
SetNoBinsSpectra
();
SetNoBinsCorrelations
();
InitHistos
();
noIntervals
=
5
;
...
...
@@ -138,7 +141,7 @@ void BeAnalysis::SetCuts() {
ciEpsilon
=
"sTpp/E_IM<0.2"
;
//ciEpsilon = "sTpp/E_IM<1.";
//ciEpsilonY = "sTap/E_IM<0.5";
ciEpsilonY
=
"sTap/E_IM>0.7"
;
//
ciEpsilonY = "sTap/E_IM>0.7";
cQ
=
"TMath::Abs(fQLiP)<10"
;
cProtons
=
"fP1Lab.fE-938.272<50 && fP2Lab.fE-938.272<50"
;
...
...
@@ -222,6 +225,53 @@ void BeAnalysis::SetRatiosGStoEX(TString sRatioAl0, TString sRatioNoAl0,
}
void
BeAnalysis
::
InitHistos
()
{
for
(
Int_t
i
=
0
;
i
<
6
;
i
++
)
{
hsSpectra
[
i
]
=
0
;
heSpectra
[
i
]
=
0
;
hSdiff
[
i
]
=
0
;
}
for
(
Int_t
i
=
0
;
i
<
5
;
i
++
)
{
for
(
Int_t
j
=
0
;
j
<
6
;
j
++
)
{
hseT
[
i
][
j
]
=
0
;
heeT
[
i
][
j
]
=
0
;
hieT
[
i
][
j
]
=
0
;
}
}
}
void
BeAnalysis
::
SaveSpectrumHist
(
Int_t
i
)
{
TFile
fw
(
"figures/spectra.root"
,
"UPDATE"
);
if
(
heSpectra
[
i
]
!=
0
)
heSpectra
[
i
]
->
Write
();
if
(
hsSpectra
[
i
]
!=
0
)
hsSpectra
[
i
]
->
Write
();
fw
.
Close
();
}
void
BeAnalysis
::
SaveEpsilonTHist
(
Int_t
interval
,
Int_t
chain
)
{
TFile
fw
(
"figures/epsilonT.root"
,
"UPDATE"
);
if
(
heeT
[
interval
][
chain
]
!=
0
)
{
heeT
[
interval
][
chain
]
->
Write
();
Info
(
"BeAnalysis::SaveEpsilonTHist"
,
"Histogram saved."
);
}
if
(
hseT
[
interval
][
chain
]
!=
0
)
{
Info
(
"BeAnalysis::SaveEpsilonTHist"
,
"Histogram saved."
);
hseT
[
interval
][
chain
]
->
Write
();
}
if
(
hieT
[
interval
][
chain
]
!=
0
)
{
Info
(
"BeAnalysis::SaveEpsilonTHist"
,
"Histogram saved."
);
hieT
[
interval
][
chain
]
->
Write
();
}
fw
.
Close
();
}
void
BeAnalysis
::
SetCMAngularCuts
()
{
TString
sAngles
,
srAngles
;
...
...
@@ -236,6 +286,7 @@ void BeAnalysis::SetCMAngularCuts() {
void
BeAnalysis
::
Spectra
()
{
if
(
!
spectra
)
{
Error
(
"BeAnalysis::Spectra"
,
"kSpectra was to zero."
);
return
;
}
...
...
@@ -253,9 +304,9 @@ void BeAnalysis::Spectra() {
TCanvas
*
cSpectra
=
new
TCanvas
();
TH1F
*
hsSpectra
[
6
];
TH1F
*
heSpectra
[
6
];
TH1F
*
hSdiff
[
6
];
//
TH1F *hsSpectra[6];
//
TH1F *heSpectra[6];
//
TH1F *hSdiff[6];
canvasTitle
.
Form
(
"energy spectra fitting;
\t
(%d,%d) degrees"
,
kMinAngle
,
kMaxAngle
);
cSpectra
->
SetTitle
(
canvasTitle
.
Data
());
...
...
@@ -271,19 +322,22 @@ void BeAnalysis::Spectra() {
chs
[
j
]
->
SetLineColor
(
kBlue
);
chs
[
j
]
->
SetFillColor
(
kWhite
);
hsName
.
Form
(
"hsSpectra%d"
,
j
);
hsSpectra
[
j
]
=
new
TH1F
(
hsName
.
Data
(),
"title"
,
noBinsSpectra
,
0
,
10
);
hsSpectra
[
j
]
=
new
TH1F
(
hsName
.
Data
(),
cAngles
.
GetTitle
()
,
noBinsSpectra
,
0
,
10
);
// drawCommand.Form("f6BeIM>>%s(200,0,10)", hsName.Data());
drawCommand
.
Form
(
"f6BeIM>>%s"
,
hsName
.
Data
());
// chs[j]->Draw(drawCommand.Data(), cQ && crBeWork && crAngles && sRatio[j], "", sEvents[j]);
chs
[
j
]
->
Draw
(
drawCommand
.
Data
(),
cProtons
&&
cQ
&&
crBeWork
&&
crAngles
&&
sRatio
[
j
],
""
,
sEvents
[
j
]);
// hsSpectra[j] = (TH1F*)gPad->FindObject(hsName.Data());
heName
.
Form
(
"heSpectra%d"
,
j
);
heSpectra
[
j
]
=
new
TH1F
(
heName
.
Data
(),
"title"
,
noBinsSpectra
,
0
,
10
);
heSpectra
[
j
]
=
new
TH1F
(
heName
.
Data
(),
cAngles
.
GetTitle
()
,
noBinsSpectra
,
0
,
10
);
// drawCommand.Form("fBeIM>>%s(200,0,10)", heName.Data());
drawCommand
.
Form
(
"fBeIM>>%s"
,
heName
.
Data
());
// che->Draw(drawCommand.Data(), cQ && cBeWork && cAngles, "same", eEvents[j]);
che
->
Draw
(
drawCommand
.
Data
(),
cProtons
&&
cQ
&&
cBeWork
&&
cAngles
,
""
,
eEvents
[
j
]);
// TString histTitle;
// histTitle.Form("%s", cAngles.GetTitle());
// heSpectra[j]->SetTitle(cAngles.GetTitle());
//// cout << drawCommand << "\t" << eEvents[j] << endl;
//// che->Draw(drawCommand.Data(), cProtons && cQ && cBeWork && cAngles, "", eEvents[j]);
...
...
@@ -294,16 +348,18 @@ void BeAnalysis::Spectra() {
// heSpectra[j]->Draw("");
heSpectra
[
j
]
->
Draw
(
"E"
);
heSpectra
[
j
]
->
SetLineColor
(
1
);
heSpectra
[
j
]
->
SetTitle
(
""
);
//
heSpectra[j]->SetTitle("");
heSpectra
[
j
]
->
SetXTitle
(
"E_{T} (MeV)"
);
// heSpectra[j]->GetXaxis()->SetTitleOffset(0.95);
heSpectra
[
j
]
->
GetXaxis
()
->
CenterTitle
();
heSpectra
[
j
]
->
SetYTitle
(
"counts"
);
// heSpectra[j]->GetYaxis()->SetTitleOffset(0.7);
heSpectra
[
j
]
->
GetYaxis
()
->
CenterTitle
();
hsSpectra
[
j
]
->
SetLineColor
(
kGray
+
1
);
hsSpectra
[
j
]
->
SetFillColor
(
kGray
+
1
);
hsSpectra
[
j
]
->
Draw
(
"same"
);
heSpectra
[
j
]
->
Draw
(
"same E"
);
if
(
kAutoRange
)
{
...
...
@@ -353,9 +409,9 @@ void BeAnalysis::EpsilonT() {
TCanvas
*
canEpsilonT
[
noIntervals
];
for
(
Int_t
i
=
0
;
i
<
noIntervals
;
i
++
)
{
//energy intervals (canvases)
TH1F
*
hseT
[
noIntervals
][
6
];
TH1F
*
heeT
[
noIntervals
][
6
];
TH1F
*
hieT
[
noIntervals
][
6
];
//
TH1F *hseT[noIntervals][6];
//
TH1F *heeT[noIntervals][6];
//
TH1F *hieT[noIntervals][6];
if
(
!
epsilonT
[
i
])
continue
;
...
...
@@ -382,20 +438,26 @@ void BeAnalysis::EpsilonT() {
// cout << eEventsECuts[i][j] << endl;
canEpsilonT
[
i
]
->
cd
(
j
+
1
);
chs
[
j
]
->
SetLineColor
(
kGray
+
1
);
chs
[
j
]
->
SetFillColor
(
kGray
+
1
);
//
chs[j]->SetLineColor(kGray+1);
//
chs[j]->SetFillColor(kGray+1);
hsName
.
Form
(
"hseT%d_%d"
,
i
,
j
);
drawCommand
.
Form
(
"fTpp/f6BeIM>>%s(30,0,1)"
,
hsName
.
Data
());
// hsSpectra[j] = new TH1F(hsName.Data(), cAngles.GetTitle(), noBinsSpectra, 0, 10);
hseT
[
i
][
j
]
=
new
TH1F
(
hsName
.
Data
(),
cAngles
.
GetTitle
(),
noBinsCorr
,
0
,
1.
);
hseT
[
i
][
j
]
->
SetLineColor
(
kGray
+
1
);
hseT
[
i
][
j
]
->
SetFillColor
(
kGray
+
1
);
// drawCommand.Form("fTpp/f6BeIM>>%s(30,0,1)", hsName.Data());
drawCommand
.
Form
(
"fTpp/f6BeIM>>%s"
,
hsName
.
Data
());
chs
[
j
]
->
Draw
(
drawCommand
.
Data
(),
cProtons
&&
cQ
&&
crBeE
[
i
]
&&
crAngles
&&
sRatio
[
j
],
""
,
sEventsECuts
[
i
][
j
]);
hseT
[
i
][
j
]
=
(
TH1F
*
)
gPad
->
FindObject
(
hsName
.
Data
());
//
hseT[i][j] = (TH1F*)gPad->FindObject(hsName.Data());
heName
.
Form
(
"heeT%d_%d"
,
i
,
j
);
heeT
[
i
][
j
]
=
new
TH1F
(
heName
.
Data
(),
cAngles
.
GetTitle
(),
noBinsCorr
,
0
,
1.
);
drawCommand
.
Form
(
"fTpp/fBeIM>>%s"
,
heName
.
Data
());
che
->
Draw
(
drawCommand
.
Data
(),
cProtons
&&
cQ
&&
cBeE
[
i
]
&&
cAngles
,
"E same"
,
eEventsECuts
[
i
][
j
]);
heeT
[
i
][
j
]
=
(
TH1F
*
)
gPad
->
FindObject
(
heName
.
Data
());
//
heeT[i][j] = (TH1F*)gPad->FindObject(heName.Data());
// continue;
hseT
[
i
][
j
]
->
Draw
();
hseT
[
i
][
j
]
->
SetTitle
(
""
);
//
hseT[i][j]->SetTitle("");
hseT
[
i
][
j
]
->
SetXTitle
(
"
\\
varepsilon"
);
// hseT[i][j]->GetXaxis()->SetTitleOffset(0.95);
// hseT[i][j]->GetXaxis()->SetTitleSize(0.11);
...
...
@@ -418,8 +480,9 @@ void BeAnalysis::EpsilonT() {
hiName
.
Form
(
"hieT%d_%d"
,
i
,
j
);
drawCommand
.
Form
(
"sTpp/E_IM>>%s"
,
hiName
.
Data
());
hieT
[
i
][
j
]
=
new
TH1F
(
hiName
.
Data
(),
cAngles
.
GetTitle
(),
noBinsCorr
,
0
,
1.
);
ti
[
j
]
->
Draw
(
drawCommand
.
Data
(),
ciBeE
[
i
]
&&
sRatio
[
j
],
"same"
);
hieT
[
i
][
j
]
=
(
TH1F
*
)
gPad
->
FindObject
(
hiName
.
Data
());
//
hieT[i][j] = (TH1F*)gPad->FindObject(hiName.Data());
Float_t
rightmax
=
kRangeProportionIn
*
hieT
[
i
][
j
]
->
GetMaximum
();
Float_t
scale
=
canEpsilonT
[
i
]
->
GetPad
(
j
+
1
)
->
GetUymax
()
/
rightmax
;
hieT
[
i
][
j
]
->
SetLineColor
(
kRed
);
...
...
Be/BeAnalysis.h
View file @
cc87a0d7
...
...
@@ -15,6 +15,8 @@
#include "TCut.h"
#include "TCanvas.h"
#define NOINTERVALS 5;
using
std
::
cout
;
using
std
::
endl
;
...
...
@@ -37,20 +39,16 @@ public:
void
OpenExpChain
();
void
SetNoBinsSpectra
(
Int_t
noBins
=
100
)
{
noBinsSpectra
=
noBins
;};
void
SetNoBinsCorrelations
(
Int_t
noBins
=
30
)
{
noBinsCorr
=
noBins
;};
TChain
*
GetExpChain
()
{
return
che
;};
TChain
*
GetSimChain
(
Int_t
i
)
{
return
chs
[
i
];};
void
SetChainsToDraw
(
Bool_t
ch0
=
1
,
Bool_t
ch1
=
1
,
Bool_t
ch2
=
1
,
Bool_t
ch3
=
1
,
Bool_t
ch4
=
1
,
Bool_t
ch5
=
1
);
private
:
void
SetCuts
();
public
:
void
SetSimCuts
(
TString
sEt
[
5
]
/*, TString sET0 = "", TString sET1 = "", TString sET2 = "", TString sET3 = "", TString sET4 = ""*/
);
void
SetCMAngularRange
(
Int_t
minAngle
,
Int_t
maxAngle
);
private
:
void
SetCMAngularCuts
();
public
:
void
SetRangeProportion
(
Float_t
rangeProportion
=
1
.
1
,
Bool_t
autoRange
=
1
);
void
SetNoExpEvents
(
Long64_t
*
noExpEvents
=
0
);
...
...
@@ -58,9 +56,7 @@ public:
void
SetRatiosGStoEX
(
TString
sRatioAl0
,
TString
sRatioNoAl0
,
TString
sRatioAl180
,
TString
sRatioNoAl180
,
TString
sRatioAl90
,
TString
sRatioNoAl90
);
// void ExpEventsECuts(Long64_t **noExpEvents = 0);
// void ExpEventsECuts(Int_t (&noExpEvents)[5][6]);
// void ExpEventsECuts(Int_t (*noExpEvents)[5][6]);
void
ExpEventsECuts
(
Long64_t
noExpEvents
[
5
][
6
]
=
0
);
void
SimEventsECuts
(
Long64_t
noSimEvents
[
5
][
6
]
=
0
);
void
EpsilonTRange
();
...
...
@@ -81,9 +77,12 @@ public:
void
SetFigures
(
TString
figPath
=
"figures/"
,
TString
figFormat
=
".eps"
,
Bool_t
kSave
=
1
);
void
SaveSpectrumHist
(
Int_t
i
);
void
SaveEpsilonTHist
(
Int_t
interval
,
Int_t
chain
);
//
//
private:
private
:
TChain
*
che
;
//chain with experimental trees
TChain
*
chs
[
6
];
//array of chains with simulation trees
TTree
*
ti
[
6
];
//array of chains with simulation input
...
...
@@ -98,10 +97,25 @@ private:
Int_t
upSimFile
[
6
];
Int_t
noBinsSpectra
;
Int_t
noBinsCorr
;
Int_t
kMinAngle
;
Int_t
kMaxAngle
;
//histograms
TH1F
*
hsSpectra
[
6
];
TH1F
*
heSpectra
[
6
];
TH1F
*
hSdiff
[
6
];
TH1F
*
hseT
[
5
][
6
];
TH1F
*
heeT
[
5
][
6
];
TH1F
*
hieT
[
5
][
6
];
// TH1F *hscoskT[noIntervals][6];
// TH1F *hecoskT[noIntervals][6];
// TH1F *hicoskT[noIntervals][6];
//cuts
TCut
cAngles
;
TCut
crAngles
;
...
...
@@ -132,14 +146,7 @@ private:
Double_t
eTRange
[
5
][
6
];
//!
//cuts
// TCut cBe20;
// TCut cBe3;
TCut
cBeWork
;
// TCut cBe0_14;
// TCut cBe14_19;
// TCut cBe19_25;
// TCut cBe25_31;
// TCut cBe31_37;
TCut
cBeE
[
5
];
TCut
cEpsilonT
;
...
...
@@ -147,14 +154,7 @@ private:
//raw files
//energy cuts
// TCut crBe20;
// TCut crBe3;
TCut
crBeWork
;
// TCut crBe0_14;
// TCut crBe14_19;
// TCut crBe19_25;
// TCut crBe25_31;
// TCut crBe31_37;
TCut
crBeE
[
5
];
//angular cuts
...
...
@@ -165,7 +165,7 @@ private:
TCut
ciBeE
[
5
];
TCut
ciEpsilon
;
TCut
ciEpsilonY
;
//
TCut ciEpsilonY;
TCut
cQ
;
TCut
cProtons
;
...
...
@@ -186,9 +186,15 @@ private:
TString
figureFormat
;
private
:
void
InitHistos
();
void
SaveFigures
(
TCanvas
*
canvas
,
TString
variable
,
Int_t
interval
);
void
CanvasDivision
(
TCanvas
*
c
);
void
SetCuts
();
void
SetCMAngularCuts
();
};
#endif
/* BE_BEANALYSIS_H_ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment