Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
NeuRad_tests
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
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vratislav Chudoba
NeuRad_tests
Commits
a31d0ffd
Commit
a31d0ffd
authored
Jan 12, 2017
by
Kostyleva D.A
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Zero level is determined and CFD time is corrected
parent
6855412b
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
78 additions
and
22 deletions
+78
-22
read_binary.cpp
convertDRS4/read_binary.cpp
+2
-0
analysis_07_1.root
data/dataDSR4/analysis_07_1.root
+0
-0
NeuRad_test_07_1.root
data/rawDataDSR4/NeuRad_test_07_1.root
+0
-0
AEvent.cpp
dataClasses/AEvent.cpp
+33
-6
AEvent.h
dataClasses/AEvent.h
+22
-7
analyse.C
macros/analyse.C
+4
-1
testShowCFD.cxx
macros/testShowCFD.cxx
+1
-1
testShowGraphs.cxx
macros/testShowGraphs.cxx
+16
-7
No files found.
convertDRS4/read_binary.cpp
View file @
a31d0ffd
...
@@ -334,7 +334,9 @@ int main(int argc, const char * argv[])
...
@@ -334,7 +334,9 @@ int main(int argc, const char * argv[])
rfile
->
Close
();
rfile
->
Close
();
// delete event;
// delete event;
printf
(
"error1
\n
"
);
delete
[]
event
;
delete
[]
event
;
printf
(
"error2
\n
"
);
return
1
;
return
1
;
}
}
...
...
data/dataDSR4/analysis_07_1.root
View file @
a31d0ffd
No preview for this file type
data/rawDataDSR4/NeuRad_test_07_1.root
View file @
a31d0ffd
No preview for this file type
dataClasses/AEvent.cpp
View file @
a31d0ffd
...
@@ -55,6 +55,14 @@ void AEvent::ProcessEvent() {
...
@@ -55,6 +55,14 @@ void AEvent::ProcessEvent() {
fTime
[
j
]
=
time
[
j
];
fTime
[
j
]
=
time
[
j
];
}
}
// SetGraphs();
const
Double_t
zeroLevel
=
FindZeroLevel
();
// const Double_t zeroLevel = 0;
for
(
Int_t
j
=
0
;
j
<
fNPoints
;
j
++
)
{
//fAmpPos[j] = amp[j]*(-1.) - zeroLevel;
fAmpPos
[
j
]
=
fAmpPos
[
j
]
-
zeroLevel
;
}
Double_t
maxAmp
=
0.
;
Double_t
maxAmp
=
0.
;
Double_t
maxAmpT
=
0.
;
Double_t
maxAmpT
=
0.
;
...
@@ -125,9 +133,8 @@ void AEvent::SetGraphs() {
...
@@ -125,9 +133,8 @@ void AEvent::SetGraphs() {
}
}
void
AEvent
::
SetCFD
()
{
void
AEvent
::
SetCFD
()
{
// Double_t c = 0.5; //attenuation coefficient
// Int_t td = 5; //time of delay in points
Double_t
level
=
100.
;
//is necessary to find cfd amplitude value closest to zero
Double_t
level
=
100.
;
//todo what is it?
fGraphCFD
->
Set
(
fNPoints
);
fGraphCFD
->
Set
(
fNPoints
);
...
@@ -139,9 +146,7 @@ void AEvent::SetCFD() {
...
@@ -139,9 +146,7 @@ void AEvent::SetCFD() {
//CFD method
//CFD method
if
(
i
>
fCFtimeDelay
)
{
if
(
i
>
fCFtimeDelay
)
{
// fAmpCFD[i] = fAmpPos[i]*cfRatio*(-1);
fAmpCFD
[
i
]
=
fAmpPos
[
i
]
*
fCFratio
*
(
-
1
);
fAmpCFD
[
i
]
=
fAmpPos
[
i
]
*
fCFratio
*
(
-
1
);
// fAmpCFD[i] = fAmpCFD[i] + fAmpPos[i - timeDelay];
fAmpCFD
[
i
]
=
fAmpCFD
[
i
]
+
fAmpPos
[
i
-
fCFtimeDelay
];
fAmpCFD
[
i
]
=
fAmpCFD
[
i
]
+
fAmpPos
[
i
-
fCFtimeDelay
];
fGraphCFD
->
SetPoint
(
i
,
fTime
[
i
],
fAmpCFD
[
i
]);
fGraphCFD
->
SetPoint
(
i
,
fTime
[
i
],
fAmpCFD
[
i
]);
}
}
...
@@ -167,8 +172,30 @@ void AEvent::SetCFD() {
...
@@ -167,8 +172,30 @@ void AEvent::SetCFD() {
fCFD
=
fTime
[
j
];
fCFD
=
fTime
[
j
];
}
}
}
}
}
return
;
Double_t
AEvent
::
FindZeroLevel
(
Int_t
pmin
,
Int_t
pmax
)
{
// fGraphZero->Set(fNPoints);
// const Double_t *amp = fInputEvent->GetAmp();
// const Double_t *time = fInputEvent->GetTime();
SetGraphs
();
Double_t
correction
=
0
;
TF1
*
fit1
=
new
TF1
(
"fit1"
,
"[0]"
);
fit1
->
SetRange
(
pmin
,
pmax
);
// Warning("AEvent::FindZeroLevel", "Graph was not set");
if
(
!
fGraphSignal
)
{
Warning
(
"AEvent::FindZeroLevel"
,
"Graph was not set"
);
return
0
;
}
// fGraphSignal->Print();
fGraphSignal
->
Fit
(
fit1
,
"RQN"
,
"goff"
);
// fGraphSignal->Fit(fit1,"QR","goff");
correction
=
fit1
->
GetParameter
(
0
);
// printf("zero level %f\n", correction);
delete
fit1
;
return
correction
;
}
}
dataClasses/AEvent.h
View file @
a31d0ffd
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
#include "TString.h"
#include "TString.h"
#include "TTree.h"
#include "TTree.h"
#include "TFile.h"
#include "TFile.h"
#include "TF1.h"
//#include "TMath.h"
//#include "TMath.h"
...
@@ -43,6 +44,7 @@ private:
...
@@ -43,6 +44,7 @@ private:
TGraph
*
fGraphSignal
;
TGraph
*
fGraphSignal
;
TGraph
*
fGraphCFD
;
TGraph
*
fGraphCFD
;
TGraph
*
fGraphZero
;
RawEvent
*
fInputEvent
;
//!
RawEvent
*
fInputEvent
;
//!
...
@@ -57,20 +59,33 @@ public:
...
@@ -57,20 +59,33 @@ public:
void
SetRawDataFile
(
const
char
*
inprawfile
,
const
char
*
treename
);
void
SetRawDataFile
(
const
char
*
inprawfile
,
const
char
*
treename
);
void
ProcessEvent
();
void
ProcessEvent
();
// void Integral()
void
SetInputEvent
(
RawEvent
**
event
);
void
SetInputEvent
(
RawEvent
**
event
);
void
SetCFratio
(
Double_t
ratio
)
{
fCFratio
=
ratio
;
};
void
SetCFratio
(
Double_t
ratio
)
{
fCFratio
=
ratio
;
};
//CFD set attenuation coefficient
void
SetCFtimeDelay
(
Double_t
timeDelay
)
{
fCFtimeDelay
=
timeDelay
;
};
void
SetCFtimeDelay
(
Double_t
timeDelay
)
{
fCFtimeDelay
=
timeDelay
;
};
//CFD set time delay (in points)
void
Reset
();
void
Reset
();
//Resets arrays to zeros
//Resets arrays to zeros
TGraph
*
GetGraph
()
{
TGraph
*
GetGraph
CFD
()
{
//todo
return
fGraphCFD
;
return
fGraphCFD
;
// return gSignal;
}
}
//draws CFD graphs
TGraph
*
GetGraphSignal
()
{
return
fGraphSignal
;
}
//draws signal shape graphs
Double_t
FindZeroLevel
(
Int_t
pmin
=
10
,
Int_t
pmax
=
100
);
//for zero level correction
//one parameter fit between pmin and pmax
//returns fit parameter i.e. number on which amplitude should be corrected
private
:
private
:
void
Init
();
void
Init
();
...
...
macros/analyse.C
View file @
a31d0ffd
...
@@ -13,7 +13,7 @@ void analyse()
...
@@ -13,7 +13,7 @@ void analyse()
RawEvent
*
revent
[
noBranches
];
// pointer to the array (of RawEvent class) in which raw data for each channel will be put
RawEvent
*
revent
[
noBranches
];
// pointer to the array (of RawEvent class) in which raw data for each channel will be put
for
(
Int_t
j
=
0
;
j
<
noBranches
;
j
++
)
{
for
(
Int_t
j
=
0
;
j
<
noBranches
;
j
++
)
{
revent
[
j
]
=
new
RawEvent
();
//each raw event element is of class RawEvent()
revent
[
j
]
=
new
RawEvent
();
//each raw event element is of class RawEvent()
bName
.
Form
(
"ch%d"
,
j
);
bName
.
Form
(
"ch%d
.
"
,
j
);
tr
->
SetBranchAddress
(
bName
.
Data
(),
&
revent
[
j
]);
//read the tree tr with raw data and fill array revent with raw data
tr
->
SetBranchAddress
(
bName
.
Data
(),
&
revent
[
j
]);
//read the tree tr with raw data and fill array revent with raw data
}
}
...
@@ -37,6 +37,9 @@ void analyse()
...
@@ -37,6 +37,9 @@ void analyse()
for
(
Long64_t
i
=
0
;
i
<
nentries
;
i
++
)
{
for
(
Long64_t
i
=
0
;
i
<
nentries
;
i
++
)
{
tr
->
GetEntry
(
i
);
tr
->
GetEntry
(
i
);
if
(
!
(
tr
->
GetEntry
(
i
)
%
100
)
)
{
printf
(
"Found event #%d
\n
"
,
tr
->
GetEntry
(
i
));
}
for
(
Int_t
j
=
0
;
j
<
noBranches
;
j
++
)
{
for
(
Int_t
j
=
0
;
j
<
noBranches
;
j
++
)
{
wevent
[
j
]
->
Reset
();
wevent
[
j
]
->
Reset
();
...
...
macros/testShowCFD.cxx
View file @
a31d0ffd
...
@@ -17,7 +17,7 @@ void testShowCFD()
...
@@ -17,7 +17,7 @@ void testShowCFD()
for
(
Int_t
i
=
0
;
i
<
10
;
i
++
)
{
for
(
Int_t
i
=
0
;
i
<
10
;
i
++
)
{
gr
[
i
]
=
0
;
gr
[
i
]
=
0
;
tr
->
GetEntry
(
i
+
kFirstEvent
);
tr
->
GetEntry
(
i
+
kFirstEvent
);
gr
[
i
]
=
new
TGraph
(
*
revent
->
GetGraph
());
gr
[
i
]
=
new
TGraph
(
*
revent
->
GetGraph
CFD
());
}
//for over events
}
//for over events
...
...
macros/testShowGraphs.cxx
View file @
a31d0ffd
...
@@ -9,24 +9,33 @@ void testShowGraphs()
...
@@ -9,24 +9,33 @@ void testShowGraphs()
TTree
*
tr
=
(
TTree
*
)
fr
.
Get
(
"atree"
);
TTree
*
tr
=
(
TTree
*
)
fr
.
Get
(
"atree"
);
AEvent
*
revent
=
new
AEvent
();
AEvent
*
revent
=
new
AEvent
();
tr
->
SetBranchAddress
(
"Ach0."
,
&
revent
)
;
cout
<<
tr
->
SetBranchAddress
(
"Ach0."
,
&
revent
)
<<
endl
;
TGraph
*
gr
[
10
];
TGraph
*
gr
[
10
];
cout
<<
"warning"
<<
endl
;
cout
<<
tr
->
GetEntries
()
<<
endl
;
//loop over events
//loop over events
for
(
Int
_t
i
=
0
;
i
<
10
;
i
++
)
{
for
(
Long64
_t
i
=
0
;
i
<
10
;
i
++
)
{
gr
[
i
]
=
0
;
gr
[
i
]
=
0
;
tr
->
GetEntry
(
i
+
kFirstEvent
);
cout
<<
"warning 1"
<<
endl
;
gr
[
i
]
=
new
TGraph
(
*
revent
->
GetGraph
());
cout
<<
i
+
kFirstEvent
<<
endl
;
// tr->GetEntry(i+kFirstEvent);
tr
->
GetEntry
(
i
);
cout
<<
"warning 2"
<<
endl
;
gr
[
i
]
=
new
TGraph
(
*
revent
->
GetGraphSignal
());
}
//for over events
}
//for over events
cout
<<
"warning 3"
<<
endl
;
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"test"
,
10
,
10
,
1000
,
600
);
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"test"
,
10
,
10
,
1000
,
600
);
c1
->
Divide
(
3
,
2
);
c1
->
Divide
(
3
,
2
);
for
(
Int_t
i
=
0
;
i
<
6
;
i
++
)
{
for
(
Int_t
k
=
0
;
k
<
6
;
k
++
)
{
c1
->
cd
(
i
+
1
);
c1
->
cd
(
k
+
1
);
gr
[
i
]
->
Draw
();
gr
[
k
]
->
Draw
();
}
}
// c1->cd(2);
// c1->cd(2);
...
...
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