Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
acc2go4
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
Pavel Sharov
acc2go4
Commits
ec74e750
Commit
ec74e750
authored
Sep 25, 2024
by
mbsdaq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Modification of the crate configuration
parent
13493d00
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
252 additions
and
85 deletions
+252
-85
TNeAnalysis.cxx
TNeAnalysis.cxx
+45
-10
TNeAnalysis.h
TNeAnalysis.h
+9
-2
TNeEvent.cxx
TNeEvent.cxx
+19
-5
TNeEvent.h
TNeEvent.h
+19
-5
TNeProc.cxx
TNeProc.cxx
+139
-55
TNeProc.h
TNeProc.h
+21
-8
No files found.
TNeAnalysis.cxx
View file @
ec74e750
...
@@ -27,8 +27,15 @@ TNeAnalysis::TNeAnalysis()
...
@@ -27,8 +27,15 @@ TNeAnalysis::TNeAnalysis()
:
fMbsEvent
(
0
)
:
fMbsEvent
(
0
)
,
fEvents
(
0
)
,
fEvents
(
0
)
,
fLastEvent
(
0
)
,
fLastEvent
(
0
)
,
p_T1xa
(
0
)
,
p_Lxa
(
0
)
,
p_T1ya
(
0
)
,
p_Lya
(
0
)
,
p_Rxa
(
0
)
,
p_Rya
(
0
)
,
p_RVa
(
0
)
,
p_R60a
(
0
)
,
p_AnSa
(
0
)
,
p_AnRa
(
0
)
,
p_AnVa
(
0
)
{
{
}
}
//***********************************************************
//***********************************************************
...
@@ -39,8 +46,15 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
...
@@ -39,8 +46,15 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
,
fMbsEvent
(
0
)
,
fMbsEvent
(
0
)
,
fEvents
(
0
)
,
fEvents
(
0
)
,
fLastEvent
(
0
)
,
fLastEvent
(
0
)
,
p_T1xa
(
0
)
,
p_Lxa
(
0
)
,
p_T1ya
(
0
)
,
p_Lya
(
0
)
,
p_Rxa
(
0
)
,
p_Rya
(
0
)
,
p_RVa
(
0
)
,
p_R60a
(
0
)
,
p_AnSa
(
0
)
,
p_AnRa
(
0
)
,
p_AnVa
(
0
)
{
{
cout
<<
"**** Create TNeAnalysis name: "
<<
argv
[
0
]
<<
endl
;
cout
<<
"**** Create TNeAnalysis name: "
<<
argv
[
0
]
<<
endl
;
...
@@ -84,10 +98,24 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
...
@@ -84,10 +98,24 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
// At this point, autosave file has not yet been read!
// At this point, autosave file has not yet been read!
// Therefore parameter values set here will be overwritten
// Therefore parameter values set here will be overwritten
// if an autosave file is there.
// if an autosave file is there.
p_T1xa
=
new
TNeDet16
(
"T1xa"
);
p_Lxa
=
new
TNeDet16
(
"Lxa"
);
p_T1ya
=
new
TNeDet16
(
"T1ya"
);
p_Lya
=
new
TNeDet16
(
"Lya"
);
AddParameter
(
p_T1xa
);
p_Rxa
=
new
TNeDet16
(
"Rxa"
);
AddParameter
(
p_T1ya
);
p_Rya
=
new
TNeDet16
(
"Rya"
);
p_RVa
=
new
TNeDet16
(
"RVa"
);
p_R60a
=
new
TNeDet16
(
"R60a"
);
p_AnSa
=
new
TNeDet16
(
"AnSa"
);
p_AnRa
=
new
TNeDet16
(
"AnRa"
);
p_AnVa
=
new
TNeDet16
(
"AnVa"
);
AddParameter
(
p_Lxa
);
AddParameter
(
p_Lya
);
AddParameter
(
p_Rxa
);
AddParameter
(
p_Rya
);
AddParameter
(
p_RVa
);
AddParameter
(
p_R60a
);
AddParameter
(
p_AnSa
);
AddParameter
(
p_AnRa
);
AddParameter
(
p_AnVa
);
// pMTracks = new TNeMParms("MTRACKS");
// pMTracks = new TNeMParms("MTRACKS");
// AddParameter(pMTracks);
// AddParameter(pMTracks);
...
@@ -126,8 +154,15 @@ Int_t TNeAnalysis::UserPreLoop()
...
@@ -126,8 +154,15 @@ Int_t TNeAnalysis::UserPreLoop()
}
}
fEvents
=
0
;
// event counter
fEvents
=
0
;
// event counter
fLastEvent
=
0
;
// number of last event processed
fLastEvent
=
0
;
// number of last event processed
p_T1xa
->
ReadData
();
p_Lxa
->
ReadData
();
// p_T1ya->ReadData();>Z
p_Lya
->
ReadData
();
p_Rxa
->
ReadData
();
p_Rya
->
ReadData
();
p_RVa
->
ReadData
();
p_R60a
->
ReadData
();
p_AnSa
->
ReadData
();
p_AnRa
->
ReadData
();
p_AnVa
->
ReadData
();
return
0
;
return
0
;
...
...
TNeAnalysis.h
View file @
ec74e750
...
@@ -29,8 +29,15 @@ public:
...
@@ -29,8 +29,15 @@ public:
virtual
Int_t
UserEventFunc
();
virtual
Int_t
UserEventFunc
();
virtual
Int_t
UserPostLoop
();
virtual
Int_t
UserPostLoop
();
TNeDet16
*
p_T1xa
;
TNeDet16
*
p_Lxa
;
TNeDet16
*
p_T1ya
;
TNeDet16
*
p_Lya
;
TNeDet16
*
p_Rxa
;
TNeDet16
*
p_Rya
;
TNeDet16
*
p_RVa
;
TNeDet16
*
p_R60a
;
TNeDet16
*
p_AnSa
;
TNeDet16
*
p_AnRa
;
TNeDet16
*
p_AnVa
;
// TNeMParms* pMTracks;
// TNeMParms* pMTracks;
ClassDef
(
TNeAnalysis
,
1
)
ClassDef
(
TNeAnalysis
,
1
)
...
...
TNeEvent.cxx
View file @
ec74e750
...
@@ -30,11 +30,25 @@ void TNeEvent::Clear(Option_t *t)
...
@@ -30,11 +30,25 @@ void TNeEvent::Clear(Option_t *t)
//== all members should be cleared.
//== all members should be cleared.
//== memset(fRawData,0, sizeof(fRawData));
//== memset(fRawData,0, sizeof(fRawData));
//==================================================================
//==================================================================
// SQ
// Si
memset
(
T1xa
,
0
,
sizeof
(
T1xa
));
memset
(
Lxa
,
0
,
sizeof
(
Lxa
));
memset
(
T1xt
,
0
,
sizeof
(
T1xt
));
memset
(
Lxt
,
0
,
sizeof
(
Lxt
));
memset
(
T1ya
,
0
,
sizeof
(
T1ya
));
memset
(
Lya
,
0
,
sizeof
(
Lya
));
memset
(
T1yt
,
0
,
sizeof
(
T1yt
));
memset
(
Lyt
,
0
,
sizeof
(
Lyt
));
memset
(
Rxa
,
0
,
sizeof
(
Rxa
));
memset
(
Rxt
,
0
,
sizeof
(
Rxt
));
memset
(
Rya
,
0
,
sizeof
(
Rya
));
memset
(
Ryt
,
0
,
sizeof
(
Ryt
));
memset
(
RVa
,
0
,
sizeof
(
RVa
));
memset
(
RVt
,
0
,
sizeof
(
RVt
));
memset
(
R60a
,
0
,
sizeof
(
R60a
));
memset
(
R60t
,
0
,
sizeof
(
R60t
));
memset
(
AnSa
,
0
,
sizeof
(
AnSa
));
memset
(
AnSt
,
0
,
sizeof
(
AnSt
));
memset
(
AnRa
,
0
,
sizeof
(
AnRa
));
memset
(
AnRt
,
0
,
sizeof
(
AnRt
));
memset
(
AnVa
,
0
,
sizeof
(
AnVa
));
memset
(
AnVt
,
0
,
sizeof
(
AnVt
));
// ToF
// ToF
memset
(
F3
,
0
,
sizeof
(
F3
));
memset
(
F3
,
0
,
sizeof
(
F3
));
...
...
TNeEvent.h
View file @
ec74e750
...
@@ -18,11 +18,25 @@ public:
...
@@ -18,11 +18,25 @@ public:
/** Method called by the framework to clear the event element. */
/** Method called by the framework to clear the event element. */
void
Clear
(
Option_t
*
t
=
""
);
void
Clear
(
Option_t
*
t
=
""
);
//-----SQ-----
//-----Si-----
unsigned
short
T1xa
[
16
];
unsigned
short
Lxa
[
16
];
unsigned
short
T1xt
[
16
];
unsigned
short
Lxt
[
16
];
unsigned
short
T1ya
[
16
];
unsigned
short
Lya
[
16
];
unsigned
short
T1yt
[
16
];
unsigned
short
Lyt
[
16
];
unsigned
short
Rxa
[
16
];
unsigned
short
Rxt
[
16
];
unsigned
short
Rya
[
16
];
unsigned
short
Ryt
[
16
];
unsigned
short
RVa
[
16
];
unsigned
short
RVt
[
16
];
unsigned
short
R60a
[
16
];
unsigned
short
R60t
[
16
];
unsigned
short
AnSa
[
16
];
unsigned
short
AnSt
[
16
];
unsigned
short
AnRa
[
16
];
unsigned
short
AnRt
[
16
];
unsigned
short
AnVa
[
16
];
unsigned
short
AnVt
[
16
];
unsigned
short
F3
[
4
];
unsigned
short
F3
[
4
];
unsigned
short
tF3
[
4
];
unsigned
short
tF3
[
4
];
...
...
TNeProc.cxx
View file @
ec74e750
...
@@ -63,12 +63,19 @@ TNeProc::TNeProc() : TGo4EventProcessor()
...
@@ -63,12 +63,19 @@ TNeProc::TNeProc() : TGo4EventProcessor()
for
(
i
=
0
;
i
<
16
;
++
i
)
for
(
i
=
0
;
i
<
16
;
++
i
)
{
{
//-----SQ-----
//-----Si-----
d1T1xa
[
i
]
=
NULL
;
d1Lxa
[
i
]
=
NULL
;
d1T1xt
[
i
]
=
NULL
;
d1Lxt
[
i
]
=
NULL
;
d1T1xc
[
i
]
=
NULL
;
d1Lxc
[
i
]
=
NULL
;
// d1T1ya[i] = NULL;
d1Lya
[
i
]
=
NULL
;
// d1T1yt[i] = NULL;
d1Lyt
[
i
]
=
NULL
;
d1Lyc
[
i
]
=
NULL
;
d1Rxa
[
i
]
=
NULL
;
d1Rxt
[
i
]
=
NULL
;
d1Rxc
[
i
]
=
NULL
;
d1Rya
[
i
]
=
NULL
;
d1Ryt
[
i
]
=
NULL
;
d1Ryc
[
i
]
=
NULL
;
}
}
//_________________________________Neutrons
//_________________________________Neutrons
//
//
...
@@ -108,22 +115,49 @@ TNeProc::TNeProc(const char* name) : TGo4EventProcessor(name)
...
@@ -108,22 +115,49 @@ TNeProc::TNeProc(const char* name) : TGo4EventProcessor(name)
fSubEvents
=
MakeTH1
(
'I'
,
"SubEvents"
,
"Number of subevents"
,
16
,
0
,
15
);
fSubEvents
=
MakeTH1
(
'I'
,
"SubEvents"
,
"Number of subevents"
,
16
,
0
,
15
);
fEventsSizes
=
MakeTH1
(
'I'
,
"EventSizes"
,
"Size of each event"
,
1024
,
0
,
1023
);
fEventsSizes
=
MakeTH1
(
'I'
,
"EventSizes"
,
"Size of each event"
,
1024
,
0
,
1023
);
int
i
;
int
i
;
hT1a
=
MakeTH2
(
'S'
,
"T1/T1a"
,
"Amplitudes in T1 MADC"
,
4096
,
0
,
4095
,
32
,
0
,
31
,
"amp (ch.)"
,
"channel"
);
for
(
i
=
0
;
i
<
16
;
++
i
)
{
for
(
i
=
0
;
i
<
16
;
++
i
)
{
//-----SQ telescope raw-----
//-----SQ telescope raw-----
d1T1xa
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"T1xa/T1xas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
d1Lxa
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Lxa/Lxas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
,
Form
(
"T1 x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
,
Form
(
"L x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1T1xt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"T1xt/T1xts_%2.2d"
,
i
)
d1Lxt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Lxt/Lxts_%2.2d"
,
i
)
,
Form
(
"T1 x time CH %2.2d"
,
i
),
4096
,
1.
,
4096
);
,
Form
(
"L x time CH %2.2d"
,
i
),
4096
,
1.
,
4096
);
d1T1xc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"T1xc/T1xcs_%2.2d"
,
i
)
d1Lxc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"Lxc/Lxcs_%2.2d"
,
i
)
,
Form
(
"T1 x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
,
Form
(
"L x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
d1T1ya
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"T1ya/T1yas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
//
,
Form
(
"T1 x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1Lya
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Lya/Lyas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
d1T1yt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"T1yt/T1yts_%2.2d"
,
i
)
,
Form
(
"L x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
,
Form
(
"T1 x time CH %2.2d"
,
i
),
4096
,
1
,
4096
);
d1Lyt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Lyt/Lyts_%2.2d"
,
i
)
d1T1yc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"T1yc/T1ycs_%2.2d"
,
i
)
,
Form
(
"L x time CH %2.2d"
,
i
),
4096
,
1
,
4096
);
,
Form
(
"T1 x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
d1Lyc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"Lyc/Lycs_%2.2d"
,
i
)
//
,
Form
(
"L x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
d1Rxa
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Rxa/Rxas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
,
Form
(
"R x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1Rxt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Rxt/Rxts_%2.2d"
,
i
)
,
Form
(
"R x time CH %2.2d"
,
i
),
4096
,
1.
,
4096
);
d1Rxc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"Rxc/Rxcs_%2.2d"
,
i
)
,
Form
(
"R x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
//
d1Rya
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Rya/Ryas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
,
Form
(
"R x amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1Ryt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"Ryt/Ryts_%2.2d"
,
i
)
,
Form
(
"R x time CH %2.2d"
,
i
),
4096
,
1
,
4096
);
d1Ryc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"Ryc/Rycs_%2.2d"
,
i
)
,
Form
(
"R x energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
//
d1AnSa
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"AnSa/AnSas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
,
Form
(
"Sect amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1AnSt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"AnSt/AnSts_%2.2d"
,
i
)
,
Form
(
"Sect time CH %2.2d"
,
i
),
4096
,
1
,
4096
);
d1AnSc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"AnSc/AnScs_%2.2d"
,
i
)
,
Form
(
"Sect energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
//
d1AnRa
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"AnRa/AnRas_%2.2d"
,
i
)
//указывать не повторяющуюся структуру папок и уникальные имена
,
Form
(
"Ring amp CH %2.2d"
,
i
),
8192
,
0.
,
8192.
);
d1AnRt
[
i
]
=
MakeTH1
(
'I'
,
Form
(
"AnRt/AnRts_%2.2d"
,
i
)
,
Form
(
"Ring time CH %2.2d"
,
i
),
4096
,
1
,
4096
);
d1AnRc
[
i
]
=
MakeTH1
(
'D'
,
Form
(
"AnRc/AnRcs_%2.2d"
,
i
)
,
Form
(
"Ring energy MeV %2.2d"
,
i
),
4000
,
-
2.
,
98.
);
}
}
//
//
d1F3
[
0
]
=
MakeTH1
(
'I'
,
"F3/QDC/F3_QDC_L"
,
"F3 QDC left"
,
4096
,
0.
,
4095.
);
d1F3
[
0
]
=
MakeTH1
(
'I'
,
"F3/QDC/F3_QDC_L"
,
"F3 QDC left"
,
4096
,
0.
,
4095.
);
...
@@ -203,8 +237,8 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -203,8 +237,8 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
}
}
bool
dooutput
=
false
;
bool
dooutput
=
false
;
// double value1, value2;
// double value1, value2;
// double e
T1xa,eT1
ya;
// double e
Lxa,eL
ya;
// int m
T1xa,mT1
ya;
// int m
Lxa,mL
ya;
//
//
int
num
=
0
,
sz
=
0
;
int
num
=
0
,
sz
=
0
;
int
i
,
n
,
geo
,
typ
,
header
,
caen_header
,
module_id
=
0
,
crate
=-
1
,
cnt
,
chnl
,
evnt
,
ch
;
int
i
,
n
,
geo
,
typ
,
header
,
caen_header
,
module_id
=
0
,
crate
=-
1
,
cnt
,
chnl
,
evnt
,
ch
;
...
@@ -264,24 +298,6 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -264,24 +298,6 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
if
(
idata
[
n
]
>>
24
!=
0x04
)
break
;
if
(
idata
[
n
]
>>
24
!=
0x04
)
break
;
switch
(
module_id
)
switch
(
module_id
)
{
{
case
2
:
// mTDC: time sect & rings p1
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
T1xt
[
chnl
]
=
adc
;
}
break
;
case
3
:
// mADC: amp sect & rings p1
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
T1xa
[
chnl
]
=
adc
;
}
break
;
case
0
:
//mTDC: ToF
case
0
:
//mTDC: ToF
if
((
idata
[
n
]
>>
16
)
&
0x20
)
break
;
//T bit analysis
if
((
idata
[
n
]
>>
16
)
&
0x20
)
break
;
//T bit analysis
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
...
@@ -299,6 +315,72 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -299,6 +315,72 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
break
;
break
;
case
6
:
//scaler v560
for
(
i
=
0
;
i
<
16
;
++
i
)
NeEvent
->
scaler
[
i
]
=
idata
[
n
++
]
&
0x07ffffff
;
break
;
case
8
:
// mTDC: time Lx & Ly
chnl
=
(
idata
[
n
]
>>
16
)
&
0x3f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
Lxt
[
chnl
]
=
adc
;
}
else
if
(
chnl
<
32
)
{
NeEvent
->
Lyt
[
chnl
-
16
]
=
adc
;
}
break
;
case
9
:
// mADC: amp Lx & Ly
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
Lxa
[
chnl
]
=
adc
;
}
else
{
NeEvent
->
Lya
[
chnl
-
16
]
=
adc
;
}
break
;
case
10
:
// mTDC: time Rx & Ry
chnl
=
(
idata
[
n
]
>>
16
)
&
0x3f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
Rxt
[
chnl
]
=
adc
;
}
else
if
(
chnl
<
32
)
{
NeEvent
->
Ryt
[
chnl
-
16
]
=
adc
;
}
break
;
case
11
:
// mADC: amp Rx & Ry
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
Rxa
[
chnl
]
=
adc
;
}
else
{
NeEvent
->
Rya
[
chnl
-
16
]
=
adc
;
}
break
;
case
12
:
// mTDC: time An S & R
chnl
=
(
idata
[
n
]
>>
16
)
&
0x3f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
AnSt
[
chnl
]
=
adc
;
}
else
if
(
chnl
<
32
)
{
NeEvent
->
AnRt
[
chnl
-
16
]
=
adc
;
}
break
;
case
13
:
// mADC: amp An S & R
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
NeEvent
->
AnSa
[
chnl
]
=
adc
;
}
else
{
NeEvent
->
AnRa
[
chnl
-
16
]
=
adc
;
}
break
;
}
}
break
;
break
;
...
@@ -337,10 +419,6 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -337,10 +419,6 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
//printf("DATA: geo:%d Channel = %d\n", geo, chnl);
//printf("DATA: geo:%d Channel = %d\n", geo, chnl);
switch
(
geo
)
switch
(
geo
)
{
{
case
6
:
//scaler v560
for
(
i
=
0
;
i
<
16
;
++
i
)
NeEvent
->
scaler
[
i
]
=
idata
[
n
++
]
&
0x07ffffff
;
break
;
}
}
// printf(" Data: geo:%d chnl:%d adc:%d\n", geo, chnl, adc);
// printf(" Data: geo:%d chnl:%d adc:%d\n", geo, chnl, adc);
break
;
break
;
...
@@ -481,9 +559,9 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -481,9 +559,9 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
chnl
=
(
idata
[
n
]
>>
16
)
&
0x3f
;
chnl
=
(
idata
[
n
]
>>
16
)
&
0x3f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
if
(
chnl
<
16
)
{
NeEvent
->
T1
xt
[
chnl
]
=
adc
;
NeEvent
->
L
xt
[
chnl
]
=
adc
;
}
else
if
(
chnl
<
32
)
{
}
else
if
(
chnl
<
32
)
{
NeEvent
->
T1
yt
[
chnl
-
16
]
=
adc
;
NeEvent
->
L
yt
[
chnl
-
16
]
=
adc
;
}
}
break
;
break
;
...
@@ -491,9 +569,9 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
...
@@ -491,9 +569,9 @@ Bool_t TNeProc::BuildEvent(TGo4EventElement* target)
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
chnl
=
(
idata
[
n
]
>>
16
)
&
0x1f
;
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
adc
=
idata
[
n
]
&
0xfff
;
//only 12 bits
if
(
chnl
<
16
)
{
if
(
chnl
<
16
)
{
NeEvent
->
T1
xa
[
chnl
]
=
adc
;
NeEvent
->
L
xa
[
chnl
]
=
adc
;
}
else
{
}
else
{
NeEvent
->
T1
ya
[
chnl
-
16
]
=
adc
;
NeEvent
->
L
ya
[
chnl
-
16
]
=
adc
;
}
}
break
;
break
;
...
@@ -624,12 +702,18 @@ ToF = (tf5 - tf3)*0.015625 + 68.475;
...
@@ -624,12 +702,18 @@ ToF = (tf5 - tf3)*0.015625 + 68.475;
}
}
}
}
for
(
n
=
0
;
n
<
16
;
++
n
)
{
for
(
n
=
0
;
n
<
16
;
++
n
)
{
if
(
NeEvent
->
T1xt
[
n
]
>
0
)
d1T1xa
[
n
]
->
Fill
(
NeEvent
->
T1xa
[
n
]);
if
(
NeEvent
->
Lxt
[
n
]
>
0
)
d1Lxa
[
n
]
->
Fill
(
NeEvent
->
Lxa
[
n
]);
d1T1xt
[
n
]
->
Fill
(
NeEvent
->
T1xt
[
n
]);
d1Lxt
[
n
]
->
Fill
(
NeEvent
->
Lxt
[
n
]);
if
(
NeEvent
->
T1yt
[
n
]
>
0
)
d1T1ya
[
n
]
->
Fill
(
NeEvent
->
T1ya
[
n
]);
if
(
NeEvent
->
Lyt
[
n
]
>
0
)
d1Lya
[
n
]
->
Fill
(
NeEvent
->
Lya
[
n
]);
d1T1yt
[
n
]
->
Fill
(
NeEvent
->
T1yt
[
n
]);
d1Lyt
[
n
]
->
Fill
(
NeEvent
->
Lyt
[
n
]);
hT1a
->
Fill
(
NeEvent
->
T1xa
[
n
],
n
);
if
(
NeEvent
->
Rxt
[
n
]
>
0
)
d1Rxa
[
n
]
->
Fill
(
NeEvent
->
Rxa
[
n
]);
hT1a
->
Fill
(
NeEvent
->
T1ya
[
n
],
n
+
16
);
d1Rxt
[
n
]
->
Fill
(
NeEvent
->
Rxt
[
n
]);
if
(
NeEvent
->
Ryt
[
n
]
>
0
)
d1Rya
[
n
]
->
Fill
(
NeEvent
->
Rya
[
n
]);
d1Ryt
[
n
]
->
Fill
(
NeEvent
->
Ryt
[
n
]);
if
(
NeEvent
->
AnSt
[
n
]
>
0
)
d1AnSa
[
n
]
->
Fill
(
NeEvent
->
AnSa
[
n
]);
d1AnSt
[
n
]
->
Fill
(
NeEvent
->
AnSt
[
n
]);
if
(
NeEvent
->
AnRt
[
n
]
>
0
)
d1AnRa
[
n
]
->
Fill
(
NeEvent
->
AnRa
[
n
]);
d1AnRt
[
n
]
->
Fill
(
NeEvent
->
AnRt
[
n
]);
}
}
//-----p1 secrors amp.-----
//-----p1 secrors amp.-----
/*
/*
...
@@ -652,7 +736,7 @@ ToF = (tf5 - tf3)*0.015625 + 68.475;
...
@@ -652,7 +736,7 @@ ToF = (tf5 - tf3)*0.015625 + 68.475;
{
{
value1 = (double)NeEvent->p1s[n] + gRandom->Uniform();
value1 = (double)NeEvent->p1s[n] + gRandom->Uniform();
value2 = ((TNeAnalysis*)go4)->p_p1s->Energy(value1, n);
value2 = ((TNeAnalysis*)go4)->p_p1s->Energy(value1, n);
d1_
T1
xa_c[n]->Fill(value2);
d1_
L
xa_c[n]->Fill(value2);
mp1s++;
mp1s++;
ep1s = value2;
ep1s = value2;
}
}
...
...
TNeProc.h
View file @
ec74e750
...
@@ -26,14 +26,27 @@ private:
...
@@ -26,14 +26,27 @@ private:
//
//
//-----SQ-----
//-----SQ-----
//-----raw-----
//-----raw-----
TH2
*
hT1a
;
TH1
*
d1Lxa
[
16
];
TH2
*
hT1t
;
TH1
*
d1Lxt
[
16
];
TH1
*
d1T1xa
[
16
];
TH1
*
d1Lxc
[
16
];
TH1
*
d1T1xt
[
16
];
TH1
*
d1Lya
[
16
];
TH1
*
d1T1xc
[
16
];
TH1
*
d1Lyt
[
16
];
TH1
*
d1T1ya
[
16
];
TH1
*
d1Lyc
[
16
];
TH1
*
d1T1yt
[
16
];
TH1
*
d1Rxa
[
16
];
TH1
*
d1T1yc
[
16
];
TH1
*
d1Rxt
[
16
];
TH1
*
d1Rxc
[
16
];
TH1
*
d1Rya
[
16
];
TH1
*
d1Ryt
[
16
];
TH1
*
d1Ryc
[
16
];
TH1
*
d1AnSa
[
16
];
TH1
*
d1AnSt
[
16
];
TH1
*
d1AnSc
[
16
];
TH1
*
d1AnRa
[
16
];
TH1
*
d1AnRt
[
16
];
TH1
*
d1AnRc
[
16
];
TH1
*
d1AnVa
[
16
];
TH1
*
d1AnVt
[
16
];
TH1
*
d1AnVc
[
16
];
//-----clb-----
//-----clb-----
TH1
*
d1sq1_x_c
[
16
];
TH1
*
d1sq1_x_c
[
16
];
//-----ToF+MWPC-----
//-----ToF+MWPC-----
...
...
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