diff --git a/macro/run/run_unpack_online.C b/macro/run/run_unpack_online.C index bf4d2777973c9cdc150886745e06ec4f0d7be14e..79351883eebd60cbcb771f6e6a7e3733e61dbd12 100644 --- a/macro/run/run_unpack_online.C +++ b/macro/run/run_unpack_online.C @@ -36,11 +36,11 @@ std::shared_ptr<CbmStsUnpackMonitor> GetStsMonitor(std::string treefilename, boo std::shared_ptr<CbmMuchUnpackMonitor> GetMuchMonitor(std::string treefilename, bool bDebugMode = false); std::shared_ptr<CbmRichUnpackMonitor> GetRichMonitor(std::string treefilename, bool bDebugMode = false); std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, bool bBmonMode = false); -const char* defaultSetupName = "mcbm_beam_2021_07_surveyed"; +std::string defaultSetupName = "mcbm_beam_2021_07_surveyed"; void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:5556"}, Int_t serverHttpPort = 8080, Int_t serverRefreshRate = 100, std::int32_t nevents = -1, UInt_t runid = 1905, - const char* setupName = defaultSetupName, bool bBmoninTof = false, std::string outpath = "data/") + std::string setupName = defaultSetupName, bool bBmoninTof = false, std::string outpath = "data/") { // ======================================================================== @@ -87,9 +87,16 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 /// Uranium runs: 2176 - 2310 = 30/03/2022 - 01/04/2022 setupName = "mcbm_beam_2022_03_28_uranium"; } + else if (2350 <= runid && runid <= 2397) { + /// Nickel runs: 2350 - 2397 = 23/05/2022 - 25/05/2022 + setupName = "mcbm_beam_2022_05_23_nickel"; + } + if (defaultSetupName != setupName) { + std::cout << "Automatic setup choice for run " << runid << ": " << setupName << std::endl; + } } auto cbmsetup = CbmSetup::Instance(); - cbmsetup->LoadSetup(setupName); + cbmsetup->LoadSetup(setupName.c_str()); // ------------------------------------------------------------------------ // ----- UnpackerConfigs ---------------------------------------------- @@ -126,6 +133,12 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 richconfig->SetParFilesBasePath(parfilesbasepathRich); richconfig->SetSystemTimeOffset(256000 - 1200); // [ns] 1 MS and additional correction if (1904 < runid) richconfig->SetSystemTimeOffset(-1200); + if (2160 <= runid) { + richconfig->SetSystemTimeOffset(50); // [ns] value to be updated + } + if (2350 <= uRunId) { + richconfig->SetSystemTimeOffset(100); // [ns] value to be updated + } if (runid == 1588) richconfig->MaskDiRICH(0x7150); } // ------------- @@ -149,6 +162,12 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 /// Enable Monitor plots stsconfig->SetMonitor(GetStsMonitor(outfilename, false)); stsconfig->SetSystemTimeOffset(-2221); // [ns] value to be updated + if (2160 <= runid) { + stsconfig->SetSystemTimeOffset(-1075); // [ns] value to be updated + } + if (2350 <= uRunId) { + stsconfig->SetSystemTimeOffset(-970); // [ns] value to be updated + } stsconfig->SetMinAdcCut(1, 1); stsconfig->SetMinAdcCut(2, 1); @@ -215,11 +234,11 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 } else if (2350 <= runid && runid <= 2367) { /// First nickel runs - muchconfig->SetParFileName("mMuchPar.par"); + muchconfig->SetParFileName("mMuchParNickel_23052022.par"); } else if (2367 < runid) { /// Starting to use GEM 2 moved to CRI 0 on 24/05/2022 - muchconfig->SetParFileName("mMuchPar.par"); + muchconfig->SetParFileName("mMuchParNickel_25052022.par"); } /// Enable duplicates rejection, Ignores the ADC for duplicates check @@ -230,6 +249,9 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 if (2160 <= runid) { muchconfig->SetSystemTimeOffset(-1020); // [ns] value to be updated } + if (2350 <= uRunId) { + muchconfig->SetSystemTimeOffset(-980); // [ns] value to be updated + } // muchconfig->SetMinAdcCut(1, 1); @@ -257,6 +279,12 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 // Get the spadic configuration true = avg baseline active / false plain sample 0 trd1Dconfig->SetSpadicObject(GetTrdSpadic(true)); trd1Dconfig->SetSystemTimeOffset(0); // [ns] value to be updated + if (2160 <= runid) { + trd1Dconfig->SetSystemTimeOffset(1140); // [ns] value to be updated + } + if (2350 <= uRunId) { + trd1Dconfig->SetSystemTimeOffset(1300); // [ns] value to be updated + } } // ------------- @@ -304,6 +332,12 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 std::string parfilesbasepathTrdfasp2d = Form("%s/parameters/trd", srcDir.Data()); trdfasp2dconfig->SetParFilesBasePath(parfilesbasepathTrdfasp2d); trdfasp2dconfig->SetSystemTimeOffset(-1800); // [ns] value to be updated + if (2160 <= runid) { + trdfasp2dconfig->SetSystemTimeOffset(-570); // [ns] value to be updated + } + if (2350 <= uRunId) { + trdfasp2dconfig->SetSystemTimeOffset(-510); // [ns] value to be updated + } trdfasp2dconfig->SetMonitor(dynamic_pointer_cast<CbmTrdUnpackFaspMonitor>(GetTrdMonitor(outfilename, 1))); } // ------------- @@ -317,6 +351,7 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 tofconfig->SetDoWriteOutput(); // tofconfig->SetDoWriteOptOutA("CbmTofErrors"); std::string parfilesbasepathTof = Form("%s/macro/beamtime/mcbm2021/", srcDir.Data()); + std::string parFileNameTof = "mTofCriPar.par"; if (2060 <= runid) { /// Additional modules added just before the 10/03/2022 Carbon run parfilesbasepathTof = Form("%s/macro/beamtime/mcbm2022/", srcDir.Data()); @@ -338,7 +373,8 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 parFileNameTof = "mTofCriParUranium.par"; } else if (2335 <= runid) { - /// Uranium runs: 2176 - 2310 + /// Nickel runs: 2335 - 2397 + /// Gold runs: 2400 - xxxx parFileNameTof = "mTofCriParNickel.par"; if (bBmoninTof) { /// Map the BMon components in the TOF par file @@ -347,7 +383,14 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 } } tofconfig->SetParFilesBasePath(parfilesbasepathTof); + tofconfig->SetParFileName(parFileNameTof); tofconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated + if (2160 <= runid) { + tofconfig->SetSystemTimeOffset(0); // [ns] value to be updated + } + if (2350 <= uRunId) { + tofconfig->SetSystemTimeOffset(40); // [ns] value to be updated + } if (runid <= 1659) { /// Switch ON the -4 offset in epoch count (hack for Spring-Summer 2021) tofconfig->SetFlagEpochCountHack2021(); @@ -369,6 +412,12 @@ void run_unpack_online(std::vector<std::string> publisher = {"tcp://localhost:55 bmonconfig->SetParFilesBasePath(parfilesbasepathBmon); bmonconfig->SetParFileName("mBmonCriPar.par"); bmonconfig->SetSystemTimeOffset(-1220); // [ns] value to be updated + if (2160 <= runid) { + bmonconfig->SetSystemTimeOffset(-80); // [ns] value to be updated + } + if (2350 <= uRunId) { + bmonconfig->SetSystemTimeOffset(0); // [ns] value to be updated + } /// Enable Monitor plots bmonconfig->SetMonitor(GetTofMonitor(outfilename, true)); } @@ -684,7 +733,7 @@ std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, boo void run_unpack_online(std::string publisher = "tcp://localhost:5556", Int_t serverHttpPort = 8080, Int_t serverRefreshRate = 100, std::int32_t nevents = -1, UInt_t runid = 1905, - const char* setupName = defaultSetupName, bool bBmoninTof = false, std::string outpath = "data/") + std::string setupName = defaultSetupName, bool bBmoninTof = false, std::string outpath = "data/") { std::vector<std::string> vPublisher = {publisher}; return run_unpack_online(vPublisher, serverHttpPort, serverRefreshRate, nevents, runid, setupName, bBmoninTof, diff --git a/macro/run/run_unpack_online_bmon.C b/macro/run/run_unpack_online_bmon.C index c272885aeae0110455a56d3b657732fbee4328a8..f9c4d3ba6a04e63aad3741653287f93e8092a892 100644 --- a/macro/run/run_unpack_online_bmon.C +++ b/macro/run/run_unpack_online_bmon.C @@ -28,11 +28,11 @@ #endif std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, bool bBmonMode = false); -const char* defaultSetupName = "mcbm_beam_2022_03_09_carbon"; +std::string defaultSetupName = "mcbm_beam_2022_03_09_carbon"; void run_unpack_online_bmon(std::vector<std::string> publisher = {"tcp://localhost:5556"}, Int_t serverHttpPort = 8080, Int_t serverRefreshRate = 100, std::int32_t nevents = -1, UInt_t runid = 1905, - const char* setupName = defaultSetupName, std::string outpath = "data/") + std::string setupName = defaultSetupName, std::string outpath = "data/") { // ======================================================================== @@ -79,9 +79,16 @@ void run_unpack_online_bmon(std::vector<std::string> publisher = {"tcp://localho /// Uranium runs: 2176 - 2310 = 30/03/2022 - 01/04/2022 setupName = "mcbm_beam_2022_03_28_uranium"; } + else if (2350 <= runid && runid <= 2397) { + /// Nickel runs: 2350 - 2397 = 23/05/2022 - 25/05/2022 + setupName = "mcbm_beam_2022_05_23_nickel"; + } + if (defaultSetupName != setupName) { + std::cout << "Automatic setup choice for run " << runid << ": " << setupName << std::endl; + } } auto cbmsetup = CbmSetup::Instance(); - cbmsetup->LoadSetup(setupName); + cbmsetup->LoadSetup(setupName.c_str()); // ------------------------------------------------------------------------ // ----- UnpackerConfigs ---------------------------------------------- @@ -223,7 +230,7 @@ std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, boo void run_unpack_online_bmon(std::string publisher = "tcp://localhost:5556", UInt_t runid = 1905, Int_t serverHttpPort = 8080, Int_t serverRefreshRate = 10, std::int32_t nevents = -1, - const char* setupName = defaultSetupName, std::string outpath = "data/") + std::string setupName = defaultSetupName, std::string outpath = "data/") { std::vector<std::string> vPublisher = {publisher}; return run_unpack_online_bmon(vPublisher, serverHttpPort, serverRefreshRate, nevents, runid, setupName, outpath); diff --git a/macro/run/run_unpack_tsa.C b/macro/run/run_unpack_tsa.C index 8ffaca011c34c873a96a48ad4ed5c92800d537fa..52992d41e073bc8e77468f785b7e668e5a580d70 100644 --- a/macro/run/run_unpack_tsa.C +++ b/macro/run/run_unpack_tsa.C @@ -34,10 +34,10 @@ std::shared_ptr<CbmStsUnpackMonitor> GetStsMonitor(std::string treefilename, boo std::shared_ptr<CbmMuchUnpackMonitor> GetMuchMonitor(std::string treefilename, bool bDebugMode = false); std::shared_ptr<CbmRichUnpackMonitor> GetRichMonitor(std::string treefilename, bool bDebugMode = false); std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, bool bBmonMode = false); -const char* defaultSetupName = "mcbm_beam_2021_07_surveyed"; +std::string defaultSetupName = "mcbm_beam_2021_07_surveyed"; void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid = 0, - const char* setupName = defaultSetupName, std::int32_t nevents = -1, bool bBmoninTof = false, + std::string setupName = defaultSetupName, std::int32_t nevents = -1, bool bBmoninTof = false, std::string outpath = "data/") { @@ -105,9 +105,16 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid /// Uranium runs: 2176 - 2310 = 30/03/2022 - 01/04/2022 setupName = "mcbm_beam_2022_03_28_uranium"; } + else if (2350 <= runid && runid <= 2397) { + /// Nickel runs: 2350 - 2397 = 23/05/2022 - 25/05/2022 + setupName = "mcbm_beam_2022_05_23_nickel"; + } + if (defaultSetupName != setupName) { + std::cout << "Automatic setup choice for run " << runid << ": " << setupName << std::endl; + } } auto cbmsetup = CbmSetup::Instance(); - cbmsetup->LoadSetup(setupName); + cbmsetup->LoadSetup(setupName.c_str()); // ------------------------------------------------------------------------ // ----- UnpackerConfigs ---------------------------------------------- @@ -147,6 +154,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { richconfig->SetSystemTimeOffset(50); // [ns] value to be updated } + if (2350 <= runid) { + richconfig->SetSystemTimeOffset(100); // [ns] value to be updated + } if (runid == 1588) richconfig->MaskDiRICH(0x7150); } // ------------- @@ -173,6 +183,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { stsconfig->SetSystemTimeOffset(-1075); // [ns] value to be updated } + if (2350 <= runid) { + stsconfig->SetSystemTimeOffset(-970); // [ns] value to be updated + } stsconfig->SetMinAdcCut(1, 1); stsconfig->SetMinAdcCut(2, 1); @@ -254,6 +267,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { muchconfig->SetSystemTimeOffset(-1020); // [ns] value to be updated } + if (2350 <= runid) { + muchconfig->SetSystemTimeOffset(-980); // [ns] value to be updated + } // muchconfig->SetMinAdcCut(1, 1); @@ -284,6 +300,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { trd1Dconfig->SetSystemTimeOffset(1140); // [ns] value to be updated } + if (2350 <= runid) { + trd1Dconfig->SetSystemTimeOffset(1300); // [ns] value to be updated + } } // ------------- @@ -334,6 +353,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { trdfasp2dconfig->SetSystemTimeOffset(-570); // [ns] value to be updated } + if (2350 <= runid) { + trdfasp2dconfig->SetSystemTimeOffset(-510); // [ns] value to be updated + } // trdfasp2dconfig->SetMonitor(dynamic_pointer_cast<CbmTrdUnpackFaspMonitor>(GetTrdMonitor(outfilename, 1))); } // ------------- @@ -369,7 +391,8 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid parFileNameTof = "mTofCriParUranium.par"; } else if (2335 <= runid) { - /// Uranium runs: 2176 - 2310 + /// Nickel runs: 2335 - 2397 + /// Gold runs: 2400 - xxxx parFileNameTof = "mTofCriParNickel.par"; if (bBmoninTof) { /// Map the BMon components in the TOF par file @@ -383,6 +406,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { tofconfig->SetSystemTimeOffset(0); // [ns] value to be updated } + if (2350 <= runid) { + tofconfig->SetSystemTimeOffset(40); // [ns] value to be updated + } if (runid <= 1659) { /// Switch ON the -4 offset in epoch count (hack for Spring-Summer 2021) tofconfig->SetFlagEpochCountHack2021(); @@ -407,6 +433,9 @@ void run_unpack_tsa(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid if (2160 <= runid) { bmonconfig->SetSystemTimeOffset(-80); // [ns] value to be updated } + if (2350 <= runid) { + bmonconfig->SetSystemTimeOffset(0); // [ns] value to be updated + } /// Enable Monitor plots // bmonconfig->SetMonitor(GetTofMonitor(outfilename, true)); } @@ -712,7 +741,7 @@ std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, boo return monitor; } -void run_unpack_tsa(std::string infile = "test.tsa", UInt_t runid = 0, const char* setupName = defaultSetupName, +void run_unpack_tsa(std::string infile = "test.tsa", UInt_t runid = 0, std::string setupName = defaultSetupName, std::int32_t nevents = -1, bool bBmoninTof = false, std::string outpath = "data/") { std::vector<std::string> vInFile = {infile}; diff --git a/macro/run/run_unpack_tsa_bmon.C b/macro/run/run_unpack_tsa_bmon.C index 2abe001c88bb7cbb87f621f7d4d35051dcb49209..177ff96add8540588780c87c7565a657ef1c1823 100644 --- a/macro/run/run_unpack_tsa_bmon.C +++ b/macro/run/run_unpack_tsa_bmon.C @@ -26,10 +26,10 @@ #endif std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, bool bBmonMode = false); -const char* defaultSetupName = "mcbm_beam_2022_03_09_carbon"; +std::string defaultSetupName = "mcbm_beam_2022_03_09_carbon"; void run_unpack_tsa_bmon(std::vector<std::string> infile = {"test.tsa"}, UInt_t runid = 0, - const char* setupName = defaultSetupName, std::int32_t nevents = -1, + std::string setupName = defaultSetupName, std::int32_t nevents = -1, std::string outpath = "data/") { @@ -92,9 +92,16 @@ void run_unpack_tsa_bmon(std::vector<std::string> infile = {"test.tsa"}, UInt_t /// Uranium runs: 2176 - 2310 = 30/03/2022 - 01/04/2022 setupName = "mcbm_beam_2022_03_28_uranium"; } + else if (2350 <= runid && runid <= 2397) { + /// Nickel runs: 2350 - 2397 = 23/05/2022 - 25/05/2022 + setupName = "mcbm_beam_2022_05_23_nickel"; + } + if (defaultSetupName != setupName) { + std::cout << "Automatic setup choice for run " << runid << ": " << setupName << std::endl; + } } auto cbmsetup = CbmSetup::Instance(); - cbmsetup->LoadSetup(setupName); + cbmsetup->LoadSetup(setupName.c_str()); // ------------------------------------------------------------------------ // ----- UnpackerConfigs ---------------------------------------------- @@ -226,7 +233,7 @@ std::shared_ptr<CbmTofUnpackMonitor> GetTofMonitor(std::string treefilename, boo return monitor; } -void run_unpack_tsa_bmon(std::string infile = "test.tsa", UInt_t runid = 0, const char* setupName = defaultSetupName, +void run_unpack_tsa_bmon(std::string infile = "test.tsa", UInt_t runid = 0, std::string setupName = defaultSetupName, std::int32_t nevents = -1, std::string outpath = "data/") { std::vector<std::string> vInFile = {infile};