Skip to content
Snippets Groups Projects
Commit 358500cd authored by Pierre-Alain Loizeau's avatar Pierre-Alain Loizeau
Browse files

Add support for mCBM evt builders in sim reco macro

parent 510e7d55
No related branches found
No related tags found
1 merge request!215Make TimeWinEventBuilder Algo more generic and compatible with simulated data
...@@ -199,10 +199,57 @@ void run_reco(TString input = "", ...@@ -199,10 +199,57 @@ void run_reco(TString input = "",
eventBased = kTRUE; eventBased = kTRUE;
} //? Ideal raw event building } //? Ideal raw event building
else if (evBuildRaw.EqualTo("Real", TString::ECaseCompare::kIgnoreCase)) { else if (evBuildRaw.EqualTo("Real", TString::ECaseCompare::kIgnoreCase)) {
std::cerr << "-E- " << myName // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
<< ": Real event building is not yet available! " /// to use 2018 version, uncomment this section and comment the next one
<< "Terminating macro execution." << std::endl; /*
return; 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
CbmMcbm2019TimeWinEventBuilderTask* evBuildRaw =
new CbmMcbm2019TimeWinEventBuilderTask();
evBuildRaw->SetTsParameters(0.0, 1.e7, 0.0);
// Use CbmMuchDigi instead of CbmMuchBeamtimeDigi
evBuildRaw->ChangeMuchBeamtimeDigiFlag(kFALSE);
// Remove detectors where digis not found
if (!useRich) evBuildRaw->RemoveDetector(kEventBuilderDetRich);
if (!useMuch) evBuildRaw->RemoveDetector(kEventBuilderDetMuch);
if (!usePsd) evBuildRaw->RemoveDetector(kEventBuilderDetPsd);
if (!useTof) evBuildRaw->RemoveDetector(kEventBuilderDetTof);
if (!useTrd) evBuildRaw->RemoveDetector(kEventBuilderDetTrd);
// Remove STS as it will be our reference
evBuildRaw->RemoveDetector(kEventBuilderDetSts);
// Set STS as reference detector
evBuildRaw->SetReferenceDetector(kEventBuilderDetSts);
//Choose between NoOverlap, MergeOverlap, AllowOverlap
evBuildRaw->SetEventOverlapMode(EOverlapMode::AllowOverlap);
evBuildRaw->SetTriggerMinNumber(ECbmModuleId::kSts, 10);
evBuildRaw->SetTriggerMaxNumber(ECbmModuleId::kSts, -1);
evBuildRaw->SetTriggerWindow(ECbmModuleId::kSts, -5500, 5500);
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
run->AddTask(evBuildRaw);
std::cout << "-I- " << myName << ": Added task " << evBuildRaw->GetName()
<< std::endl;
eventBased = kTRUE;
} //? Real raw event building } //? Real raw event building
else { else {
std::cerr << "-E- " << myName << ": Unknown option " << evBuildRaw std::cerr << "-E- " << myName << ": Unknown option " << evBuildRaw
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment