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

online par generation: changes needed to regenerate consistent files for mCBM 2024-05

- fix deprecated Sink usage by using new Dummy Sink class
- use new mTOF 2024 calib file from Norbert
- use geometry file in macro/run/data as generated by the CI (instead of the one by the mCBM simulation)
- add missing system time offset for TRD1D and TRD2D, copied from the run_unpack_tsa.C macro
parent d0eafe1a
No related branches found
No related tags found
1 merge request!1972Most recent common geometries and parameters for mCBM 2024-05 + related fixes
Pipeline #31885 passed
......@@ -6,6 +6,7 @@
#include "CbmMcbmUtils.h"
#include "CbmSetup.h"
#include "CbmSinkDummy.h"
#include "CbmSourceDummy.h"
#include "CbmStsAddress.h"
#include "CbmStsParAsic.h"
......@@ -142,7 +143,7 @@ void CbmOnlineParWrite::AddTof()
break;
case Setup::mCBM2024_05:
doCalibration = true;
cFname = Form("%s/3036_1_TofCal.hst.root", TofFileFolder.Data());
cFname = Form("%s/3026_1_TofCal.hst.root", TofFileFolder.Data());
break;
default: throw std::runtime_error("TOF: Unknown setup type");
}
......@@ -346,7 +347,7 @@ void CbmOnlineParWrite::Run(const Config& config)
LOG(info) << "Using geometry setup: " << geoSetupTag;
TString geoFile = fSrcDir + "/macro/mcbm/data/" + geoSetupTag + ".geo.root";
TString geoFile = fSrcDir + "/macro/run/data/" + geoSetupTag + ".geo.root";
fSetup = CbmSetup::Instance();
fSetup->LoadSetup(geoSetupTag);
......@@ -357,8 +358,9 @@ void CbmOnlineParWrite::Run(const Config& config)
fRun = new FairRunAna();
// Dummy source required for the FairRunAna as it will crash without a source
auto* inputSource = new CbmSourceDummy{};
fRun->SetSource(inputSource);
fRun->SetSource(new CbmSourceDummy{});
fRun->SetSink(new CbmSinkDummy{});
// =========================================================================
// === Alignment Correction ===
......
/* Copyright (C) 2023-2024 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergei Zharko [committer] */
/// \file CbmSinkDummy.cxx
/// \date 15.06.2024
/// \brief A dummy FairSink class for the FairRunAna instance, if no output is really needed
/// \author S.Zharko <s.zharko@gsi.de>
#pragma once
#include <FairSink.h>
/// \class CbmSinkDummy
/// \brief A dummy sink class, which is to be passed to a FairRunAna, if no output is required
class CbmSinkDummy : public FairSink {
public:
/// \brief Default constructor
CbmSinkDummy() = default;
/// \brief Copy constructor
CbmSinkDummy(const CbmSinkDummy&) = default;
/// \brief Move constructor
CbmSinkDummy(CbmSinkDummy&&) = default;
/// \brief Destructor
~CbmSinkDummy() = default;
/// \brief Copy assignment operator
CbmSinkDummy& operator=(const CbmSinkDummy&) = default;
/// \brief Copy assignment operator
CbmSinkDummy& operator=(CbmSinkDummy&&) = default;
// FairSink virtual function implementations
Bool_t InitSink() { return kTRUE; }
void Close() {}
void Reset() {}
Sink_Type GetSinkType() { return kFILESINK; }
void SetOutTree(TTree*) {}
void Fill() {}
Int_t Write(const char*, Int_t, Int_t) { return 0; }
void RegisterImpl(const char*, const char*, void*) {}
void RegisterAny(const char*, const std::type_info&, const std::type_info&, void*) {}
void WriteFolder() {}
bool CreatePersistentBranchesAny() { return true; }
void WriteObject(TObject*, const char*, Int_t) {}
void WriteGeometry() {} // TODO: if(gGeoManager) gGeoManager->Write();
FairSink* CloneSink() { return new CbmSinkDummy(*this); }
};
......@@ -84,6 +84,13 @@ InitStatus CbmTaskTrdUnpackParWrite::Init()
trd2dConfig.InitComponentMap(crobMap);
trd2dConfig.InitChannelMap(channelMap);
// Apply system time offset
// See <source_dir>/macro/run/run_unpack_tsa.C
if (fPars.setup == Setup::mCBM2022 || fPars.setup == Setup::mCBM2024_03 || fPars.setup == Setup::mCBM2024_05) {
// Ni 2022, Au 2022, Ni 2024
trd2dConfig.SetSystemTimeOffset(-510);
}
std::ofstream("Trd2dReadoutSetup.yaml") << yaml::Dump{}(trd2dConfig);
}
......@@ -139,8 +146,16 @@ InitStatus CbmTaskTrdUnpackParWrite::Init()
}
trdConfig.Init(addressMap, channelMap);
// Apply system time offset
// See <source_dir>/macro/run/run_unpack_tsa.C
if (fPars.setup == Setup::mCBM2022 || fPars.setup == Setup::mCBM2024_03 || fPars.setup == Setup::mCBM2024_05) {
// Ni 2022, Au 2022, Ni 2024
trdConfig.SetSystemTimeOffset(1300);
}
// Apply time offset per elink
// See: https://git.cbm.gsi.de/computing/cbmroot/-/merge_requests/1751
// and <source_dir>/macro/run/run_unpack_tsa.C
if (fPars.setup == Setup::mCBM2024_05) {
for (int elinkId = 0; elinkId < 36; ++elinkId) {
trdConfig.SetElinkTimeOffset(20736, elinkId, -36);
......
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