Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cbmroot
Manage
Activity
Members
Labels
Plan
Wiki
Redmine
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
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
Computing
cbmroot
Commits
e11ebc1c
Commit
e11ebc1c
authored
4 years ago
by
Dominik Smith
Browse files
Options
Downloads
Patches
Plain Diff
Added switch to choose newest, 2019 or 2018 versions of raw event builder in /macro/run/run_reco.C.
parent
7596269f
No related branches found
No related tags found
1 merge request
!222
Event builder new
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
macro/run/run_reco.C
+41
-27
41 additions, 27 deletions
macro/run/run_reco.C
with
41 additions
and
27 deletions
macro/run/run_reco.C
+
41
−
27
View file @
e11ebc1c
...
...
@@ -61,7 +61,8 @@
** employed and reconstruction will be time-based. The option "Ideal"
** selects the ideal raw event builder, which associates digis to events
** based on the MC truth. The option "Real" selects a real raw event builder
** (not yet available).
** (latest version, for older versions use "Real2018" or "Real2019").
**
**
** The file names must be specified without extensions. The convention is
** that the raw (input) file is [input].raw.root. The output file
...
...
@@ -198,33 +199,24 @@ void run_reco(TString input = "",
<<
std
::
endl
;
eventBased
=
kTRUE
;
}
//? Ideal raw event building
else
if
(
sEvBuildRaw
.
EqualTo
(
"Real"
,
TString
::
ECaseCompare
::
kIgnoreCase
))
{
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
/// to use 2018 version, uncomment this section and comment the next one
/*
else
if
(
sEvBuildRaw
.
EqualTo
(
"Real2018"
,
TString
::
ECaseCompare
::
kIgnoreCase
))
{
CbmMcbm2018EventBuilder
*
evBuildRaw
=
new
CbmMcbm2018EventBuilder
();
evBuildRaw
->
SetFixedTimeWindow
(
5500
.);
evBuildRaw
->
SetTriggerMinNumberSts
(
50
);
if (!useSts) {
std::cerr << "-E- " << myName << ": Sts must be present for raw event "
<< "building using ``Real'' option. Terminating macro."
<< std::endl;
return;
}
*/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
/// to use 2018 version, uncomment this section and comment the prev. one
/* switch between 2019 and 2021 version here
run
->
AddTask
(
evBuildRaw
);
std
::
cout
<<
"-I- "
<<
myName
<<
": Added task "
<<
evBuildRaw
->
GetName
()
<<
std
::
endl
;
eventBased
=
kTRUE
;
}
else
if
(
sEvBuildRaw
.
EqualTo
(
"Real2019"
,
TString
::
ECaseCompare
::
kIgnoreCase
))
{
CbmMcbm2019TimeWinEventBuilderTask
*
evBuildRaw
=
new
CbmMcbm2019TimeWinEventBuilderTask
();
//Choose between NoOverlap, MergeOverlap, AllowOverlap
evBuildRaw->SetEventOverlapMode(EOverlapMode::AllowOverlap);
// for 2019 version
evBuildRaw
->
SetEventOverlapMode
(
EOverlapMode
::
AllowOverlap
);
// Remove detectors where digis not found
if
(
!
useRich
)
evBuildRaw
->
RemoveDetector
(
kEventBuilderDetRich
);
...
...
@@ -232,18 +224,37 @@ void run_reco(TString input = "",
if
(
!
usePsd
)
evBuildRaw
->
RemoveDetector
(
kEventBuilderDetPsd
);
if
(
!
useTof
)
evBuildRaw
->
RemoveDetector
(
kEventBuilderDetTof
);
if
(
!
useTrd
)
evBuildRaw
->
RemoveDetector
(
kEventBuilderDetTrd
);
if
(
!
useSts
)
{
std
::
cerr
<<
"-E- "
<<
myName
<<
": Sts must be present for raw event "
<<
"building using ``Real2019'' option. Terminating macro."
<<
std
::
endl
;
return
;
}
// Remove STS as it will be our reference
evBuildRaw
->
RemoveDetector
(
kEventBuilderDetSts
);
// Set STS as reference detector
evBuildRaw
->
SetReferenceDetector
(
kEventBuilderDetSts
);
*/
evBuildRaw
->
SetTsParameters
(
0
.
0
,
1.e7
,
0
.
0
);
// Use CbmMuchDigi instead of CbmMuchBeamtimeDigi
evBuildRaw
->
ChangeMuchBeamtimeDigiFlag
(
kFALSE
);
evBuildRaw
->
SetTriggerMinNumber
(
ECbmModuleId
::
kSts
,
1000
);
evBuildRaw
->
SetTriggerMaxNumber
(
ECbmModuleId
::
kSts
,
-
1
);
evBuildRaw
->
SetTriggerWindow
(
ECbmModuleId
::
kSts
,
-
500
,
500
);
run
->
AddTask
(
evBuildRaw
);
std
::
cout
<<
"-I- "
<<
myName
<<
": Added task "
<<
evBuildRaw
->
GetName
()
<<
std
::
endl
;
eventBased
=
kTRUE
;
}
else
if
(
sEvBuildRaw
.
EqualTo
(
"Real"
,
TString
::
ECaseCompare
::
kIgnoreCase
))
{
CbmTaskBuildRawEvents
*
evBuildRaw
=
new
CbmTaskBuildRawEvents
();
//Choose between NoOverlap, MergeOverlap, AllowOverlap
evBuildRaw
->
SetEventOverlapMode
(
EOverlapModeRaw
::
AllowOverlap
);
// for raw version
//Choose between NoOverlap, MergeOverlap, AllowOverlap
evBuildRaw
->
SetEventOverlapMode
(
EOverlapModeRaw
::
AllowOverlap
);
// Remove detectors where digis not found
if
(
!
useRich
)
evBuildRaw
->
RemoveDetector
(
kRawEventBuilderDetRich
);
...
...
@@ -251,13 +262,17 @@ void run_reco(TString input = "",
if
(
!
usePsd
)
evBuildRaw
->
RemoveDetector
(
kRawEventBuilderDetPsd
);
if
(
!
useTof
)
evBuildRaw
->
RemoveDetector
(
kRawEventBuilderDetTof
);
if
(
!
useTrd
)
evBuildRaw
->
RemoveDetector
(
kRawEventBuilderDetTrd
);
if
(
!
useSts
)
{
std
::
cerr
<<
"-E- "
<<
myName
<<
": Sts must be present for raw event "
<<
"building using ``Real2019'' option. Terminating macro."
<<
std
::
endl
;
return
;
}
// Remove STS as it will be our reference
evBuildRaw
->
RemoveDetector
(
kRawEventBuilderDetSts
);
// Set STS as reference detector
evBuildRaw
->
SetReferenceDetector
(
kRawEventBuilderDetSts
);
evBuildRaw
->
SetTsParameters
(
0
.
0
,
1.e7
,
0
.
0
);
// Use CbmMuchDigi instead of CbmMuchBeamtimeDigi
...
...
@@ -266,7 +281,6 @@ void run_reco(TString input = "",
evBuildRaw
->
SetTriggerMinNumber
(
ECbmModuleId
::
kSts
,
1000
);
evBuildRaw
->
SetTriggerMaxNumber
(
ECbmModuleId
::
kSts
,
-
1
);
evBuildRaw
->
SetTriggerWindow
(
ECbmModuleId
::
kSts
,
-
500
,
500
);
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
run
->
AddTask
(
evBuildRaw
);
std
::
cout
<<
"-I- "
<<
myName
<<
": Added task "
<<
evBuildRaw
->
GetName
()
...
...
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