Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
nptool
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
np
nptool
Commits
f2c17407
Commit
f2c17407
authored
11 years ago
by
adrien-matta
Browse files
Options
Downloads
Patches
Plain Diff
* Reshaping of the TMust2Spectra Class
parent
ebf124f4
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
NPLib/MUST2/TMust2Spectra.cxx
+312
-190
312 additions, 190 deletions
NPLib/MUST2/TMust2Spectra.cxx
NPLib/MUST2/TMust2Spectra.h
+39
-78
39 additions, 78 deletions
NPLib/MUST2/TMust2Spectra.h
with
351 additions
and
268 deletions
NPLib/MUST2/TMust2Spectra.cxx
+
312
−
190
View file @
f2c17407
...
@@ -26,224 +26,346 @@
...
@@ -26,224 +26,346 @@
ClassImp
(
TMust2Spectra
)
ClassImp
(
TMust2Spectra
)
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra
::
TMust2Spectra
()
TMust2Spectra
::
TMust2Spectra
(){
:
fMust2Data
(
new
TMust2Data
()),
fNumberOfTelescope
=
0
;
fMust2PreTreatedData
(
new
TMust2Data
()),
fStripX
=
128
;
fMust2Physics
(
new
TMust2Physics
())
fStripY
=
128
;
{
fPadSili
=
16
;
fMust2PreTreatedData
=
fMust2Physics
->
GetPreTreatedData
();
fCrystalCsI
=
16
;
}
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra
::
TMust2Spectra
(
unsigned
int
NumberOfTelescope
){
fNumberOfTelescope
=
NumberOfTelescope
;
fStripX
=
128
;
fStripY
=
128
;
fPadSili
=
16
;
fCrystalCsI
=
16
;
}
}
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra
::~
TMust2Spectra
(){
}
TMust2Spectra
::~
TMust2Spectra
()
////////////////////////////////////////////////////////////////////////////////
{
void
TMust2Spectra
::
InitRawSpectra
(){
TString
name
;
for
(
Int_t
i
=
0
;
i
<
fNumberOfTelescope
;
i
++
)
{
// loop on number of detectors
// STRX_E_RAW
name
=
Form
(
"MM%d_STRX_E_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/STRXE"
);
// STRY_E_RAW
name
=
Form
(
"MM%d_STRY_E_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripY
,
1
,
fStripY
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/STRYE"
);
// STRX_T_RAW
name
=
Form
(
"MM%d_STRX_T_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/STRXT"
);
// STRY_T_RAW
name
=
Form
(
"MM%d_STRY_T_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripY
,
1
,
fStripY
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/STRYT"
);
// SILI_E_RAW
name
=
Form
(
"MM%d_SILI_E_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/SILIE"
);
// SILI_T_RAW
name
=
Form
(
"MM%d_SILI_T_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/SILIT"
);
// CSI_E_RAW
name
=
Form
(
"MM%d_CSI_E_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/CSIE"
);
// CSI_T_RAW
name
=
Form
(
"MM%d_CSI_T_RAW"
,
i
+
1
);
AddTH2
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
512
,
0
,
8192
,
"MUST2/RAW/CSIT"
);
// STRX_MULT
name
=
Form
(
"MM%d_STRX_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
"MUST2/RAW/MULT"
);
// STRY_MULT
name
=
Form
(
"MM%d_STRY_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
"MUST2/RAW/MULT"
);
// SILI_MULT
name
=
Form
(
"MM%d_SILI_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
"MUST2/RAW/MULT"
);
// CSI_MULT
name
=
Form
(
"MM%d_CSI_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
"MUST2/RAW/MULT"
);
}
// end loop on number of detectors
}
}
////////////////////////////////////////////////////////////////////////////////
void
TMust2Spectra
::
InitPreTreatedSpectra
()
{
TString
name
;
for
(
Int_t
i
=
0
;
i
<
fNumberOfTelescope
;
i
++
)
{
// loop on number of detectors
// STRX_E_CAL
name
=
Form
(
"MM%d_STRX_E_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
500
,
0
,
50
,
"MUST2/CAL/STRXE"
);
// STRY_E_CAL
name
=
Form
(
"MM%d_STRY_E_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripY
,
1
,
fStripY
+
1
,
500
,
0
,
50
,
"MUST2/CAL/STRYE"
);
void
TMust2Spectra
::
InitRawUserSpectra
()
// STRX_T_CAL
{
name
=
Form
(
"MM%d_STRX_T_CAL"
,
i
+
1
);
TString
name
;
AddTH2
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
500
,
0
,
500
,
"MUST2/CAL/STRXT"
);
for
(
Int_t
i
=
0
;
i
<
NUMBERMUST2
;
++
i
)
{
// loop on number of detectors
// STRX_MULT
name
=
Form
(
"MM%d_STRX_MULT"
,
i
+
1
);
MM_STRX_MULT
[
i
]
=
AddTH1
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
"MUST2/BRUT/MULT"
);
// STRY_MULT
name
=
Form
(
"MM%d_STRY_MULT"
,
i
+
1
);
MM_STRY_MULT
[
i
]
=
AddTH1
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
"MUST2/BRUT/MULT"
);
// SILI_MULT
name
=
Form
(
"MM%d_SILI_MULT"
,
i
+
1
);
MM_SILI_MULT
[
i
]
=
AddTH1
(
name
,
name
,
NUMBERSILI
,
1
,
NUMBERSILI
+
1
,
"MUST2/BRUT/MULT"
);
// CSI_MULT
name
=
Form
(
"MM%d_CSI_MULT"
,
i
+
1
);
MM_CSI_MULT
[
i
]
=
AddTH1
(
name
,
name
,
NUMBERCSI
,
1
,
NUMBERCSI
+
1
,
"MUST2/BRUT/MULT"
);
}
// end loop on number of detectors
}
// STRY_T_CAL
name
=
Form
(
"MM%d_STRY_T_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fStripY
,
1
,
fStripY
+
1
,
500
,
0
,
500
,
"MUST2/CAL/STRYT"
);
// SILI_E_CAL
name
=
Form
(
"MM%d_SILI_E_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
500
,
0
,
50
,
"MUST2/CAL/SILIE"
);
void
TMust2Spectra
::
InitUserSpectra
()
// SILI_T_CAL
{
name
=
Form
(
"MM%d_SILI_T_CAL"
,
i
+
1
);
TString
name
;
AddTH2
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
500
,
0
,
50
,
"MUST2/CAL/SILIT"
);
for
(
Int_t
i
=
0
;
i
<
NUMBERMUST2
;
i
++
)
{
// loop on number of detectors
// STRX_E_BRU
name
=
Form
(
"MM%d_STRX_E_BRU"
,
i
+
1
);
MM_STRX_E_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/STRXE"
);
// STRY_E_BRU
name
=
Form
(
"MM%d_STRY_E_BRU"
,
i
+
1
);
MM_STRY_E_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/STRYE"
);
// STRX_T_BRU
name
=
Form
(
"MM%d_STRX_T_BRU"
,
i
+
1
);
MM_STRX_T_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/STRXT"
);
// STRY_T_BRU
name
=
Form
(
"MM%d_STRY_T_BRU"
,
i
+
1
);
MM_STRY_T_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/STRYT"
);
// SILI_E_BRU
name
=
Form
(
"MM%d_SILI_E_BRU"
,
i
+
1
);
MM_SILI_E_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSILI
,
1
,
NUMBERSILI
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/SILIE"
);
// SILI_T_BRU
name
=
Form
(
"MM%d_SILI_T_BRU"
,
i
+
1
);
MM_SILI_T_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSILI
,
1
,
NUMBERSILI
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/SILIT"
);
// CSI_E_BRU
name
=
Form
(
"MM%d_CSI_E_BRU"
,
i
+
1
);
MM_CSI_E_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERCSI
,
1
,
NUMBERCSI
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/CSIE"
);
// CSI_T_BRU
name
=
Form
(
"MM%d_CSI_T_BRU"
,
i
+
1
);
MM_CSI_T_BRU
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERCSI
,
1
,
NUMBERCSI
+
1
,
512
,
0
,
8192
,
"MUST2/BRUT/CSIT"
);
// STRX_E_CAL
name
=
Form
(
"MM%d_STRX_E_CAL"
,
i
+
1
);
MM_STRX_E_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
500
,
0
,
50
,
"MUST2/CAL/STRXE"
);
// STRY_E_CAL
name
=
Form
(
"MM%d_STRY_E_CAL"
,
i
+
1
);
MM_STRY_E_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
500
,
0
,
50
,
"MUST2/CAL/STRYE"
);
// STRX_T_CAL
name
=
Form
(
"MM%d_STRX_T_CAL"
,
i
+
1
);
MM_STRX_T_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
500
,
0
,
500
,
"MUST2/CAL/STRXT"
);
// STRY_T_CAL
name
=
Form
(
"MM%d_STRY_T_CAL"
,
i
+
1
);
MM_STRY_T_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSTRIPS
,
1
,
NUMBERSTRIPS
+
1
,
500
,
0
,
500
,
"MUST2/CAL/STRYT"
);
// SILI_E_CAL
name
=
Form
(
"MM%d_SILI_E_CAL"
,
i
+
1
);
MM_SILI_E_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSILI
,
1
,
NUMBERSILI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/SILIE"
);
// SILI_T_CAL
name
=
Form
(
"MM%d_SILI_T_CAL"
,
i
+
1
);
MM_SILI_T_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERSILI
,
1
,
NUMBERSILI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/SILIT"
);
// CSI_E_CAL
name
=
Form
(
"MM%d_CSI_E_CAL"
,
i
+
1
);
MM_CSI_E_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERCSI
,
1
,
NUMBERCSI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/CSIE"
);
// CSI_T_CAL
name
=
Form
(
"MM%d_CSI_T_CAL"
,
i
+
1
);
MM_CSI_T_CAL
[
i
]
=
AddTH2
(
name
,
name
,
NUMBERCSI
,
1
,
NUMBERCSI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/CSIT"
);
}
// end loop on number of detectors
}
// CSI_E_CAL
name
=
Form
(
"MM%d_CSI_E_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/CSIE"
);
// CSI_T_CAL
name
=
Form
(
"MM%d_CSI_T_CAL"
,
i
+
1
);
AddTH2
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
500
,
0
,
50
,
"MUST2/CAL/CSIT"
);
void
TMust2Spectra
::
FillRawUserSpectra
()
// STRX_MULT
{
name
=
Form
(
"MM%d_STRX_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
"MUST2/CAL/MULT"
);
// STRY_MULT
name
=
Form
(
"MM%d_STRY_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fStripX
,
1
,
fStripX
+
1
,
"MUST2/CAL/MULT"
);
// SILI_MULT
name
=
Form
(
"MM%d_SILI_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fPadSili
,
1
,
fPadSili
+
1
,
"MUST2/CAL/MULT"
);
// CSI_MULT
name
=
Form
(
"MM%d_CSI_MULT"
,
i
+
1
);
AddTH1
(
name
,
name
,
fCrystalCsI
,
1
,
fCrystalCsI
+
1
,
"MUST2/CAL/MULT"
);
}
// end loop on number of detectors
}
}
////////////////////////////////////////////////////////////////////////////////
void
TMust2Spectra
::
FillRawSpectra
(
TMust2Data
*
RawData
){
TString
name
;
TString
family
;
// STRX_E
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMStripXEMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRX_E_RAW"
,
RawData
->
GetMMStripXEDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/STRXE"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMStripXEStripNbr
(
i
),
RawData
->
GetMMStripXEEnergy
(
i
)
-
8192
);
}
// STRY_E
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMStripYEMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRY_E_RAW"
,
RawData
->
GetMMStripYEDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/STRYE"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMStripYEStripNbr
(
i
),
8192
-
RawData
->
GetMMStripYEEnergy
(
i
));
}
// STRX_T
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMStripXTMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRX_T_RAW"
,
RawData
->
GetMMStripXTDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/STRXT"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMStripXTStripNbr
(
i
),
RawData
->
GetMMStripXTTime
(
i
)
-
8192
);
}
// STRY_T
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMStripYTMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRY_T_RAW"
,
RawData
->
GetMMStripYTDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/STRYT"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMStripYTStripNbr
(
i
),
8192
-
RawData
->
GetMMStripYTTime
(
i
));
}
// SILI_E
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMSiLiEMult
();
i
++
)
{
name
=
Form
(
"MM%d_SILI_E_RAW"
,
RawData
->
GetMMSiLiEDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/SILIE"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMSiLiEPadNbr
(
i
),
RawData
->
GetMMSiLiEEnergy
(
i
));
}
// SILI_T
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMSiLiTMult
();
i
++
)
{
name
=
Form
(
"MM%d_SILI_T_RAW"
,
RawData
->
GetMMSiLiTDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/SILIT"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMSiLiTPadNbr
(
i
),
RawData
->
GetMMSiLiTTime
(
i
));
}
// CSI_E
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMCsIEMult
();
i
++
)
{
name
=
Form
(
"MM%d_CSI_E_RAW"
,
RawData
->
GetMMCsIEDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/CSIE"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMCsIECristalNbr
(
i
),
RawData
->
GetMMCsIEEnergy
(
i
));
}
// CSI_T
for
(
Int_t
i
=
0
;
i
<
RawData
->
GetMMCsITMult
();
i
++
)
{
name
=
Form
(
"MM%d_CSI_T_RAW"
,
RawData
->
GetMMCsITDetectorNbr
(
i
)
);
family
=
"MUST2/RAW/CSIT"
;
GetHisto
(
family
,
name
)
->
Fill
(
RawData
->
GetMMCsITCristalNbr
(
i
),
RawData
->
GetMMCsITTime
(
i
));
}
void
TMust2Spectra
::
FillUserSpectra
()
{
// STRX_E
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMStripXEMult
();
i
++
)
{
MM_STRX_E_BRU
[
fMust2Data
->
GetMMStripXEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMStripXEStripNbr
(
i
),
fMust2Data
->
GetMMStripXEEnergy
(
i
)
-
8192
);
}
// STRY_E
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMStripYEMult
();
i
++
)
{
MM_STRY_E_BRU
[
fMust2Data
->
GetMMStripYEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMStripYEStripNbr
(
i
),
8192
-
fMust2Data
->
GetMMStripYEEnergy
(
i
));
}
// STRX_T
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMStripXTMult
();
i
++
)
{
MM_STRX_T_BRU
[
fMust2Data
->
GetMMStripXTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMStripXTStripNbr
(
i
),
fMust2Data
->
GetMMStripXTTime
(
i
)
-
8192
);
}
// STRY_T
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMStripYTMult
();
i
++
)
{
MM_STRY_T_BRU
[
fMust2Data
->
GetMMStripYTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMStripYTStripNbr
(
i
),
8192
-
fMust2Data
->
GetMMStripYTTime
(
i
));
}
// SILI_E
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMSiLiEMult
();
i
++
)
{
MM_SILI_E_BRU
[
fMust2Data
->
GetMMSiLiEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMSiLiEPadNbr
(
i
),
fMust2Data
->
GetMMSiLiEEnergy
(
i
));
}
// SILI_T
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMSiLiTMult
();
i
++
)
{
MM_SILI_T_BRU
[
fMust2Data
->
GetMMSiLiTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMSiLiTPadNbr
(
i
),
fMust2Data
->
GetMMSiLiTTime
(
i
));
}
// CSI_E
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMCsIEMult
();
i
++
)
{
MM_CSI_E_BRU
[
fMust2Data
->
GetMMCsIEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMCsIECristalNbr
(
i
),
fMust2Data
->
GetMMCsIEEnergy
(
i
));
}
// CSI_T
for
(
Int_t
i
=
0
;
i
<
fMust2Data
->
GetMMCsITMult
();
i
++
)
{
MM_CSI_T_BRU
[
fMust2Data
->
GetMMCsITDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2Data
->
GetMMCsITCristalNbr
(
i
),
fMust2Data
->
GetMMCsITTime
(
i
));
}
// fill calibrated user spectra
// STRX_E
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMStripXEMult
();
i
++
)
{
MM_STRX_E_CAL
[
fMust2PreTreatedData
->
GetMMStripXEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMStripXEStripNbr
(
i
),
fMust2PreTreatedData
->
GetMMStripXEEnergy
(
i
));
}
// STRY_E
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMStripYEMult
();
i
++
)
{
MM_STRY_E_CAL
[
fMust2PreTreatedData
->
GetMMStripYEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMStripYEStripNbr
(
i
),
fMust2PreTreatedData
->
GetMMStripYEEnergy
(
i
));
}
// STRX_T
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMStripXTMult
();
i
++
)
{
MM_STRX_T_CAL
[
fMust2PreTreatedData
->
GetMMStripXTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMStripXTStripNbr
(
i
),
fMust2PreTreatedData
->
GetMMStripXTTime
(
i
));
}
// STRY_T
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMStripYTMult
();
i
++
)
{
MM_STRY_T_CAL
[
fMust2PreTreatedData
->
GetMMStripYTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMStripYTStripNbr
(
i
),
fMust2PreTreatedData
->
GetMMStripYTTime
(
i
));
}
// SILI_E
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMSiLiEMult
();
i
++
)
{
MM_SILI_E_CAL
[
fMust2PreTreatedData
->
GetMMSiLiEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMSiLiEPadNbr
(
i
),
fMust2PreTreatedData
->
GetMMSiLiEEnergy
(
i
));
}
// SILI_T
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMSiLiTMult
();
i
++
)
{
MM_SILI_T_CAL
[
fMust2PreTreatedData
->
GetMMSiLiTDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMSiLiTPadNbr
(
i
),
fMust2PreTreatedData
->
GetMMSiLiTTime
(
i
));
}
// CSI_E
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMCsIEMult
();
i
++
)
{
MM_CSI_E_CAL
[
fMust2PreTreatedData
->
GetMMCsIEDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMCsIECristalNbr
(
i
),
fMust2PreTreatedData
->
GetMMCsIEEnergy
(
i
));
}
// CSI_T
for
(
Int_t
i
=
0
;
i
<
fMust2PreTreatedData
->
GetMMCsITMult
();
i
++
)
{
MM_CSI_T_CAL
[
fMust2PreTreatedData
->
GetMMCsITDetectorNbr
(
i
)
-
1
]
->
Fill
(
fMust2PreTreatedData
->
GetMMCsITCristalNbr
(
i
),
fMust2PreTreatedData
->
GetMMCsITTime
(
i
));
}
}
}
////////////////////////////////////////////////////////////////////////////////
void
TMust2Spectra
::
FillPreTreatedSpectra
(
TMust2Data
*
PreTreatedData
){
TString
name
;
TString
family
;
// STRX_E
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMStripXEMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRX_E_CAL"
,
PreTreatedData
->
GetMMStripXEDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/STRIPXE"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMStripXEStripNbr
(
i
),
PreTreatedData
->
GetMMStripXEEnergy
(
i
));
}
// STRY_E
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMStripYEMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRY_E_CAL"
,
PreTreatedData
->
GetMMStripYEDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/STRYE"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMStripYEStripNbr
(
i
),
PreTreatedData
->
GetMMStripYEEnergy
(
i
));
}
// STRX_T
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMStripXTMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRX_T_CAL"
,
PreTreatedData
->
GetMMStripXTDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/STRXT"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMStripXTStripNbr
(
i
),
PreTreatedData
->
GetMMStripXTTime
(
i
));
}
// STRY_T
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMStripYTMult
();
i
++
)
{
name
=
Form
(
"MM%d_STRY_T_CAL"
,
PreTreatedData
->
GetMMStripYTDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/STRYT"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMStripYTStripNbr
(
i
),
PreTreatedData
->
GetMMStripYTTime
(
i
));
}
// SILI_E
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMSiLiEMult
();
i
++
)
{
name
=
Form
(
"MM%d_SILI_E_CAL"
,
PreTreatedData
->
GetMMSiLiEDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/SILIET"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMSiLiEPadNbr
(
i
),
PreTreatedData
->
GetMMSiLiEEnergy
(
i
));
}
// SILI_T
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMSiLiTMult
();
i
++
)
{
name
=
Form
(
"MM%d_SILI_T_CAL"
,
PreTreatedData
->
GetMMSiLiTDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/SILIT"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMSiLiTPadNbr
(
i
),
PreTreatedData
->
GetMMSiLiTTime
(
i
));
}
// CSI_E
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMCsIEMult
();
i
++
)
{
name
=
Form
(
"MM%d_CSI_E_CAL"
,
PreTreatedData
->
GetMMCsIEDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/CSIE"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMCsIECristalNbr
(
i
),
PreTreatedData
->
GetMMCsIEEnergy
(
i
));
}
// CSI_T
for
(
Int_t
i
=
0
;
i
<
PreTreatedData
->
GetMMCsITMult
();
i
++
)
{
name
=
Form
(
"MM%d_CSI_T_CAL"
,
PreTreatedData
->
GetMMCsITDetectorNbr
(
i
)
);
family
=
"MUST2/CAL/CSIT"
;
GetHisto
(
family
,
name
)
->
Fill
(
PreTreatedData
->
GetMMCsITCristalNbr
(
i
),
PreTreatedData
->
GetMMCsITTime
(
i
));
}
}
////////////////////////////////////////////////////////////////////////////////
void
TMust2Spectra
::
FillPhysicsSpectra
(
TMust2Physics
*
Physics
){
TH1
*
TMust2Spectra
::
AddTH1
(
const
char
*
name
,
const
char
*
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
const
char
*
family
)
}
{
// create histo
TH1
*
hist
=
new
TH1I
(
name
,
title
,
nbinsx
,
xlow
,
xup
);
// fill map
////////////////////////////////////////////////////////////////////////////////
fMapHisto
[
family
].
push_back
(
hist
);
TH1
*
TMust2Spectra
::
AddTH1
(
TString
name
,
TString
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
TString
family
){
// create histo
TH1
*
hist
=
new
TH1D
(
name
,
title
,
nbinsx
,
xlow
,
xup
);
return
hist
;
vector
<
TString
>
index
;
index
.
push_back
(
family
);
index
.
push_back
(
name
);
// fill map
fMapHisto
[
index
]
=
hist
;
return
hist
;
}
}
////////////////////////////////////////////////////////////////////////////////
TH1
*
TMust2Spectra
::
AddTH2
(
TString
name
,
TString
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
Int_t
nbinsy
,
Double_t
ylow
,
Double_t
yup
,
TString
family
){
// create histo
TH1
*
hist
=
new
TH2D
(
name
,
title
,
nbinsx
,
xlow
,
xup
,
nbinsy
,
ylow
,
yup
);
TH1
*
TMust2Spectra
::
AddTH2
(
const
char
*
name
,
const
char
*
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
Int_t
nbinsy
,
Double_t
ylow
,
Double_t
yup
,
const
char
*
family
)
vector
<
TString
>
index
;
{
index
.
push_back
(
family
);
// create histo
index
.
push_back
(
name
);
TH1
*
hist
=
new
TH2I
(
name
,
title
,
nbinsx
,
xlow
,
xup
,
nbinsy
,
ylow
,
yup
);
// fill map
fMapHisto
[
index
]
=
hist
;
return
hist
;
}
// fill map
////////////////////////////////////////////////////////////////////////////////
fMapHisto
[
family
].
push_back
(
hist
);
TH1
*
TMust2Spectra
::
GetHisto
(
TString
family
,
TString
name
){
vector
<
TString
>
index
;
index
.
push_back
(
family
);
index
.
push_back
(
name
);
return
hist
;
// fill map
return
fMapHisto
.
at
(
index
);
}
}
This diff is collapsed.
Click to expand it.
NPLib/MUST2/TMust2Spectra.h
+
39
−
78
View file @
f2c17407
...
@@ -25,12 +25,12 @@
...
@@ -25,12 +25,12 @@
// C++ STL headers
// C++ STL headers
#include
<map>
#include
<map>
#include
<string>
// ROOT headers
// ROOT headers
#include
"TObject.h"
#include
"TObject.h"
#include
<TH1.h>
#include
<TH1.h>
#include
<TH2.h>
#include
<TH2.h>
#include
<TString.h>
// NPLib headers
// NPLib headers
#include
"TMust2Data.h"
#include
"TMust2Data.h"
...
@@ -38,84 +38,45 @@
...
@@ -38,84 +38,45 @@
using
namespace
std
;
using
namespace
std
;
#define NUMBERMUST2 8
#define NUMBERSTRIPS 128
#define NUMBERSILI 16
#define NUMBERCSI 16
class
TMust2Spectra
:
public
TObject
{
class
TMust2Spectra
:
public
TObject
{
public:
public:
// constructor and destructor
// constructor and destructor
TMust2Spectra
();
TMust2Spectra
();
virtual
~
TMust2Spectra
();
TMust2Spectra
(
unsigned
int
NumberOfTelescope
);
virtual
~
TMust2Spectra
();
// Instantiate and register histo to maps
TH1
*
AddTH1
(
const
char
*
name
,
const
char
*
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
const
char
*
family
=
"MUST2"
);
// Instantiate and register histo to maps
TH1
*
AddTH2
(
const
char
*
name
,
const
char
*
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
Int_t
nbinsy
,
Double_t
ylow
,
Double_t
yup
,
const
char
*
family
=
"MUST2"
);
TH1
*
AddTH1
(
TString
name
,
TString
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
TString
family
);
TH1
*
AddTH2
(
TString
name
,
TString
title
,
Int_t
nbinsx
,
Double_t
xlow
,
Double_t
xup
,
// Initialization methods
Int_t
nbinsy
,
Double_t
ylow
,
Double_t
yup
,
TString
family
);
void
InitRawUserSpectra
();
void
InitUserSpectra
();
// Initialization methods
// Filling methods
void
InitRawSpectra
();
void
FillRawUserSpectra
();
void
InitPreTreatedSpectra
();
void
FillUserSpectra
();
void
InitPhysicsSpectra
();
// getters and setters
// Filling methods
// getters
void
FillRawSpectra
(
TMust2Data
*
);
TMust2Data
*
GetMust2Data
()
const
{
return
fMust2Data
;}
void
FillPreTreatedSpectra
(
TMust2Data
*
);
TMust2Data
*
GetMust2PreTreatedData
()
const
{
return
fMust2PreTreatedData
;}
void
FillPhysicsSpectra
(
TMust2Physics
*
);
TMust2Physics
*
GetMust2Physics
()
const
{
return
fMust2Physics
;}
// setters
// get map histo which will be used for GSpectra in GUser
void
SetMust2Data
(
TMust2Data
*
must2Data
)
{
fMust2Data
=
must2Data
;}
map
<
vector
<
TString
>
,
TH1
*
>
GetMapHisto
()
const
{
return
fMapHisto
;}
void
SetMust2PreTreatedData
(
TMust2Data
*
must2PreTreatedData
)
{
fMust2PreTreatedData
=
must2PreTreatedData
;}
TH1
*
GetHisto
(
TString
family
,
TString
name
);
void
SetMust2Data
(
TMust2Physics
*
must2Physics
)
{
fMust2Physics
=
must2Physics
;}
private
:
// Information on MUST2
// get map histo which will be used for GSpectra in GUser
unsigned
int
fNumberOfTelescope
;
map
<
string
,
vector
<
TH1
*>
>
GetMapHisto
()
const
{
return
fMapHisto
;}
unsigned
int
fStripX
;
unsigned
int
fStripY
;
unsigned
int
fPadSili
;
private
:
unsigned
int
fCrystalCsI
;
// Data and physics class for Must2
TMust2Data
*
fMust2Data
;
private
:
TMust2Data
*
fMust2PreTreatedData
;
// map holding histo pointers and their family names
TMust2Physics
*
fMust2Physics
;
map
<
vector
<
TString
>
,
TH1
*
>
fMapHisto
;
private
:
// map holding histo pointers and their family names
ClassDef
(
TMust2Spectra
,
1
)
// Must2Spectra structure
map
<
string
,
vector
<
TH1
*>
>
fMapHisto
;
private
:
// monodim
TH1
*
MM_STRX_MULT
[
NUMBERMUST2
];
// dim = 128
TH1
*
MM_STRY_MULT
[
NUMBERMUST2
];
// dim = 128
TH1
*
MM_SILI_MULT
[
NUMBERMUST2
];
// dim = 16
TH1
*
MM_CSI_MULT
[
NUMBERMUST2
];
// dim = 16
// bidim
TH1
*
MM_STRX_E_BRU
[
NUMBERMUST2
];
// dim = 128 x 512
TH1
*
MM_STRY_E_BRU
[
NUMBERMUST2
];
TH1
*
MM_STRX_T_BRU
[
NUMBERMUST2
];
TH1
*
MM_STRY_T_BRU
[
NUMBERMUST2
];
// SiLi E
TH1
*
MM_SILI_E_BRU
[
NUMBERMUST2
];
// dim = 16 x 512
TH1
*
MM_SILI_T_BRU
[
NUMBERMUST2
];
// dim = 16 x 512
// CsI E
TH1
*
MM_CSI_E_BRU
[
NUMBERMUST2
];
// dim = 16 x 512
TH1
*
MM_CSI_T_BRU
[
NUMBERMUST2
];
// dim = 16 x 512
// Strips (X,Y) (E.T)
TH1
*
MM_STRX_E_CAL
[
NUMBERMUST2
];
// dim = 128 x 500 (50 MeV range)
TH1
*
MM_STRY_E_CAL
[
NUMBERMUST2
];
TH1
*
MM_STRX_T_CAL
[
NUMBERMUST2
];
// dim = 128 x 500 (500 ns range)
TH1
*
MM_STRY_T_CAL
[
NUMBERMUST2
];
// SiLi E
TH1
*
MM_SILI_E_CAL
[
NUMBERMUST2
];
// dim = 16 x 512
TH1
*
MM_SILI_T_CAL
[
NUMBERMUST2
];
// dim = 16 x 512
// CsI E
TH1
*
MM_CSI_E_CAL
[
NUMBERMUST2
];
// dim = 16 x 512
TH1
*
MM_CSI_T_CAL
[
NUMBERMUST2
];
// dim = 16 x 512
ClassDef
(
TMust2Spectra
,
1
)
// Must2Spectra structure
};
};
#endif
#endif
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment