diff --git a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C index 391cdc91db9ade91a89b3ed26d8ad52f7207e508..0ea8e299572a1a6365c8bc0f96661b63f1b989b9 100644 --- a/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_pulser_mcbm.C @@ -56,11 +56,7 @@ void unpack_pulser_mcbm(UInt_t uRunId = 0, TString sHostname = "localhost", TString paramFileRich = paramDir + "mRichPar.par"; TObjString* parRichFileName = new TObjString(paramFileRich); parFileList->Add(parRichFileName); -/* - TString paramFileHodo = paramDir + "mHodoPar.par"; - TObjString* parHodoFileName = new TObjString(paramFileHodo); - parFileList->Add(parHodoFileName); -*/ + TString paramFilePsd = paramDir + "mPsdPar.par"; TObjString* parPsdFileName = new TObjString(paramFilePsd); parFileList->Add(parPsdFileName); diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C index f4356fe504edbb7a193600e2d805c84d7222c926..5ddeb533b01b5249c9bd085a67735022ad436998 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm.C @@ -18,7 +18,7 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0, // --- -1 means run until the end of the input file. Int_t nEvents=-1; // --- Specify output file name (this is just an example) - TString runId = TString::Format("%u", uRunId); + TString runId = TString::Format("%03u", uRunId); TString outFile = outDir + "/unp_mcbm_" + runId + ".root"; TString parFile = outDir + "/unp_mcbm_params_" + runId + ".root"; @@ -38,26 +38,35 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0, parFileList->Add(parStsFileName); TString paramFileMuch = paramDir + "mMuchPar.par"; - /// Special parameter files for runs 353-374 (November19) and 380-408 (December19) - if( uRunId >= 353 && uRunId <= 374 ) - paramFileMuch = paramDir + "mMuchPar_Nov19.par"; - else if( 374 < uRunId ) - paramFileMuch = paramDir + "mMuchPar_Dec19.par"; TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); + TString geoTagTrd = "v18q_mcbm"; + // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here + // { + TString paramFilesTrd(Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; + for (auto parIt : paramFilesTrdVec) + { + parFileList->Add(new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + } + // } + TString paramFileTof = paramDir + "mTofPar.par"; + if(uRunId >= 708 && uRunId < 754 ) + paramFileTof = paramDir + "mTofPar_2Stack.par"; + else if(uRunId >= 754 ) + paramFileTof = paramDir + "mTofPar_3Stack.par"; + TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); TString paramFileRich = paramDir + "mRichPar.par"; + if (uRunId > 698) paramFileRich = paramDir + "mRichPar_70.par"; TObjString* parRichFileName = new TObjString(paramFileRich); parFileList->Add(parRichFileName); - TString paramFileHodo = paramDir + "mHodoPar.par"; - TObjString* parHodoFileName = new TObjString(paramFileHodo); - parFileList->Add(parHodoFileName); - TString paramFilePsd = paramDir + "mPsdPar.par"; TObjString* parPsdFileName = new TObjString(paramFilePsd); parFileList->Add(parPsdFileName); @@ -75,22 +84,36 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0, CbmMcbm2018UnpackerTaskSts * unpacker_sts = new CbmMcbm2018UnpackerTaskSts(); CbmMcbm2018UnpackerTaskMuch * unpacker_much = new CbmMcbm2018UnpackerTaskMuch(); + CbmMcbm2018UnpackerTaskTrdR * unpacker_trdR = new CbmMcbm2018UnpackerTaskTrdR(); CbmMcbm2018UnpackerTaskTof * unpacker_tof = new CbmMcbm2018UnpackerTaskTof(); CbmMcbm2018UnpackerTaskRich * unpacker_rich = new CbmMcbm2018UnpackerTaskRich(); CbmMcbm2018UnpackerTaskPsd * unpacker_psd = new CbmMcbm2018UnpackerTaskPsd(); +/* + * Do not generate plots by default unpacker_sts ->SetMonitorMode(); unpacker_much->SetMonitorMode(); + unpacker_trdR->SetMonitorMode(); // Assume histo server present, not like other unpackers unpacker_tof ->SetMonitorMode(); unpacker_rich->SetMonitorMode(); unpacker_psd->SetMonitorMode(); +*/ unpacker_sts ->SetIgnoreOverlapMs(); unpacker_much->SetIgnoreOverlapMs(); +// unpacker_trdR ->SetIgnoreOverlapMs(); /// Default is kTRUE unpacker_tof ->SetIgnoreOverlapMs(); unpacker_rich->SetIgnoreOverlapMs(); - unpacker_psd->SetIgnoreOverlapMs(); + unpacker_psd ->SetIgnoreOverlapMs(); + /// Starting from first run on Tuesday 28/04/2020, STS uses bin sorter FW + if( 692 <= uRunId ) + unpacker_sts ->SetBinningFwFlag( kTRUE ); + /// Starting from first run on Monday 04/05/2020, MUCH uses bin sorter FW + if( 811 <= uRunId ) + unpacker_much->SetBinningFwFlag( kTRUE ); + +// unpacker_sts ->SetAdcCut( 3 ); unpacker_tof ->SetSeparateArrayT0(); // ------------------------------ // @@ -101,155 +124,381 @@ void unpack_tsa_mcbm(TString inFile = "", UInt_t uRunId = 0, UInt_t nrEvents=0, Int_t fFlag = 1; unpacker_much->EnableAsicType(fFlag); // ------------------------------ // + /// General System offsets (= offsets between sub-systems) + unpacker_sts ->SetTimeOffsetNs( -985 ); // Run 811-866 + unpacker_much->SetTimeOffsetNs( -885 ); // Run 811-866 + unpacker_trdR->SetTimeOffsetNs( 0 ); // Run 811-866 + unpacker_tof ->SetTimeOffsetNs( 25 ); // Run 811-866 + unpacker_rich->SetTimeOffsetNs( -310 ); // Run 811-866 + unpacker_psd ->SetTimeOffsetNs( -240 ); // Run 811-866 switch( uRunId ) { -/* - case 159: + case 707: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 707 + //unpacker_much->SetTimeOffsetNs( -1750 ); // Run 707 + + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 707, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 707, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 707, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 707, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 707, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 707, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 707, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 707, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 707, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 707, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 707, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 707, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 707, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 707, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 707, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 707, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 707, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 707, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 9590.0 ); // Run 707, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 9590.0 ); // Run 707, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 9630.0 ); // Run 707, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 9590.0 ); // Run 707, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 707, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 707, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 0.0 ); // Run 707, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 0.0 ); // Run 707, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 0.0 ); // Run 707, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 707, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 707, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 707, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 707, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 707, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 7170.0 ); // Run 707, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 7170.0 ); // Run 707, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 707, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 707, DPB 5 ASIC 5 + break; + } // 707 + case 750: { /// General System offsets (= offsets between sub-systems) - unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 159 - unpacker_much->SetTimeOffsetNs( -1750 ); // Run 159 - unpacker_tof ->SetTimeOffsetNs( -50 ); // Run 159 - unpacker_rich->SetTimeOffsetNs( -1090 ); // Run 159 + //unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 750 + //unpacker_much->SetTimeOffsetNs( -1750 ); // Run 750 /// ASIC specific offsets (= offsets inside sub-system) - unpacker_sts ->SetTimeOffsetNsAsic( 0, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 1, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 2, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 3, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 4, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 5, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 6, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 7, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 9, 18.75 ); // Run 160, Ladder 0, Module 1, N, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 11, 25.0 ); // Run 160, Ladder 0, Module 1, N, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 13, 56.25 ); // Run 160, Ladder 0, Module 1, N, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 15, 37.5 ); // Run 160, Ladder 0, Module 1, N, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 18, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 19, 50.0 ); // Run 160, Ladder 0, Module 1, P, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 20, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 23, 25.0 ); // Run 160, Ladder 0, Module 1, P, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 24, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 25, 25.0 ); // Run 160, Ladder 0, Module 0, N, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 26, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 27, 31.25 ); // Run 160, Ladder 0, Module 0, N, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 160, Ladder 0, Module 0, N, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 29, 6.25 ); // Run 160, Ladder 0, Module 0, N, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 30, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 31, 31.25 ); // Run 160, Ladder 0, Module 0, N, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 32, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 33, 31.25 ); // Run 160, Ladder 0, Module 0, P, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 35, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 36, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 37, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 38, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 39, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 7 - - unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 159, DPB 0 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 1, 109.0 ); // Run 159, DPB 0 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 2, 142.0 ); // Run 159, DPB 0 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 3, 84.0 ); // Run 159, DPB 0 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 4, 109.0 ); // Run 159, DPB 0 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 159, DPB 0 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 6, 2820915.0 ); // Run 159, DPB 1 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 7, 2820905.0 ); // Run 159, DPB 1 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 8, 2820785.0 ); // Run 159, DPB 1 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 9, 2820915.0 ); // Run 159, DPB 1 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 159, DPB 1 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 11, 2820805.0 ); // Run 159, DPB 1 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 12, 8144.0 ); // Run 159, DPB 2 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 13, 8133.0 ); // Run 159, DPB 2 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 159, DPB 2 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 159, DPB 2 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 159, DPB 2 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 159, DPB 2 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 18, 136.0 ); // Run 159, DPB 3 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 19, 119.0 ); // Run 159, DPB 3 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 20, 141.0 ); // Run 159, DPB 3 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 159, DPB 3 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 159, DPB 3 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 159, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 750, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 750, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 750, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 750, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 750, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 750, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 750, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 750, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 750, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 750, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 750, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 750, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 750, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 750, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 750, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 750, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 750, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 750, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 6400.0 ); // Run 750, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 6400.0 ); // Run 750, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 6400.0 ); // Run 750, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 6400.0 ); // Run 750, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 750, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 750, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 0.0 ); // Run 750, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 0.0 ); // Run 750, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 0.0 ); // Run 750, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 750, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 750, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 750, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 750, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 750, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 3170.0 ); // Run 750, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 3170.0 ); // Run 750, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 750, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 750, DPB 5 ASIC 5 + break; + } // 750 + case 759: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1759 ); // Run 759 + //unpacker_much->SetTimeOffsetNs( -1759 ); // Run 759 + unpacker_trdR->SetTimeOffsetNs( 190 ); // Run 759 + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 759, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 759, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 759, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 759, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 759, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 759, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 759, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 759, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 759, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 759, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 759, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 759, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 759, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 759, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 759, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 759, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 759, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 759, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 3200.0 ); // Run 759, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 3200.0 ); // Run 759, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 3200.0 ); // Run 759, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 3200.0 ); // Run 759, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 759, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 759, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 3200.0 ); // Run 759, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 3200.0 ); // Run 759, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 3200.0 ); // Run 759, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 759, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 759, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 759, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 759, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 759, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 759, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 759, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 759, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 759, DPB 5 ASIC 5 break; - } // 159 -*/ - case 384: + } // 759 + case 760: { /// General System offsets (= offsets between sub-systems) - //unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 384 - //unpacker_much->SetTimeOffsetNs( -1750 ); // Run 384 - //unpacker_tof ->SetTimeOffsetNs( 40 ); // Run 384 - //unpacker_rich->SetTimeOffsetNs( -273 ); // Run 384 + //unpacker_sts ->SetTimeOffsetNs( -1760 ); // Run 760 + //unpacker_much->SetTimeOffsetNs( -1760 ); // Run 760 + unpacker_trdR->SetTimeOffsetNs( -75 ); // Run 760 /// ASIC specific offsets (= offsets inside sub-system) - unpacker_much->SetTimeOffsetNsAsic( 0, 2429.0 ); // Run 384, DPB 0 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 1, 2417.0 ); // Run 384, DPB 0 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 2, 2418.0 ); // Run 384, DPB 0 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 384, DPB 0 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 4, 2404.0 ); // Run 384, DPB 0 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 5, 2415.0 ); // Run 384, DPB 0 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 6, -772.7 ); // Run 384, DPB 1 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 7, -779.3 ); // Run 384, DPB 1 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 384, DPB 1 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 9, -806.6 ); // Run 384, DPB 1 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 10, -784.2 ); // Run 384, DPB 1 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 11, -786.4 ); // Run 384, DPB 1 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 12, -788.9 ); // Run 384, DPB 2 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 384, DPB 2 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 384, DPB 2 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 15, -785.9 ); // Run 384, DPB 2 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 16, -784.5 ); // Run 384, DPB 2 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 17, -775.6 ); // Run 384, DPB 2 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 18, 2404.0 ); // Run 384, DPB 3 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 19, 2400.0 ); // Run 384, DPB 3 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 20, 2413.0 ); // Run 384, DPB 3 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 21, 2407.0 ); // Run 384, DPB 3 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 384, DPB 3 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 384, DPB 3 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 24, 2377.0 ); // Run 384, DPB 4 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 25, 2375.0 ); // Run 384, DPB 4 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 26, 2378.0 ); // Run 384, DPB 4 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 27, 2394.0 ); // Run 384, DPB 4 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 28, 2401.0 ); // Run 384, DPB 4 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 29, 2405.0 ); // Run 384, DPB 4 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 30, 5575.0 ); // Run 384, DPB 5 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 31, 5599.0 ); // Run 384, DPB 5 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 32, 5597.0 ); // Run 384, DPB 5 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 33, 5583.0 ); // Run 384, DPB 5 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 384, DPB 5 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 384, DPB 5 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 760, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 760, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 760, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 760, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 760, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 760, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 760, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 760, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 760, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 760, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 760, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 760, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 760, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 760, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 760, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 760, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 760, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 760, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 0.0 ); // Run 760, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 0.0 ); // Run 760, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 0.0 ); // Run 760, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 760, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 760, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 760, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 3160.0 ); // Run 760, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 3160.0 ); // Run 760, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 3160.0 ); // Run 760, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 760, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 760, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 760, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 760, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 760, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 760, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 760, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 760, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 760, DPB 5 ASIC 5 + break; + } // 760 + case 761: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1761 ); // Run 761 + //unpacker_much->SetTimeOffsetNs( -1761 ); // Run 761 + unpacker_trdR->SetTimeOffsetNs( 90 ); // Run 761 + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 761, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 761, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 761, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 761, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 761, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 761, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 761, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 761, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 761, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 761, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 761, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 761, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 761, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 761, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 761, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 761, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 761, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 761, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 3200.0 ); // Run 761, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 3200.0 ); // Run 761, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 3200.0 ); // Run 761, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 3200.0 ); // Run 761, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 761, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 761, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 6360.0 ); // Run 761, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 6360.0 ); // Run 761, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 6360.0 ); // Run 761, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 761, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 761, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 761, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 761, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 761, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 6360.0 ); // Run 761, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 6360.0 ); // Run 761, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 761, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 761, DPB 5 ASIC 5 break; - } // 384 + } // 761 + case 762: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1762 ); // Run 762 + //unpacker_much->SetTimeOffsetNs( -1762 ); // Run 762 + unpacker_trdR->SetTimeOffsetNs( 60 ); // Run 762 + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 762, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 762, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 762, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 762, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 762, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 762, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 762, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 762, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 762, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 762, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 762, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 762, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 762, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 762, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 762, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 762, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 762, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 762, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 4800.0 ); // Run 762, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 4800.0 ); // Run 762, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 4800.0 ); // Run 762, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 4800.0 ); // Run 762, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 762, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 762, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 9550.0 ); // Run 762, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 9550.0 ); // Run 762, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 9550.0 ); // Run 762, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 762, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 762, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 762, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 762, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 762, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 762, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 762, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 762, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 762, DPB 5 ASIC 5 + break; + } // 762 + case 811: + { + unpacker_trdR->SetTimeOffsetNs( 84.38 ); + break; + } // 811 + case 812: + { + unpacker_trdR->SetTimeOffsetNs( 165.62 ); + break; + } // 812 + case 816 : + { + unpacker_trdR->SetTimeOffsetNs( -9.38 ); + break; + } // 816 + case 819: + { + unpacker_trdR->SetTimeOffsetNs( -140.62 ); + break; + } // 819 + case 820: + { + unpacker_trdR->SetTimeOffsetNs( 109.38 ); + break; + } // 820 + case 821: + { + unpacker_trdR->SetTimeOffsetNs( -65.62 ); + break; + } // 821 + case 822: + { + unpacker_trdR->SetTimeOffsetNs( 59.38 ); + break; + } // 822 + case 824: + { + unpacker_trdR->SetTimeOffsetNs( -165.62 ); + break; + } // 824 + case 826: + { + unpacker_trdR->SetTimeOffsetNs( 59.38 ); + break; + } // 826 + case 827: + { + unpacker_trdR->SetTimeOffsetNs( -15.62 ); + break; + } // 827 + case 828: + { + unpacker_trdR->SetTimeOffsetNs( -109.38 ); + break; + } // 828 + case 830: + { + unpacker_trdR->SetTimeOffsetNs( 15.62 ); + break; + } // 830 + case 831: + { +// unpacker_trdR->SetTimeOffsetNs( 70.00 ); + unpacker_trdR->SetTimeOffsetNs( -25.00 ); + break; + } // 831 + case 836: + { + unpacker_trdR->SetTimeOffsetNs( -40.62); + break; + } // 836 default: break; } // switch( uRunId ) // --- Source task CbmMcbm2018Source* source = new CbmMcbm2018Source(); + source->SetWriteOutputFlag( kTRUE ); // For writing TS metadata source->SetFileName(inFile); -// source->SetInputDir(inDir); + source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts );//STS xyter - source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd );// Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof );//gDPB A & B & C source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof );//gDPB T0 A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich );//RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd );//PSD // --- Event header - FairEventHeader* event = new CbmTbEvent(); + FairEventHeader* event = new FairEventHeader(); event->SetRunId(uRunId); // --- RootFileSink diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C index 6f6d970fd5bb1a5c482564a18ea8eaf72f6251d8..bca6a29d44b669b5e49c44e3eaf478f31642b670 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_kronos.C @@ -10,9 +10,36 @@ // In order to call later Finish, we make this global FairRunOnline *run = NULL; -void unpack_tsa_mcbm_kronos( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDir="data", TString inDir="") +void unpack_tsa_mcbm_kronos( UInt_t uRunIdx = 99999, UInt_t nrEvents=0, TString outDir="data") { - if( uRunId < 353 ) + UInt_t uRunId = 0; + if( 99999 != uRunIdx ) + { + std::vector< UInt_t > vuListRunId = { + 692, 698, 702, 704, 705, 706, 707, // 7 => 0 - 6 + 744, 750, 759, 760, 761, 762, 799, // 7 => 7 - 13 + 811, 812, 816, 817, 819, // 5 => 14 - 18 + 820, 821, 822, 824, 826, 827, 828, 829, // 8 => 19 - 26 + 830, 831, 836, // 3 => 27 - 29 + 841, 846, 849, // 3 => 30 - 32 + 850, 851, 852, 854, 855, 856, 857, 858, 859, // 9 => 33 - 41 + 860, 861, 862, 863, 864, 865, 866 // 7 => 42 - 48 +/* + /// With runs < 1 min due to missmatch! + 811, 812, 816, 817, 818, 819, // 6 => 14 - 19 + 820, 821, 822, 824, 826, 827, 828, 829, // 8 => 20 - 27 + 830, 831, 836, 839, // 4 => 28 - 31 + 840, 841, 842, 844, 845, 846, 848, 849, // 8 => 32 - 39 + 850, 851, 852, 854, 855, 856, 857, 858, 859, // 9 => 40 - 48 + 860, 861, 862, 863, 864, 865, 866 // 7 => 49 - 55 +*/ + }; + if( vuListRunId.size() <= uRunIdx ) + return kFALSE; + uRunId = vuListRunId[ uRunIdx ]; + } // if( 99999 != uRunIdx ) + + if( uRunId < 692 && 0 != uRunId ) return kFALSE; TString srcDir = gSystem->Getenv("VMCWORKDIR"); @@ -44,18 +71,32 @@ void unpack_tsa_mcbm_kronos( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDi TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); + TString geoTagTrd = "v18q_mcbm"; + // parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + // if ( geoSetup->GetGeoTag(ECbmModuleId::kTrd, geoTag) ) // this would be nice to have already here + // { + TString paramFilesTrd(Form("%s/parameters/trd/trd_%s", srcDir.Data(), geoTagTrd.Data())); + std::vector<TString> paramFilesTrdVec = {"asic", "digi", "gas", "gain"}; + for (auto parIt : paramFilesTrdVec) + { + parFileList->Add(new TObjString(Form("%s.%s.par", paramFilesTrd.Data(), parIt.Data()))); + } + // } + TString paramFileTof = paramDir + "mTofPar.par"; + if(uRunId >= 708 && uRunId < 754 ) + paramFileTof = paramDir + "mTofPar_2Stack.par"; + else if(uRunId >= 754 ) + paramFileTof = paramDir + "mTofPar_3Stack.par"; + TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); TString paramFileRich = paramDir + "mRichPar.par"; + if (uRunId > 698) paramFileRich = paramDir + "mRichPar_70.par"; TObjString* parRichFileName = new TObjString(paramFileRich); parFileList->Add(parRichFileName); - TString paramFileHodo = paramDir + "mHodoPar.par"; - TObjString* parHodoFileName = new TObjString(paramFileHodo); - parFileList->Add(parHodoFileName); - TString paramFilePsd = paramDir + "mPsdPar.par"; TObjString* parPsdFileName = new TObjString(paramFilePsd); parFileList->Add(parPsdFileName); @@ -73,174 +114,432 @@ void unpack_tsa_mcbm_kronos( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDi CbmMcbm2018UnpackerTaskSts * unpacker_sts = new CbmMcbm2018UnpackerTaskSts(); CbmMcbm2018UnpackerTaskMuch * unpacker_much = new CbmMcbm2018UnpackerTaskMuch(); + CbmMcbm2018UnpackerTaskTrdR * unpacker_trdR = new CbmMcbm2018UnpackerTaskTrdR(); CbmMcbm2018UnpackerTaskTof * unpacker_tof = new CbmMcbm2018UnpackerTaskTof(); CbmMcbm2018UnpackerTaskRich * unpacker_rich = new CbmMcbm2018UnpackerTaskRich(); CbmMcbm2018UnpackerTaskPsd * unpacker_psd = new CbmMcbm2018UnpackerTaskPsd(); +/* + * Do not generate plots by default unpacker_sts ->SetMonitorMode(); unpacker_much->SetMonitorMode(); + unpacker_trdR->SetMonitorMode(); // Assume histo server present, not like other unpackers unpacker_tof ->SetMonitorMode(); unpacker_rich->SetMonitorMode(); unpacker_psd->SetMonitorMode(); +*/ unpacker_sts ->SetIgnoreOverlapMs(); unpacker_much->SetIgnoreOverlapMs(); +// unpacker_trdR ->SetIgnoreOverlapMs(); /// Default is kTRUE unpacker_tof ->SetIgnoreOverlapMs(); unpacker_rich->SetIgnoreOverlapMs(); unpacker_psd ->SetIgnoreOverlapMs(); + /// Starting from first run on Tuesday 28/04/2020, STS uses bin sorter FW + if( 692 <= uRunId ) + unpacker_sts ->SetBinningFwFlag( kTRUE ); + /// Starting from first run on Monday 04/05/2020, MUCH uses bin sorter FW + if( 811 <= uRunId ) + unpacker_much->SetBinningFwFlag( kTRUE ); + // unpacker_sts ->SetAdcCut( 3 ); unpacker_tof ->SetSeparateArrayT0(); -/* - /// Mask all channels in FEB 1 end even channels in FEB 2 in mSTS - for( UInt_t uChan = 0; uChan < 1024; ++uChan ) - { - unpacker_sts ->MaskNoisyChannel( 1, uChan, true ); - if( 0 == uChan %2 ) - unpacker_sts ->MaskNoisyChannel( 2, uChan, true ); - } // for( UInt_t uChan = 0; uChan < 1024; ++uChan ) -*/ -/* - /// Mask ASIC with broken ADC in mSTS - for( UInt_t uChan = 640; uChan < 767; ++uChan ) - { - unpacker_sts ->MaskNoisyChannel( 2, uChan, true ); - } // for( UInt_t uChan = 640; uChan < 767; ++uChan ) -*/ + + // ------------------------------ // + // Enable Asic type for MUCH data. + // fFlag = 0 ==> Asic type 2.0 (20) ---> December 2018 and March 2019 Data + // fFlag = 1 ==> Asic type 2.1 (21) ---> December 2019 Data + // This is to correct the channel fliping problem in smx 2.1 chip + Int_t fFlag = 1; + unpacker_much->EnableAsicType(fFlag); + // ------------------------------ // + /// General System offsets (= offsets between sub-systems) + unpacker_sts ->SetTimeOffsetNs( -985 ); // Run 811-866 + unpacker_much->SetTimeOffsetNs( -885 ); // Run 811-866 + unpacker_trdR->SetTimeOffsetNs( 0 ); // Run 811-866 + unpacker_tof ->SetTimeOffsetNs( 25 ); // Run 811-866 + unpacker_rich->SetTimeOffsetNs( -310 ); // Run 811-866 + unpacker_psd ->SetTimeOffsetNs( -240 ); // Run 811-866 + switch( uRunId ) { - case 368: - unpacker_sts ->SetTimeOffsetNs( 2519880 ); // Run 368 + case 707: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 707 + //unpacker_much->SetTimeOffsetNs( -1750 ); // Run 707 + + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 707, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 707, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 707, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 707, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 707, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 707, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 707, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 707, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 707, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 707, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 707, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 707, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 707, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 707, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 707, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 707, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 707, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 707, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 9590.0 ); // Run 707, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 9590.0 ); // Run 707, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 9630.0 ); // Run 707, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 9590.0 ); // Run 707, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 707, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 707, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 0.0 ); // Run 707, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 0.0 ); // Run 707, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 0.0 ); // Run 707, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 707, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 707, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 707, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 707, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 707, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 7170.0 ); // Run 707, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 7170.0 ); // Run 707, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 707, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 707, DPB 5 ASIC 5 break; -/* - case 159: + } // 707 + case 750: { /// General System offsets (= offsets between sub-systems) - unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 159 - unpacker_much->SetTimeOffsetNs( -1750 ); // Run 159 - unpacker_tof ->SetTimeOffsetNs( -50 ); // Run 159 - unpacker_rich->SetTimeOffsetNs( -1090 ); // Run 159 + //unpacker_sts ->SetTimeOffsetNs( -1750 ); // Run 750 + //unpacker_much->SetTimeOffsetNs( -1750 ); // Run 750 /// ASIC specific offsets (= offsets inside sub-system) - unpacker_sts ->SetTimeOffsetNsAsic( 0, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 1, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 2, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 3, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 4, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 5, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 6, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 7, 0.0 ); // Unused - unpacker_sts ->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 9, 18.75 ); // Run 160, Ladder 0, Module 1, N, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 11, 25.0 ); // Run 160, Ladder 0, Module 1, N, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 13, 56.25 ); // Run 160, Ladder 0, Module 1, N, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 160, Ladder 0, Module 1, N, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 15, 37.5 ); // Run 160, Ladder 0, Module 1, N, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 18, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 19, 50.0 ); // Run 160, Ladder 0, Module 1, P, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 20, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 160, Ladder 0, Module 1, P, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 23, 25.0 ); // Run 160, Ladder 0, Module 1, P, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 24, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 25, 25.0 ); // Run 160, Ladder 0, Module 0, N, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 26, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 27, 31.25 ); // Run 160, Ladder 0, Module 0, N, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 160, Ladder 0, Module 0, N, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 29, 6.25 ); // Run 160, Ladder 0, Module 0, N, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 30, 50.0 ); // Run 160, Ladder 0, Module 0, N, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 31, 31.25 ); // Run 160, Ladder 0, Module 0, N, Asic 7 - unpacker_sts ->SetTimeOffsetNsAsic( 32, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 0 - unpacker_sts ->SetTimeOffsetNsAsic( 33, 31.25 ); // Run 160, Ladder 0, Module 0, P, Asic 1 - unpacker_sts ->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 2 - unpacker_sts ->SetTimeOffsetNsAsic( 35, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 3 - unpacker_sts ->SetTimeOffsetNsAsic( 36, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 4 - unpacker_sts ->SetTimeOffsetNsAsic( 37, 25.0 ); // Run 160, Ladder 0, Module 0, P, Asic 5 - unpacker_sts ->SetTimeOffsetNsAsic( 38, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 6 - unpacker_sts ->SetTimeOffsetNsAsic( 39, 0.0 ); // Run 160, Ladder 0, Module 0, P, Asic 7 - - unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 159, DPB 0 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 1, 109.0 ); // Run 159, DPB 0 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 2, 142.0 ); // Run 159, DPB 0 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 3, 84.0 ); // Run 159, DPB 0 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 4, 109.0 ); // Run 159, DPB 0 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 159, DPB 0 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 6, 2820915.0 ); // Run 159, DPB 1 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 7, 2820905.0 ); // Run 159, DPB 1 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 8, 2820785.0 ); // Run 159, DPB 1 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 9, 2820915.0 ); // Run 159, DPB 1 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 159, DPB 1 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 11, 2820805.0 ); // Run 159, DPB 1 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 12, 8144.0 ); // Run 159, DPB 2 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 13, 8133.0 ); // Run 159, DPB 2 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 159, DPB 2 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 159, DPB 2 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 159, DPB 2 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 159, DPB 2 ASIC 5 - unpacker_much->SetTimeOffsetNsAsic( 18, 136.0 ); // Run 159, DPB 3 ASIC 0 - unpacker_much->SetTimeOffsetNsAsic( 19, 119.0 ); // Run 159, DPB 3 ASIC 1 - unpacker_much->SetTimeOffsetNsAsic( 20, 141.0 ); // Run 159, DPB 3 ASIC 2 - unpacker_much->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 159, DPB 3 ASIC 3 - unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 159, DPB 3 ASIC 4 - unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 159, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 750, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 750, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 750, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 750, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 750, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 750, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 750, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 750, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 750, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 750, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 750, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 750, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 750, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 750, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 750, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 750, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 750, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 750, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 6400.0 ); // Run 750, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 6400.0 ); // Run 750, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 6400.0 ); // Run 750, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 6400.0 ); // Run 750, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 750, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 750, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 0.0 ); // Run 750, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 0.0 ); // Run 750, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 0.0 ); // Run 750, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 750, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 750, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 750, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 750, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 750, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 3170.0 ); // Run 750, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 3170.0 ); // Run 750, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 750, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 750, DPB 5 ASIC 5 + break; + } // 750 + case 759: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1759 ); // Run 759 + //unpacker_much->SetTimeOffsetNs( -1759 ); // Run 759 + unpacker_trdR->SetTimeOffsetNs( 190 ); // Run 759 + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 759, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 759, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 759, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 759, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 759, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 759, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 759, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 759, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 759, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 759, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 759, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 759, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 759, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 759, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 759, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 759, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 759, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 759, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 3200.0 ); // Run 759, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 3200.0 ); // Run 759, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 3200.0 ); // Run 759, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 3200.0 ); // Run 759, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 759, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 759, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 3200.0 ); // Run 759, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 3200.0 ); // Run 759, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 3200.0 ); // Run 759, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 759, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 759, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 759, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 759, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 759, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 759, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 759, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 759, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 759, DPB 5 ASIC 5 break; - } // 159 -*/ + } // 759 + case 760: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1760 ); // Run 760 + //unpacker_much->SetTimeOffsetNs( -1760 ); // Run 760 + unpacker_trdR->SetTimeOffsetNs( -75 ); // Run 760 + + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 760, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 760, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 760, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 760, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 760, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 760, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 760, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 760, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 760, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 760, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 760, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 760, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 760, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 760, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 760, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 760, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 760, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 760, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 0.0 ); // Run 760, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 0.0 ); // Run 760, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 0.0 ); // Run 760, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 0.0 ); // Run 760, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 760, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 760, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 3160.0 ); // Run 760, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 3160.0 ); // Run 760, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 3160.0 ); // Run 760, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 760, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 760, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 760, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 760, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 760, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 760, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 760, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 760, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 760, DPB 5 ASIC 5 + break; + } // 760 + case 761: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1761 ); // Run 761 + //unpacker_much->SetTimeOffsetNs( -1761 ); // Run 761 + unpacker_trdR->SetTimeOffsetNs( 90 ); // Run 761 + + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 761, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 761, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 761, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 761, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 761, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 761, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 761, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 761, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 761, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 761, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 761, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 761, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 761, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 761, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 761, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 761, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 761, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 761, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 3200.0 ); // Run 761, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 3200.0 ); // Run 761, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 3200.0 ); // Run 761, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 3200.0 ); // Run 761, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 761, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 761, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 6360.0 ); // Run 761, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 6360.0 ); // Run 761, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 6360.0 ); // Run 761, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 761, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 761, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 761, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 761, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 761, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, 6360.0 ); // Run 761, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, 6360.0 ); // Run 761, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 761, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 761, DPB 5 ASIC 5 + break; + } // 761 + case 762: + { + /// General System offsets (= offsets between sub-systems) + //unpacker_sts ->SetTimeOffsetNs( -1762 ); // Run 762 + //unpacker_much->SetTimeOffsetNs( -1762 ); // Run 762 + unpacker_trdR->SetTimeOffsetNs( 60 ); // Run 762 + + /// ASIC specific offsets (= offsets inside sub-system) + unpacker_much->SetTimeOffsetNsAsic( 0, 0.0 ); // Run 762, DPB 0 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 1, 0.0 ); // Run 762, DPB 0 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 2, 0.0 ); // Run 762, DPB 0 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 3, 0.0 ); // Run 762, DPB 0 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 4, 0.0 ); // Run 762, DPB 0 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 5, 0.0 ); // Run 762, DPB 0 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 6, 0.0 ); // Run 762, DPB 1 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 7, 0.0 ); // Run 762, DPB 1 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 8, 0.0 ); // Run 762, DPB 1 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 9, 0.0 ); // Run 762, DPB 1 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 10, 0.0 ); // Run 762, DPB 1 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 11, 0.0 ); // Run 762, DPB 1 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 12, 0.0 ); // Run 762, DPB 2 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 13, 0.0 ); // Run 762, DPB 2 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 14, 0.0 ); // Run 762, DPB 2 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 15, 0.0 ); // Run 762, DPB 2 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 16, 0.0 ); // Run 762, DPB 2 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 17, 0.0 ); // Run 762, DPB 2 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 18, 4800.0 ); // Run 762, DPB 3 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 19, 4800.0 ); // Run 762, DPB 3 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 20, 4800.0 ); // Run 762, DPB 3 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 21, 4800.0 ); // Run 762, DPB 3 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 22, 0.0 ); // Run 762, DPB 3 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 23, 0.0 ); // Run 762, DPB 3 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 24, 9550.0 ); // Run 762, DPB 4 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 25, 9550.0 ); // Run 762, DPB 4 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 26, 9550.0 ); // Run 762, DPB 4 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 27, 0.0 ); // Run 762, DPB 4 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 28, 0.0 ); // Run 762, DPB 4 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 29, 0.0 ); // Run 762, DPB 4 ASIC 5 + unpacker_much->SetTimeOffsetNsAsic( 30, 0.0 ); // Run 762, DPB 5 ASIC 0 + unpacker_much->SetTimeOffsetNsAsic( 31, 0.0 ); // Run 762, DPB 5 ASIC 1 + unpacker_much->SetTimeOffsetNsAsic( 32, -30.0 ); // Run 762, DPB 5 ASIC 2 + unpacker_much->SetTimeOffsetNsAsic( 33, -30.0 ); // Run 762, DPB 5 ASIC 3 + unpacker_much->SetTimeOffsetNsAsic( 34, 0.0 ); // Run 762, DPB 5 ASIC 4 + unpacker_much->SetTimeOffsetNsAsic( 35, 0.0 ); // Run 762, DPB 5 ASIC 5 + break; + } // 762 + case 811: + { + unpacker_trdR->SetTimeOffsetNs( 84.38 ); + break; + } // 811 + case 812: + { + unpacker_trdR->SetTimeOffsetNs( 165.62 ); + break; + } // 812 + case 816 : + { + unpacker_trdR->SetTimeOffsetNs( -9.38 ); + break; + } // 816 + case 819: + { + unpacker_trdR->SetTimeOffsetNs( -140.62 ); + break; + } // 819 + case 820: + { + unpacker_trdR->SetTimeOffsetNs( 109.38 ); + break; + } // 820 + case 821: + { + unpacker_trdR->SetTimeOffsetNs( -65.62 ); + break; + } // 821 + case 822: + { + unpacker_trdR->SetTimeOffsetNs( 59.38 ); + break; + } // 822 + case 824: + { + unpacker_trdR->SetTimeOffsetNs( -165.62 ); + break; + } // 824 + case 826: + { + unpacker_trdR->SetTimeOffsetNs( 59.38 ); + break; + } // 826 + case 827: + { + unpacker_trdR->SetTimeOffsetNs( -15.62 ); + break; + } // 827 + case 828: + { + unpacker_trdR->SetTimeOffsetNs( -109.38 ); + break; + } // 828 + case 830: + { + unpacker_trdR->SetTimeOffsetNs( 15.62 ); + break; + } // 830 + case 831: + { +// unpacker_trdR->SetTimeOffsetNs( 70.00 ); + unpacker_trdR->SetTimeOffsetNs( -25.00 ); + break; + } // 831 + case 836: + { + unpacker_trdR->SetTimeOffsetNs( -40.62); + break; + } // 836 default: break; } // switch( uRunId ) // --- Source task CbmMcbm2018Source* source = new CbmMcbm2018Source(); - - TString inFile; - if( 380 <= uRunId ) - { - inFile = Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn02_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn04_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn05_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn06_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn08_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn10_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn11_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn12_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn13_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/12/gsi/%3u_pn15_*.tsa", uRunId ); - } // if( 380 <= uRunId ) - else if( 346 <= uRunId ) - { - inFile = Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn02_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn04_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn05_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn06_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn08_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn10_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn11_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn12_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn13_*.tsa;", uRunId ); - inFile += Form( "/lustre/cbm/prod/beamtime/2019/11/gsi/%3u_pn15_*.tsa", uRunId ); - } // else if( 346 <= uRunId ) - else - { - std::cout << "Invalid run number, doing nothing!" << std::endl; - return; - } // else of if run in Nov or Dec 2019 mCBM beamtimes + source->SetWriteOutputFlag( kTRUE ); // For writing TS metadata + + TString inFile = Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn02_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn04_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn05_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn06_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn08_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn10_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn11_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn12_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn13_*.tsa;", uRunId ); + inFile += Form( "/lustre/cbm/users/ploizeau/mcbm2020/data/%3u_pn15_*.tsa", uRunId ); source->SetFileName(inFile); + source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts );//STS xyter - source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd );// Trd source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof );//gDPB A & B & C source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof );//gDPB T0 A & B source->AddUnpacker(unpacker_rich, 0x30, ECbmModuleId::kRich );//RICH trb source->AddUnpacker(unpacker_psd, 0x80, ECbmModuleId::kPsd );//PSD // --- Event header - FairEventHeader* event = new CbmTbEvent(); + FairEventHeader* event = new FairEventHeader(); event->SetRunId(uRunId); // --- RootFileSink @@ -291,5 +590,8 @@ void unpack_tsa_mcbm_kronos( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDi std::cout << ">>> unpack_tsa_mcbm: Real time " << rtime << " s, CPU time " << ctime << " s" << std::endl; std::cout << std::endl; -} + /// --- Screen output for automatic tests + std::cout << " Test passed" << std::endl; + std::cout << " All ok " << std::endl; +} diff --git a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C index a54959de4f0d267d4579683ca8ebdc3dc39d6f8f..310cd82c8b6e9a09d659ac33adadee4dcb0f2fe1 100644 --- a/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C +++ b/macro/beamtime/mcbm2020/unpack_tsa_mcbm_mfles.C @@ -44,18 +44,18 @@ void unpack_tsa_mcbm_mfles( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDir TObjString* parMuchFileName = new TObjString(paramFileMuch); parFileList->Add(parMuchFileName); + TString paramDirTrd = srcDir + "/parameters/trd/trd_v18q_mcbm"; + parFileList->Add(new TObjString(Form("%s.asic.par", paramDirTrd.Data()))); + TString paramFileTof = paramDir + "mTofPar.par"; TObjString* parTofFileName = new TObjString(paramFileTof); parFileList->Add(parTofFileName); TString paramFileRich = paramDir + "mRichPar.par"; + if (uRunId > 698) paramFileRich = paramDir + "mRichPar_70.par"; TObjString* parRichFileName = new TObjString(paramFileRich); parFileList->Add(parRichFileName); - TString paramFileHodo = paramDir + "mHodoPar.par"; - TObjString* parHodoFileName = new TObjString(paramFileHodo); - parFileList->Add(parHodoFileName); - TString paramFilePsd = paramDir + "mPsdPar.par"; TObjString* parPsdFileName = new TObjString(paramFilePsd); parFileList->Add(parPsdFileName); @@ -73,1414 +73,28 @@ void unpack_tsa_mcbm_mfles( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDir CbmMcbm2018UnpackerTaskSts * unpacker_sts = new CbmMcbm2018UnpackerTaskSts(); CbmMcbm2018UnpackerTaskMuch * unpacker_much = new CbmMcbm2018UnpackerTaskMuch(); + CbmMcbm2018UnpackerTaskTrdR * unpacker_trdR = new CbmMcbm2018UnpackerTaskTrdR(); CbmMcbm2018UnpackerTaskTof * unpacker_tof = new CbmMcbm2018UnpackerTaskTof(); CbmMcbm2018UnpackerTaskRich * unpacker_rich = new CbmMcbm2018UnpackerTaskRich(); CbmMcbm2018UnpackerTaskPsd * unpacker_psd = new CbmMcbm2018UnpackerTaskPsd(); unpacker_sts ->SetMonitorMode(); unpacker_much->SetMonitorMode(); + unpacker_trdR->SetMonitorMode(); unpacker_tof ->SetMonitorMode(); unpacker_rich->SetMonitorMode(); unpacker_psd->SetMonitorMode(); unpacker_sts ->SetIgnoreOverlapMs(); unpacker_much->SetIgnoreOverlapMs(); +// unpacker_trdR ->SetIgnoreOverlapMs(); /// Default is kTRUE unpacker_tof ->SetIgnoreOverlapMs(); unpacker_rich->SetIgnoreOverlapMs(); unpacker_psd ->SetIgnoreOverlapMs(); - unpacker_sts ->SetAdcCut( 3 ); +// unpacker_sts ->SetAdcCut( 3 ); unpacker_tof ->SetSeparateArrayT0(); -/* - /// Mask channels with >10k mean rate in more than 1/2 of the runs - unpacker_sts ->MaskNoisyChannel( 1, 65, true ); - unpacker_sts ->MaskNoisyChannel( 1, 253, true ); - unpacker_sts ->MaskNoisyChannel( 1, 255, true ); - unpacker_sts ->MaskNoisyChannel( 1, 260, true ); - unpacker_sts ->MaskNoisyChannel( 1, 380, true ); - unpacker_sts ->MaskNoisyChannel( 1, 381, true ); - unpacker_sts ->MaskNoisyChannel( 1, 382, true ); - unpacker_sts ->MaskNoisyChannel( 1, 383, true ); - unpacker_sts ->MaskNoisyChannel( 1, 632, true ); - unpacker_sts ->MaskNoisyChannel( 1, 635, true ); - unpacker_sts ->MaskNoisyChannel( 1, 637, true ); - unpacker_sts ->MaskNoisyChannel( 1, 639, true ); - unpacker_sts ->MaskNoisyChannel( 1, 762, true ); - unpacker_sts ->MaskNoisyChannel( 1, 883, true ); - unpacker_sts ->MaskNoisyChannel( 1, 895, true ); - unpacker_sts ->MaskNoisyChannel( 1, 898, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1018, true ); - unpacker_sts ->MaskNoisyChannel( 2, 124, true ); - unpacker_sts ->MaskNoisyChannel( 2, 358, true ); - unpacker_sts ->MaskNoisyChannel( 2, 380, true ); - unpacker_sts ->MaskNoisyChannel( 2, 382, true ); - unpacker_sts ->MaskNoisyChannel( 2, 639, true ); -*/ -/* - /// Mask all channels with more than 1 kHz off spill in run 368 - unpacker_sts ->MaskNoisyChannel( 1, 0, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1, true ); - unpacker_sts ->MaskNoisyChannel( 1, 2, true ); - unpacker_sts ->MaskNoisyChannel( 1, 3, true ); - unpacker_sts ->MaskNoisyChannel( 1, 4, true ); - unpacker_sts ->MaskNoisyChannel( 1, 6, true ); - unpacker_sts ->MaskNoisyChannel( 1, 7, true ); - unpacker_sts ->MaskNoisyChannel( 1, 8, true ); - unpacker_sts ->MaskNoisyChannel( 1, 11, true ); - unpacker_sts ->MaskNoisyChannel( 1, 12, true ); - unpacker_sts ->MaskNoisyChannel( 1, 13, true ); - unpacker_sts ->MaskNoisyChannel( 1, 14, true ); - unpacker_sts ->MaskNoisyChannel( 1, 15, true ); - unpacker_sts ->MaskNoisyChannel( 1, 16, true ); - unpacker_sts ->MaskNoisyChannel( 1, 17, true ); - unpacker_sts ->MaskNoisyChannel( 1, 18, true ); - unpacker_sts ->MaskNoisyChannel( 1, 19, true ); - unpacker_sts ->MaskNoisyChannel( 1, 20, true ); - unpacker_sts ->MaskNoisyChannel( 1, 21, true ); - unpacker_sts ->MaskNoisyChannel( 1, 22, true ); - unpacker_sts ->MaskNoisyChannel( 1, 23, true ); - unpacker_sts ->MaskNoisyChannel( 1, 24, true ); - unpacker_sts ->MaskNoisyChannel( 1, 26, true ); - unpacker_sts ->MaskNoisyChannel( 1, 27, true ); - unpacker_sts ->MaskNoisyChannel( 1, 28, true ); - unpacker_sts ->MaskNoisyChannel( 1, 29, true ); - unpacker_sts ->MaskNoisyChannel( 1, 31, true ); - unpacker_sts ->MaskNoisyChannel( 1, 32, true ); - unpacker_sts ->MaskNoisyChannel( 1, 33, true ); - unpacker_sts ->MaskNoisyChannel( 1, 34, true ); - unpacker_sts ->MaskNoisyChannel( 1, 35, true ); - unpacker_sts ->MaskNoisyChannel( 1, 36, true ); - unpacker_sts ->MaskNoisyChannel( 1, 37, true ); - unpacker_sts ->MaskNoisyChannel( 1, 38, true ); - unpacker_sts ->MaskNoisyChannel( 1, 39, true ); - unpacker_sts ->MaskNoisyChannel( 1, 40, true ); - unpacker_sts ->MaskNoisyChannel( 1, 42, true ); - unpacker_sts ->MaskNoisyChannel( 1, 43, true ); - unpacker_sts ->MaskNoisyChannel( 1, 44, true ); - unpacker_sts ->MaskNoisyChannel( 1, 45, true ); - unpacker_sts ->MaskNoisyChannel( 1, 46, true ); - unpacker_sts ->MaskNoisyChannel( 1, 47, true ); - unpacker_sts ->MaskNoisyChannel( 1, 48, true ); - unpacker_sts ->MaskNoisyChannel( 1, 49, true ); - unpacker_sts ->MaskNoisyChannel( 1, 50, true ); - unpacker_sts ->MaskNoisyChannel( 1, 51, true ); - unpacker_sts ->MaskNoisyChannel( 1, 52, true ); - unpacker_sts ->MaskNoisyChannel( 1, 53, true ); - unpacker_sts ->MaskNoisyChannel( 1, 54, true ); - unpacker_sts ->MaskNoisyChannel( 1, 55, true ); - unpacker_sts ->MaskNoisyChannel( 1, 56, true ); - unpacker_sts ->MaskNoisyChannel( 1, 57, true ); - unpacker_sts ->MaskNoisyChannel( 1, 58, true ); - unpacker_sts ->MaskNoisyChannel( 1, 59, true ); - unpacker_sts ->MaskNoisyChannel( 1, 60, true ); - unpacker_sts ->MaskNoisyChannel( 1, 61, true ); - unpacker_sts ->MaskNoisyChannel( 1, 62, true ); - unpacker_sts ->MaskNoisyChannel( 1, 63, true ); - unpacker_sts ->MaskNoisyChannel( 1, 64, true ); - unpacker_sts ->MaskNoisyChannel( 1, 65, true ); - unpacker_sts ->MaskNoisyChannel( 1, 66, true ); - unpacker_sts ->MaskNoisyChannel( 1, 67, true ); - unpacker_sts ->MaskNoisyChannel( 1, 68, true ); - unpacker_sts ->MaskNoisyChannel( 1, 69, true ); - unpacker_sts ->MaskNoisyChannel( 1, 70, true ); - unpacker_sts ->MaskNoisyChannel( 1, 71, true ); - unpacker_sts ->MaskNoisyChannel( 1, 72, true ); - unpacker_sts ->MaskNoisyChannel( 1, 73, true ); - unpacker_sts ->MaskNoisyChannel( 1, 74, true ); - unpacker_sts ->MaskNoisyChannel( 1, 75, true ); - unpacker_sts ->MaskNoisyChannel( 1, 76, true ); - unpacker_sts ->MaskNoisyChannel( 1, 77, true ); - unpacker_sts ->MaskNoisyChannel( 1, 78, true ); - unpacker_sts ->MaskNoisyChannel( 1, 79, true ); - unpacker_sts ->MaskNoisyChannel( 1, 80, true ); - unpacker_sts ->MaskNoisyChannel( 1, 81, true ); - unpacker_sts ->MaskNoisyChannel( 1, 82, true ); - unpacker_sts ->MaskNoisyChannel( 1, 83, true ); - unpacker_sts ->MaskNoisyChannel( 1, 84, true ); - unpacker_sts ->MaskNoisyChannel( 1, 85, true ); - unpacker_sts ->MaskNoisyChannel( 1, 87, true ); - unpacker_sts ->MaskNoisyChannel( 1, 88, true ); - unpacker_sts ->MaskNoisyChannel( 1, 89, true ); - unpacker_sts ->MaskNoisyChannel( 1, 90, true ); - unpacker_sts ->MaskNoisyChannel( 1, 91, true ); - unpacker_sts ->MaskNoisyChannel( 1, 92, true ); - unpacker_sts ->MaskNoisyChannel( 1, 93, true ); - unpacker_sts ->MaskNoisyChannel( 1, 94, true ); - unpacker_sts ->MaskNoisyChannel( 1, 95, true ); - unpacker_sts ->MaskNoisyChannel( 1, 97, true ); - unpacker_sts ->MaskNoisyChannel( 1, 99, true ); - unpacker_sts ->MaskNoisyChannel( 1, 100, true ); - unpacker_sts ->MaskNoisyChannel( 1, 101, true ); - unpacker_sts ->MaskNoisyChannel( 1, 103, true ); - unpacker_sts ->MaskNoisyChannel( 1, 104, true ); - unpacker_sts ->MaskNoisyChannel( 1, 105, true ); - unpacker_sts ->MaskNoisyChannel( 1, 106, true ); - unpacker_sts ->MaskNoisyChannel( 1, 108, true ); - unpacker_sts ->MaskNoisyChannel( 1, 109, true ); - unpacker_sts ->MaskNoisyChannel( 1, 110, true ); - unpacker_sts ->MaskNoisyChannel( 1, 111, true ); - unpacker_sts ->MaskNoisyChannel( 1, 112, true ); - unpacker_sts ->MaskNoisyChannel( 1, 114, true ); - unpacker_sts ->MaskNoisyChannel( 1, 116, true ); - unpacker_sts ->MaskNoisyChannel( 1, 117, true ); - unpacker_sts ->MaskNoisyChannel( 1, 118, true ); - unpacker_sts ->MaskNoisyChannel( 1, 123, true ); - unpacker_sts ->MaskNoisyChannel( 1, 125, true ); - unpacker_sts ->MaskNoisyChannel( 1, 134, true ); - unpacker_sts ->MaskNoisyChannel( 1, 136, true ); - unpacker_sts ->MaskNoisyChannel( 1, 138, true ); - unpacker_sts ->MaskNoisyChannel( 1, 140, true ); - unpacker_sts ->MaskNoisyChannel( 1, 142, true ); - unpacker_sts ->MaskNoisyChannel( 1, 144, true ); - unpacker_sts ->MaskNoisyChannel( 1, 146, true ); - unpacker_sts ->MaskNoisyChannel( 1, 148, true ); - unpacker_sts ->MaskNoisyChannel( 1, 150, true ); - unpacker_sts ->MaskNoisyChannel( 1, 152, true ); - unpacker_sts ->MaskNoisyChannel( 1, 154, true ); - unpacker_sts ->MaskNoisyChannel( 1, 156, true ); - unpacker_sts ->MaskNoisyChannel( 1, 158, true ); - unpacker_sts ->MaskNoisyChannel( 1, 160, true ); - unpacker_sts ->MaskNoisyChannel( 1, 162, true ); - unpacker_sts ->MaskNoisyChannel( 1, 164, true ); - unpacker_sts ->MaskNoisyChannel( 1, 166, true ); - unpacker_sts ->MaskNoisyChannel( 1, 168, true ); - unpacker_sts ->MaskNoisyChannel( 1, 170, true ); - unpacker_sts ->MaskNoisyChannel( 1, 172, true ); - unpacker_sts ->MaskNoisyChannel( 1, 174, true ); - unpacker_sts ->MaskNoisyChannel( 1, 176, true ); - unpacker_sts ->MaskNoisyChannel( 1, 178, true ); - unpacker_sts ->MaskNoisyChannel( 1, 180, true ); - unpacker_sts ->MaskNoisyChannel( 1, 182, true ); - unpacker_sts ->MaskNoisyChannel( 1, 184, true ); - unpacker_sts ->MaskNoisyChannel( 1, 186, true ); - unpacker_sts ->MaskNoisyChannel( 1, 188, true ); - unpacker_sts ->MaskNoisyChannel( 1, 190, true ); - unpacker_sts ->MaskNoisyChannel( 1, 192, true ); - unpacker_sts ->MaskNoisyChannel( 1, 194, true ); - unpacker_sts ->MaskNoisyChannel( 1, 196, true ); - unpacker_sts ->MaskNoisyChannel( 1, 198, true ); - unpacker_sts ->MaskNoisyChannel( 1, 200, true ); - unpacker_sts ->MaskNoisyChannel( 1, 202, true ); - unpacker_sts ->MaskNoisyChannel( 1, 204, true ); - unpacker_sts ->MaskNoisyChannel( 1, 206, true ); - unpacker_sts ->MaskNoisyChannel( 1, 208, true ); - unpacker_sts ->MaskNoisyChannel( 1, 210, true ); - unpacker_sts ->MaskNoisyChannel( 1, 212, true ); - unpacker_sts ->MaskNoisyChannel( 1, 214, true ); - unpacker_sts ->MaskNoisyChannel( 1, 216, true ); - unpacker_sts ->MaskNoisyChannel( 1, 218, true ); - unpacker_sts ->MaskNoisyChannel( 1, 220, true ); - unpacker_sts ->MaskNoisyChannel( 1, 222, true ); - unpacker_sts ->MaskNoisyChannel( 1, 224, true ); - unpacker_sts ->MaskNoisyChannel( 1, 226, true ); - unpacker_sts ->MaskNoisyChannel( 1, 228, true ); - unpacker_sts ->MaskNoisyChannel( 1, 229, true ); - unpacker_sts ->MaskNoisyChannel( 1, 230, true ); - unpacker_sts ->MaskNoisyChannel( 1, 231, true ); - unpacker_sts ->MaskNoisyChannel( 1, 232, true ); - unpacker_sts ->MaskNoisyChannel( 1, 233, true ); - unpacker_sts ->MaskNoisyChannel( 1, 234, true ); - unpacker_sts ->MaskNoisyChannel( 1, 235, true ); - unpacker_sts ->MaskNoisyChannel( 1, 236, true ); - unpacker_sts ->MaskNoisyChannel( 1, 237, true ); - unpacker_sts ->MaskNoisyChannel( 1, 238, true ); - unpacker_sts ->MaskNoisyChannel( 1, 239, true ); - unpacker_sts ->MaskNoisyChannel( 1, 240, true ); - unpacker_sts ->MaskNoisyChannel( 1, 241, true ); - unpacker_sts ->MaskNoisyChannel( 1, 242, true ); - unpacker_sts ->MaskNoisyChannel( 1, 243, true ); - unpacker_sts ->MaskNoisyChannel( 1, 244, true ); - unpacker_sts ->MaskNoisyChannel( 1, 245, true ); - unpacker_sts ->MaskNoisyChannel( 1, 246, true ); - unpacker_sts ->MaskNoisyChannel( 1, 247, true ); - unpacker_sts ->MaskNoisyChannel( 1, 248, true ); - unpacker_sts ->MaskNoisyChannel( 1, 249, true ); - unpacker_sts ->MaskNoisyChannel( 1, 250, true ); - unpacker_sts ->MaskNoisyChannel( 1, 251, true ); - unpacker_sts ->MaskNoisyChannel( 1, 253, true ); - unpacker_sts ->MaskNoisyChannel( 1, 255, true ); - unpacker_sts ->MaskNoisyChannel( 1, 259, true ); - unpacker_sts ->MaskNoisyChannel( 1, 260, true ); - unpacker_sts ->MaskNoisyChannel( 1, 261, true ); - unpacker_sts ->MaskNoisyChannel( 1, 262, true ); - unpacker_sts ->MaskNoisyChannel( 1, 264, true ); - unpacker_sts ->MaskNoisyChannel( 1, 266, true ); - unpacker_sts ->MaskNoisyChannel( 1, 268, true ); - unpacker_sts ->MaskNoisyChannel( 1, 270, true ); - unpacker_sts ->MaskNoisyChannel( 1, 271, true ); - unpacker_sts ->MaskNoisyChannel( 1, 272, true ); - unpacker_sts ->MaskNoisyChannel( 1, 276, true ); - unpacker_sts ->MaskNoisyChannel( 1, 278, true ); - unpacker_sts ->MaskNoisyChannel( 1, 280, true ); - unpacker_sts ->MaskNoisyChannel( 1, 282, true ); - unpacker_sts ->MaskNoisyChannel( 1, 284, true ); - unpacker_sts ->MaskNoisyChannel( 1, 286, true ); - unpacker_sts ->MaskNoisyChannel( 1, 288, true ); - unpacker_sts ->MaskNoisyChannel( 1, 290, true ); - unpacker_sts ->MaskNoisyChannel( 1, 292, true ); - unpacker_sts ->MaskNoisyChannel( 1, 294, true ); - unpacker_sts ->MaskNoisyChannel( 1, 296, true ); - unpacker_sts ->MaskNoisyChannel( 1, 298, true ); - unpacker_sts ->MaskNoisyChannel( 1, 300, true ); - unpacker_sts ->MaskNoisyChannel( 1, 302, true ); - unpacker_sts ->MaskNoisyChannel( 1, 304, true ); - unpacker_sts ->MaskNoisyChannel( 1, 306, true ); - unpacker_sts ->MaskNoisyChannel( 1, 308, true ); - unpacker_sts ->MaskNoisyChannel( 1, 310, true ); - unpacker_sts ->MaskNoisyChannel( 1, 312, true ); - unpacker_sts ->MaskNoisyChannel( 1, 314, true ); - unpacker_sts ->MaskNoisyChannel( 1, 316, true ); - unpacker_sts ->MaskNoisyChannel( 1, 318, true ); - unpacker_sts ->MaskNoisyChannel( 1, 320, true ); - unpacker_sts ->MaskNoisyChannel( 1, 322, true ); - unpacker_sts ->MaskNoisyChannel( 1, 324, true ); - unpacker_sts ->MaskNoisyChannel( 1, 326, true ); - unpacker_sts ->MaskNoisyChannel( 1, 328, true ); - unpacker_sts ->MaskNoisyChannel( 1, 330, true ); - unpacker_sts ->MaskNoisyChannel( 1, 332, true ); - unpacker_sts ->MaskNoisyChannel( 1, 334, true ); - unpacker_sts ->MaskNoisyChannel( 1, 336, true ); - unpacker_sts ->MaskNoisyChannel( 1, 338, true ); - unpacker_sts ->MaskNoisyChannel( 1, 340, true ); - unpacker_sts ->MaskNoisyChannel( 1, 342, true ); - unpacker_sts ->MaskNoisyChannel( 1, 344, true ); - unpacker_sts ->MaskNoisyChannel( 1, 346, true ); - unpacker_sts ->MaskNoisyChannel( 1, 348, true ); - unpacker_sts ->MaskNoisyChannel( 1, 350, true ); - unpacker_sts ->MaskNoisyChannel( 1, 352, true ); - unpacker_sts ->MaskNoisyChannel( 1, 354, true ); - unpacker_sts ->MaskNoisyChannel( 1, 356, true ); - unpacker_sts ->MaskNoisyChannel( 1, 358, true ); - unpacker_sts ->MaskNoisyChannel( 1, 360, true ); - unpacker_sts ->MaskNoisyChannel( 1, 362, true ); - unpacker_sts ->MaskNoisyChannel( 1, 364, true ); - unpacker_sts ->MaskNoisyChannel( 1, 365, true ); - unpacker_sts ->MaskNoisyChannel( 1, 366, true ); - unpacker_sts ->MaskNoisyChannel( 1, 368, true ); - unpacker_sts ->MaskNoisyChannel( 1, 370, true ); - unpacker_sts ->MaskNoisyChannel( 1, 371, true ); - unpacker_sts ->MaskNoisyChannel( 1, 372, true ); - unpacker_sts ->MaskNoisyChannel( 1, 373, true ); - unpacker_sts ->MaskNoisyChannel( 1, 374, true ); - unpacker_sts ->MaskNoisyChannel( 1, 375, true ); - unpacker_sts ->MaskNoisyChannel( 1, 376, true ); - unpacker_sts ->MaskNoisyChannel( 1, 377, true ); - unpacker_sts ->MaskNoisyChannel( 1, 378, true ); - unpacker_sts ->MaskNoisyChannel( 1, 379, true ); - unpacker_sts ->MaskNoisyChannel( 1, 380, true ); - unpacker_sts ->MaskNoisyChannel( 1, 381, true ); - unpacker_sts ->MaskNoisyChannel( 1, 382, true ); - unpacker_sts ->MaskNoisyChannel( 1, 383, true ); - unpacker_sts ->MaskNoisyChannel( 1, 388, true ); - unpacker_sts ->MaskNoisyChannel( 1, 390, true ); - unpacker_sts ->MaskNoisyChannel( 1, 392, true ); - unpacker_sts ->MaskNoisyChannel( 1, 394, true ); - unpacker_sts ->MaskNoisyChannel( 1, 396, true ); - unpacker_sts ->MaskNoisyChannel( 1, 398, true ); - unpacker_sts ->MaskNoisyChannel( 1, 400, true ); - unpacker_sts ->MaskNoisyChannel( 1, 402, true ); - unpacker_sts ->MaskNoisyChannel( 1, 404, true ); - unpacker_sts ->MaskNoisyChannel( 1, 406, true ); - unpacker_sts ->MaskNoisyChannel( 1, 408, true ); - unpacker_sts ->MaskNoisyChannel( 1, 410, true ); - unpacker_sts ->MaskNoisyChannel( 1, 412, true ); - unpacker_sts ->MaskNoisyChannel( 1, 414, true ); - unpacker_sts ->MaskNoisyChannel( 1, 416, true ); - unpacker_sts ->MaskNoisyChannel( 1, 418, true ); - unpacker_sts ->MaskNoisyChannel( 1, 422, true ); - unpacker_sts ->MaskNoisyChannel( 1, 424, true ); - unpacker_sts ->MaskNoisyChannel( 1, 426, true ); - unpacker_sts ->MaskNoisyChannel( 1, 428, true ); - unpacker_sts ->MaskNoisyChannel( 1, 430, true ); - unpacker_sts ->MaskNoisyChannel( 1, 432, true ); - unpacker_sts ->MaskNoisyChannel( 1, 434, true ); - unpacker_sts ->MaskNoisyChannel( 1, 436, true ); - unpacker_sts ->MaskNoisyChannel( 1, 438, true ); - unpacker_sts ->MaskNoisyChannel( 1, 440, true ); - unpacker_sts ->MaskNoisyChannel( 1, 442, true ); - unpacker_sts ->MaskNoisyChannel( 1, 444, true ); - unpacker_sts ->MaskNoisyChannel( 1, 446, true ); - unpacker_sts ->MaskNoisyChannel( 1, 448, true ); - unpacker_sts ->MaskNoisyChannel( 1, 450, true ); - unpacker_sts ->MaskNoisyChannel( 1, 452, true ); - unpacker_sts ->MaskNoisyChannel( 1, 454, true ); - unpacker_sts ->MaskNoisyChannel( 1, 456, true ); - unpacker_sts ->MaskNoisyChannel( 1, 458, true ); - unpacker_sts ->MaskNoisyChannel( 1, 460, true ); - unpacker_sts ->MaskNoisyChannel( 1, 462, true ); - unpacker_sts ->MaskNoisyChannel( 1, 464, true ); - unpacker_sts ->MaskNoisyChannel( 1, 466, true ); - unpacker_sts ->MaskNoisyChannel( 1, 468, true ); - unpacker_sts ->MaskNoisyChannel( 1, 470, true ); - unpacker_sts ->MaskNoisyChannel( 1, 472, true ); - unpacker_sts ->MaskNoisyChannel( 1, 474, true ); - unpacker_sts ->MaskNoisyChannel( 1, 476, true ); - unpacker_sts ->MaskNoisyChannel( 1, 478, true ); - unpacker_sts ->MaskNoisyChannel( 1, 480, true ); - unpacker_sts ->MaskNoisyChannel( 1, 482, true ); - unpacker_sts ->MaskNoisyChannel( 1, 484, true ); - unpacker_sts ->MaskNoisyChannel( 1, 486, true ); - unpacker_sts ->MaskNoisyChannel( 1, 488, true ); - unpacker_sts ->MaskNoisyChannel( 1, 490, true ); - unpacker_sts ->MaskNoisyChannel( 1, 492, true ); - unpacker_sts ->MaskNoisyChannel( 1, 494, true ); - unpacker_sts ->MaskNoisyChannel( 1, 496, true ); - unpacker_sts ->MaskNoisyChannel( 1, 498, true ); - unpacker_sts ->MaskNoisyChannel( 1, 500, true ); - unpacker_sts ->MaskNoisyChannel( 1, 502, true ); - unpacker_sts ->MaskNoisyChannel( 1, 505, true ); - unpacker_sts ->MaskNoisyChannel( 1, 506, true ); - unpacker_sts ->MaskNoisyChannel( 1, 507, true ); - unpacker_sts ->MaskNoisyChannel( 1, 509, true ); - unpacker_sts ->MaskNoisyChannel( 1, 513, true ); - unpacker_sts ->MaskNoisyChannel( 1, 515, true ); - unpacker_sts ->MaskNoisyChannel( 1, 516, true ); - unpacker_sts ->MaskNoisyChannel( 1, 518, true ); - unpacker_sts ->MaskNoisyChannel( 1, 520, true ); - unpacker_sts ->MaskNoisyChannel( 1, 522, true ); - unpacker_sts ->MaskNoisyChannel( 1, 524, true ); - unpacker_sts ->MaskNoisyChannel( 1, 526, true ); - unpacker_sts ->MaskNoisyChannel( 1, 528, true ); - unpacker_sts ->MaskNoisyChannel( 1, 530, true ); - unpacker_sts ->MaskNoisyChannel( 1, 532, true ); - unpacker_sts ->MaskNoisyChannel( 1, 534, true ); - unpacker_sts ->MaskNoisyChannel( 1, 536, true ); - unpacker_sts ->MaskNoisyChannel( 1, 538, true ); - unpacker_sts ->MaskNoisyChannel( 1, 540, true ); - unpacker_sts ->MaskNoisyChannel( 1, 542, true ); - unpacker_sts ->MaskNoisyChannel( 1, 544, true ); - unpacker_sts ->MaskNoisyChannel( 1, 546, true ); - unpacker_sts ->MaskNoisyChannel( 1, 548, true ); - unpacker_sts ->MaskNoisyChannel( 1, 550, true ); - unpacker_sts ->MaskNoisyChannel( 1, 552, true ); - unpacker_sts ->MaskNoisyChannel( 1, 554, true ); - unpacker_sts ->MaskNoisyChannel( 1, 556, true ); - unpacker_sts ->MaskNoisyChannel( 1, 558, true ); - unpacker_sts ->MaskNoisyChannel( 1, 560, true ); - unpacker_sts ->MaskNoisyChannel( 1, 562, true ); - unpacker_sts ->MaskNoisyChannel( 1, 564, true ); - unpacker_sts ->MaskNoisyChannel( 1, 566, true ); - unpacker_sts ->MaskNoisyChannel( 1, 568, true ); - unpacker_sts ->MaskNoisyChannel( 1, 570, true ); - unpacker_sts ->MaskNoisyChannel( 1, 572, true ); - unpacker_sts ->MaskNoisyChannel( 1, 574, true ); - unpacker_sts ->MaskNoisyChannel( 1, 576, true ); - unpacker_sts ->MaskNoisyChannel( 1, 578, true ); - unpacker_sts ->MaskNoisyChannel( 1, 580, true ); - unpacker_sts ->MaskNoisyChannel( 1, 582, true ); - unpacker_sts ->MaskNoisyChannel( 1, 584, true ); - unpacker_sts ->MaskNoisyChannel( 1, 586, true ); - unpacker_sts ->MaskNoisyChannel( 1, 588, true ); - unpacker_sts ->MaskNoisyChannel( 1, 590, true ); - unpacker_sts ->MaskNoisyChannel( 1, 592, true ); - unpacker_sts ->MaskNoisyChannel( 1, 594, true ); - unpacker_sts ->MaskNoisyChannel( 1, 596, true ); - unpacker_sts ->MaskNoisyChannel( 1, 598, true ); - unpacker_sts ->MaskNoisyChannel( 1, 600, true ); - unpacker_sts ->MaskNoisyChannel( 1, 602, true ); - unpacker_sts ->MaskNoisyChannel( 1, 604, true ); - unpacker_sts ->MaskNoisyChannel( 1, 606, true ); - unpacker_sts ->MaskNoisyChannel( 1, 608, true ); - unpacker_sts ->MaskNoisyChannel( 1, 610, true ); - unpacker_sts ->MaskNoisyChannel( 1, 612, true ); - unpacker_sts ->MaskNoisyChannel( 1, 614, true ); - unpacker_sts ->MaskNoisyChannel( 1, 615, true ); - unpacker_sts ->MaskNoisyChannel( 1, 616, true ); - unpacker_sts ->MaskNoisyChannel( 1, 618, true ); - unpacker_sts ->MaskNoisyChannel( 1, 619, true ); - unpacker_sts ->MaskNoisyChannel( 1, 620, true ); - unpacker_sts ->MaskNoisyChannel( 1, 621, true ); - unpacker_sts ->MaskNoisyChannel( 1, 622, true ); - unpacker_sts ->MaskNoisyChannel( 1, 623, true ); - unpacker_sts ->MaskNoisyChannel( 1, 624, true ); - unpacker_sts ->MaskNoisyChannel( 1, 625, true ); - unpacker_sts ->MaskNoisyChannel( 1, 626, true ); - unpacker_sts ->MaskNoisyChannel( 1, 627, true ); - unpacker_sts ->MaskNoisyChannel( 1, 628, true ); - unpacker_sts ->MaskNoisyChannel( 1, 629, true ); - unpacker_sts ->MaskNoisyChannel( 1, 630, true ); - unpacker_sts ->MaskNoisyChannel( 1, 631, true ); - unpacker_sts ->MaskNoisyChannel( 1, 632, true ); - unpacker_sts ->MaskNoisyChannel( 1, 633, true ); - unpacker_sts ->MaskNoisyChannel( 1, 635, true ); - unpacker_sts ->MaskNoisyChannel( 1, 637, true ); - unpacker_sts ->MaskNoisyChannel( 1, 639, true ); - unpacker_sts ->MaskNoisyChannel( 1, 641, true ); - unpacker_sts ->MaskNoisyChannel( 1, 643, true ); - unpacker_sts ->MaskNoisyChannel( 1, 644, true ); - unpacker_sts ->MaskNoisyChannel( 1, 646, true ); - unpacker_sts ->MaskNoisyChannel( 1, 648, true ); - unpacker_sts ->MaskNoisyChannel( 1, 650, true ); - unpacker_sts ->MaskNoisyChannel( 1, 652, true ); - unpacker_sts ->MaskNoisyChannel( 1, 654, true ); - unpacker_sts ->MaskNoisyChannel( 1, 656, true ); - unpacker_sts ->MaskNoisyChannel( 1, 658, true ); - unpacker_sts ->MaskNoisyChannel( 1, 660, true ); - unpacker_sts ->MaskNoisyChannel( 1, 662, true ); - unpacker_sts ->MaskNoisyChannel( 1, 664, true ); - unpacker_sts ->MaskNoisyChannel( 1, 666, true ); - unpacker_sts ->MaskNoisyChannel( 1, 668, true ); - unpacker_sts ->MaskNoisyChannel( 1, 670, true ); - unpacker_sts ->MaskNoisyChannel( 1, 672, true ); - unpacker_sts ->MaskNoisyChannel( 1, 674, true ); - unpacker_sts ->MaskNoisyChannel( 1, 676, true ); - unpacker_sts ->MaskNoisyChannel( 1, 678, true ); - unpacker_sts ->MaskNoisyChannel( 1, 680, true ); - unpacker_sts ->MaskNoisyChannel( 1, 682, true ); - unpacker_sts ->MaskNoisyChannel( 1, 684, true ); - unpacker_sts ->MaskNoisyChannel( 1, 686, true ); - unpacker_sts ->MaskNoisyChannel( 1, 688, true ); - unpacker_sts ->MaskNoisyChannel( 1, 690, true ); - unpacker_sts ->MaskNoisyChannel( 1, 692, true ); - unpacker_sts ->MaskNoisyChannel( 1, 694, true ); - unpacker_sts ->MaskNoisyChannel( 1, 696, true ); - unpacker_sts ->MaskNoisyChannel( 1, 698, true ); - unpacker_sts ->MaskNoisyChannel( 1, 700, true ); - unpacker_sts ->MaskNoisyChannel( 1, 702, true ); - unpacker_sts ->MaskNoisyChannel( 1, 704, true ); - unpacker_sts ->MaskNoisyChannel( 1, 706, true ); - unpacker_sts ->MaskNoisyChannel( 1, 708, true ); - unpacker_sts ->MaskNoisyChannel( 1, 710, true ); - unpacker_sts ->MaskNoisyChannel( 1, 712, true ); - unpacker_sts ->MaskNoisyChannel( 1, 714, true ); - unpacker_sts ->MaskNoisyChannel( 1, 716, true ); - unpacker_sts ->MaskNoisyChannel( 1, 718, true ); - unpacker_sts ->MaskNoisyChannel( 1, 720, true ); - unpacker_sts ->MaskNoisyChannel( 1, 722, true ); - unpacker_sts ->MaskNoisyChannel( 1, 724, true ); - unpacker_sts ->MaskNoisyChannel( 1, 725, true ); - unpacker_sts ->MaskNoisyChannel( 1, 726, true ); - unpacker_sts ->MaskNoisyChannel( 1, 728, true ); - unpacker_sts ->MaskNoisyChannel( 1, 730, true ); - unpacker_sts ->MaskNoisyChannel( 1, 731, true ); - unpacker_sts ->MaskNoisyChannel( 1, 732, true ); - unpacker_sts ->MaskNoisyChannel( 1, 734, true ); - unpacker_sts ->MaskNoisyChannel( 1, 735, true ); - unpacker_sts ->MaskNoisyChannel( 1, 736, true ); - unpacker_sts ->MaskNoisyChannel( 1, 737, true ); - unpacker_sts ->MaskNoisyChannel( 1, 738, true ); - unpacker_sts ->MaskNoisyChannel( 1, 740, true ); - unpacker_sts ->MaskNoisyChannel( 1, 741, true ); - unpacker_sts ->MaskNoisyChannel( 1, 742, true ); - unpacker_sts ->MaskNoisyChannel( 1, 744, true ); - unpacker_sts ->MaskNoisyChannel( 1, 745, true ); - unpacker_sts ->MaskNoisyChannel( 1, 746, true ); - unpacker_sts ->MaskNoisyChannel( 1, 747, true ); - unpacker_sts ->MaskNoisyChannel( 1, 748, true ); - unpacker_sts ->MaskNoisyChannel( 1, 749, true ); - unpacker_sts ->MaskNoisyChannel( 1, 750, true ); - unpacker_sts ->MaskNoisyChannel( 1, 751, true ); - unpacker_sts ->MaskNoisyChannel( 1, 752, true ); - unpacker_sts ->MaskNoisyChannel( 1, 753, true ); - unpacker_sts ->MaskNoisyChannel( 1, 754, true ); - unpacker_sts ->MaskNoisyChannel( 1, 755, true ); - unpacker_sts ->MaskNoisyChannel( 1, 756, true ); - unpacker_sts ->MaskNoisyChannel( 1, 757, true ); - unpacker_sts ->MaskNoisyChannel( 1, 758, true ); - unpacker_sts ->MaskNoisyChannel( 1, 759, true ); - unpacker_sts ->MaskNoisyChannel( 1, 760, true ); - unpacker_sts ->MaskNoisyChannel( 1, 761, true ); - unpacker_sts ->MaskNoisyChannel( 1, 762, true ); - unpacker_sts ->MaskNoisyChannel( 1, 763, true ); - unpacker_sts ->MaskNoisyChannel( 1, 765, true ); - unpacker_sts ->MaskNoisyChannel( 1, 767, true ); - unpacker_sts ->MaskNoisyChannel( 1, 768, true ); - unpacker_sts ->MaskNoisyChannel( 1, 769, true ); - unpacker_sts ->MaskNoisyChannel( 1, 771, true ); - unpacker_sts ->MaskNoisyChannel( 1, 772, true ); - unpacker_sts ->MaskNoisyChannel( 1, 773, true ); - unpacker_sts ->MaskNoisyChannel( 1, 774, true ); - unpacker_sts ->MaskNoisyChannel( 1, 775, true ); - unpacker_sts ->MaskNoisyChannel( 1, 776, true ); - unpacker_sts ->MaskNoisyChannel( 1, 778, true ); - unpacker_sts ->MaskNoisyChannel( 1, 780, true ); - unpacker_sts ->MaskNoisyChannel( 1, 781, true ); - unpacker_sts ->MaskNoisyChannel( 1, 782, true ); - unpacker_sts ->MaskNoisyChannel( 1, 784, true ); - unpacker_sts ->MaskNoisyChannel( 1, 786, true ); - unpacker_sts ->MaskNoisyChannel( 1, 788, true ); - unpacker_sts ->MaskNoisyChannel( 1, 790, true ); - unpacker_sts ->MaskNoisyChannel( 1, 792, true ); - unpacker_sts ->MaskNoisyChannel( 1, 794, true ); - unpacker_sts ->MaskNoisyChannel( 1, 796, true ); - unpacker_sts ->MaskNoisyChannel( 1, 798, true ); - unpacker_sts ->MaskNoisyChannel( 1, 800, true ); - unpacker_sts ->MaskNoisyChannel( 1, 808, true ); - unpacker_sts ->MaskNoisyChannel( 1, 824, true ); - unpacker_sts ->MaskNoisyChannel( 1, 825, true ); - unpacker_sts ->MaskNoisyChannel( 1, 826, true ); - unpacker_sts ->MaskNoisyChannel( 1, 842, true ); - unpacker_sts ->MaskNoisyChannel( 1, 891, true ); - unpacker_sts ->MaskNoisyChannel( 1, 892, true ); - unpacker_sts ->MaskNoisyChannel( 1, 893, true ); - unpacker_sts ->MaskNoisyChannel( 1, 894, true ); - unpacker_sts ->MaskNoisyChannel( 1, 895, true ); - unpacker_sts ->MaskNoisyChannel( 1, 897, true ); - unpacker_sts ->MaskNoisyChannel( 1, 898, true ); - unpacker_sts ->MaskNoisyChannel( 1, 899, true ); - unpacker_sts ->MaskNoisyChannel( 1, 900, true ); - unpacker_sts ->MaskNoisyChannel( 1, 902, true ); - unpacker_sts ->MaskNoisyChannel( 1, 904, true ); - unpacker_sts ->MaskNoisyChannel( 1, 906, true ); - unpacker_sts ->MaskNoisyChannel( 1, 908, true ); - unpacker_sts ->MaskNoisyChannel( 1, 910, true ); - unpacker_sts ->MaskNoisyChannel( 1, 912, true ); - unpacker_sts ->MaskNoisyChannel( 1, 914, true ); - unpacker_sts ->MaskNoisyChannel( 1, 916, true ); - unpacker_sts ->MaskNoisyChannel( 1, 918, true ); - unpacker_sts ->MaskNoisyChannel( 1, 920, true ); - unpacker_sts ->MaskNoisyChannel( 1, 922, true ); - unpacker_sts ->MaskNoisyChannel( 1, 924, true ); - unpacker_sts ->MaskNoisyChannel( 1, 926, true ); - unpacker_sts ->MaskNoisyChannel( 1, 928, true ); - unpacker_sts ->MaskNoisyChannel( 1, 930, true ); - unpacker_sts ->MaskNoisyChannel( 1, 932, true ); - unpacker_sts ->MaskNoisyChannel( 1, 934, true ); - unpacker_sts ->MaskNoisyChannel( 1, 936, true ); - unpacker_sts ->MaskNoisyChannel( 1, 938, true ); - unpacker_sts ->MaskNoisyChannel( 1, 940, true ); - unpacker_sts ->MaskNoisyChannel( 1, 942, true ); - unpacker_sts ->MaskNoisyChannel( 1, 944, true ); - unpacker_sts ->MaskNoisyChannel( 1, 946, true ); - unpacker_sts ->MaskNoisyChannel( 1, 948, true ); - unpacker_sts ->MaskNoisyChannel( 1, 949, true ); - unpacker_sts ->MaskNoisyChannel( 1, 950, true ); - unpacker_sts ->MaskNoisyChannel( 1, 952, true ); - unpacker_sts ->MaskNoisyChannel( 1, 954, true ); - unpacker_sts ->MaskNoisyChannel( 1, 956, true ); - unpacker_sts ->MaskNoisyChannel( 1, 958, true ); - unpacker_sts ->MaskNoisyChannel( 1, 960, true ); - unpacker_sts ->MaskNoisyChannel( 1, 961, true ); - unpacker_sts ->MaskNoisyChannel( 1, 962, true ); - unpacker_sts ->MaskNoisyChannel( 1, 964, true ); - unpacker_sts ->MaskNoisyChannel( 1, 966, true ); - unpacker_sts ->MaskNoisyChannel( 1, 967, true ); - unpacker_sts ->MaskNoisyChannel( 1, 968, true ); - unpacker_sts ->MaskNoisyChannel( 1, 969, true ); - unpacker_sts ->MaskNoisyChannel( 1, 970, true ); - unpacker_sts ->MaskNoisyChannel( 1, 971, true ); - unpacker_sts ->MaskNoisyChannel( 1, 972, true ); - unpacker_sts ->MaskNoisyChannel( 1, 973, true ); - unpacker_sts ->MaskNoisyChannel( 1, 974, true ); - unpacker_sts ->MaskNoisyChannel( 1, 975, true ); - unpacker_sts ->MaskNoisyChannel( 1, 976, true ); - unpacker_sts ->MaskNoisyChannel( 1, 977, true ); - unpacker_sts ->MaskNoisyChannel( 1, 978, true ); - unpacker_sts ->MaskNoisyChannel( 1, 979, true ); - unpacker_sts ->MaskNoisyChannel( 1, 980, true ); - unpacker_sts ->MaskNoisyChannel( 1, 981, true ); - unpacker_sts ->MaskNoisyChannel( 1, 982, true ); - unpacker_sts ->MaskNoisyChannel( 1, 983, true ); - unpacker_sts ->MaskNoisyChannel( 1, 984, true ); - unpacker_sts ->MaskNoisyChannel( 1, 985, true ); - unpacker_sts ->MaskNoisyChannel( 1, 986, true ); - unpacker_sts ->MaskNoisyChannel( 1, 987, true ); - unpacker_sts ->MaskNoisyChannel( 1, 988, true ); - unpacker_sts ->MaskNoisyChannel( 1, 989, true ); - unpacker_sts ->MaskNoisyChannel( 1, 990, true ); - unpacker_sts ->MaskNoisyChannel( 1, 991, true ); - unpacker_sts ->MaskNoisyChannel( 1, 992, true ); - unpacker_sts ->MaskNoisyChannel( 1, 993, true ); - unpacker_sts ->MaskNoisyChannel( 1, 994, true ); - unpacker_sts ->MaskNoisyChannel( 1, 995, true ); - unpacker_sts ->MaskNoisyChannel( 1, 996, true ); - unpacker_sts ->MaskNoisyChannel( 1, 997, true ); - unpacker_sts ->MaskNoisyChannel( 1, 998, true ); - unpacker_sts ->MaskNoisyChannel( 1, 999, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1000, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1001, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1002, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1003, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1004, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1005, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1006, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1007, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1008, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1009, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1010, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1012, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1013, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1014, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1017, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1018, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1019, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1020, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1022, true ); - unpacker_sts ->MaskNoisyChannel( 1, 1023, true ); - unpacker_sts ->MaskNoisyChannel( 2, 0, true ); - unpacker_sts ->MaskNoisyChannel( 2, 2, true ); - unpacker_sts ->MaskNoisyChannel( 2, 3, true ); - unpacker_sts ->MaskNoisyChannel( 2, 4, true ); - unpacker_sts ->MaskNoisyChannel( 2, 6, true ); - unpacker_sts ->MaskNoisyChannel( 2, 8, true ); - unpacker_sts ->MaskNoisyChannel( 2, 10, true ); - unpacker_sts ->MaskNoisyChannel( 2, 12, true ); - unpacker_sts ->MaskNoisyChannel( 2, 14, true ); - unpacker_sts ->MaskNoisyChannel( 2, 16, true ); - unpacker_sts ->MaskNoisyChannel( 2, 17, true ); - unpacker_sts ->MaskNoisyChannel( 2, 18, true ); - unpacker_sts ->MaskNoisyChannel( 2, 19, true ); - unpacker_sts ->MaskNoisyChannel( 2, 20, true ); - unpacker_sts ->MaskNoisyChannel( 2, 21, true ); - unpacker_sts ->MaskNoisyChannel( 2, 22, true ); - unpacker_sts ->MaskNoisyChannel( 2, 23, true ); - unpacker_sts ->MaskNoisyChannel( 2, 24, true ); - unpacker_sts ->MaskNoisyChannel( 2, 26, true ); - unpacker_sts ->MaskNoisyChannel( 2, 27, true ); - unpacker_sts ->MaskNoisyChannel( 2, 28, true ); - unpacker_sts ->MaskNoisyChannel( 2, 30, true ); - unpacker_sts ->MaskNoisyChannel( 2, 31, true ); - unpacker_sts ->MaskNoisyChannel( 2, 32, true ); - unpacker_sts ->MaskNoisyChannel( 2, 33, true ); - unpacker_sts ->MaskNoisyChannel( 2, 34, true ); - unpacker_sts ->MaskNoisyChannel( 2, 36, true ); - unpacker_sts ->MaskNoisyChannel( 2, 37, true ); - unpacker_sts ->MaskNoisyChannel( 2, 38, true ); - unpacker_sts ->MaskNoisyChannel( 2, 40, true ); - unpacker_sts ->MaskNoisyChannel( 2, 41, true ); - unpacker_sts ->MaskNoisyChannel( 2, 42, true ); - unpacker_sts ->MaskNoisyChannel( 2, 43, true ); - unpacker_sts ->MaskNoisyChannel( 2, 44, true ); - unpacker_sts ->MaskNoisyChannel( 2, 45, true ); - unpacker_sts ->MaskNoisyChannel( 2, 46, true ); - unpacker_sts ->MaskNoisyChannel( 2, 47, true ); - unpacker_sts ->MaskNoisyChannel( 2, 48, true ); - unpacker_sts ->MaskNoisyChannel( 2, 49, true ); - unpacker_sts ->MaskNoisyChannel( 2, 50, true ); - unpacker_sts ->MaskNoisyChannel( 2, 51, true ); - unpacker_sts ->MaskNoisyChannel( 2, 52, true ); - unpacker_sts ->MaskNoisyChannel( 2, 53, true ); - unpacker_sts ->MaskNoisyChannel( 2, 54, true ); - unpacker_sts ->MaskNoisyChannel( 2, 55, true ); - unpacker_sts ->MaskNoisyChannel( 2, 56, true ); - unpacker_sts ->MaskNoisyChannel( 2, 57, true ); - unpacker_sts ->MaskNoisyChannel( 2, 58, true ); - unpacker_sts ->MaskNoisyChannel( 2, 59, true ); - unpacker_sts ->MaskNoisyChannel( 2, 60, true ); - unpacker_sts ->MaskNoisyChannel( 2, 61, true ); - unpacker_sts ->MaskNoisyChannel( 2, 62, true ); - unpacker_sts ->MaskNoisyChannel( 2, 63, true ); - unpacker_sts ->MaskNoisyChannel( 2, 64, true ); - unpacker_sts ->MaskNoisyChannel( 2, 65, true ); - unpacker_sts ->MaskNoisyChannel( 2, 66, true ); - unpacker_sts ->MaskNoisyChannel( 2, 67, true ); - unpacker_sts ->MaskNoisyChannel( 2, 68, true ); - unpacker_sts ->MaskNoisyChannel( 2, 69, true ); - unpacker_sts ->MaskNoisyChannel( 2, 70, true ); - unpacker_sts ->MaskNoisyChannel( 2, 71, true ); - unpacker_sts ->MaskNoisyChannel( 2, 72, true ); - unpacker_sts ->MaskNoisyChannel( 2, 73, true ); - unpacker_sts ->MaskNoisyChannel( 2, 74, true ); - unpacker_sts ->MaskNoisyChannel( 2, 75, true ); - unpacker_sts ->MaskNoisyChannel( 2, 76, true ); - unpacker_sts ->MaskNoisyChannel( 2, 77, true ); - unpacker_sts ->MaskNoisyChannel( 2, 78, true ); - unpacker_sts ->MaskNoisyChannel( 2, 79, true ); - unpacker_sts ->MaskNoisyChannel( 2, 80, true ); - unpacker_sts ->MaskNoisyChannel( 2, 81, true ); - unpacker_sts ->MaskNoisyChannel( 2, 82, true ); - unpacker_sts ->MaskNoisyChannel( 2, 83, true ); - unpacker_sts ->MaskNoisyChannel( 2, 84, true ); - unpacker_sts ->MaskNoisyChannel( 2, 85, true ); - unpacker_sts ->MaskNoisyChannel( 2, 86, true ); - unpacker_sts ->MaskNoisyChannel( 2, 87, true ); - unpacker_sts ->MaskNoisyChannel( 2, 88, true ); - unpacker_sts ->MaskNoisyChannel( 2, 89, true ); - unpacker_sts ->MaskNoisyChannel( 2, 90, true ); - unpacker_sts ->MaskNoisyChannel( 2, 91, true ); - unpacker_sts ->MaskNoisyChannel( 2, 92, true ); - unpacker_sts ->MaskNoisyChannel( 2, 93, true ); - unpacker_sts ->MaskNoisyChannel( 2, 94, true ); - unpacker_sts ->MaskNoisyChannel( 2, 95, true ); - unpacker_sts ->MaskNoisyChannel( 2, 96, true ); - unpacker_sts ->MaskNoisyChannel( 2, 97, true ); - unpacker_sts ->MaskNoisyChannel( 2, 98, true ); - unpacker_sts ->MaskNoisyChannel( 2, 99, true ); - unpacker_sts ->MaskNoisyChannel( 2, 100, true ); - unpacker_sts ->MaskNoisyChannel( 2, 101, true ); - unpacker_sts ->MaskNoisyChannel( 2, 102, true ); - unpacker_sts ->MaskNoisyChannel( 2, 103, true ); - unpacker_sts ->MaskNoisyChannel( 2, 104, true ); - unpacker_sts ->MaskNoisyChannel( 2, 105, true ); - unpacker_sts ->MaskNoisyChannel( 2, 106, true ); - unpacker_sts ->MaskNoisyChannel( 2, 107, true ); - unpacker_sts ->MaskNoisyChannel( 2, 108, true ); - unpacker_sts ->MaskNoisyChannel( 2, 109, true ); - unpacker_sts ->MaskNoisyChannel( 2, 110, true ); - unpacker_sts ->MaskNoisyChannel( 2, 111, true ); - unpacker_sts ->MaskNoisyChannel( 2, 112, true ); - unpacker_sts ->MaskNoisyChannel( 2, 113, true ); - unpacker_sts ->MaskNoisyChannel( 2, 114, true ); - unpacker_sts ->MaskNoisyChannel( 2, 115, true ); - unpacker_sts ->MaskNoisyChannel( 2, 116, true ); - unpacker_sts ->MaskNoisyChannel( 2, 117, true ); - unpacker_sts ->MaskNoisyChannel( 2, 118, true ); - unpacker_sts ->MaskNoisyChannel( 2, 119, true ); - unpacker_sts ->MaskNoisyChannel( 2, 120, true ); - unpacker_sts ->MaskNoisyChannel( 2, 121, true ); - unpacker_sts ->MaskNoisyChannel( 2, 122, true ); - unpacker_sts ->MaskNoisyChannel( 2, 124, true ); - unpacker_sts ->MaskNoisyChannel( 2, 129, true ); - unpacker_sts ->MaskNoisyChannel( 2, 132, true ); - unpacker_sts ->MaskNoisyChannel( 2, 140, true ); - unpacker_sts ->MaskNoisyChannel( 2, 149, true ); - unpacker_sts ->MaskNoisyChannel( 2, 152, true ); - unpacker_sts ->MaskNoisyChannel( 2, 154, true ); - unpacker_sts ->MaskNoisyChannel( 2, 156, true ); - unpacker_sts ->MaskNoisyChannel( 2, 157, true ); - unpacker_sts ->MaskNoisyChannel( 2, 160, true ); - unpacker_sts ->MaskNoisyChannel( 2, 161, true ); - unpacker_sts ->MaskNoisyChannel( 2, 162, true ); - unpacker_sts ->MaskNoisyChannel( 2, 163, true ); - unpacker_sts ->MaskNoisyChannel( 2, 166, true ); - unpacker_sts ->MaskNoisyChannel( 2, 170, true ); - unpacker_sts ->MaskNoisyChannel( 2, 172, true ); - unpacker_sts ->MaskNoisyChannel( 2, 173, true ); - unpacker_sts ->MaskNoisyChannel( 2, 174, true ); - unpacker_sts ->MaskNoisyChannel( 2, 175, true ); - unpacker_sts ->MaskNoisyChannel( 2, 176, true ); - unpacker_sts ->MaskNoisyChannel( 2, 178, true ); - unpacker_sts ->MaskNoisyChannel( 2, 180, true ); - unpacker_sts ->MaskNoisyChannel( 2, 182, true ); - unpacker_sts ->MaskNoisyChannel( 2, 184, true ); - unpacker_sts ->MaskNoisyChannel( 2, 185, true ); - unpacker_sts ->MaskNoisyChannel( 2, 186, true ); - unpacker_sts ->MaskNoisyChannel( 2, 187, true ); - unpacker_sts ->MaskNoisyChannel( 2, 188, true ); - unpacker_sts ->MaskNoisyChannel( 2, 189, true ); - unpacker_sts ->MaskNoisyChannel( 2, 190, true ); - unpacker_sts ->MaskNoisyChannel( 2, 191, true ); - unpacker_sts ->MaskNoisyChannel( 2, 192, true ); - unpacker_sts ->MaskNoisyChannel( 2, 193, true ); - unpacker_sts ->MaskNoisyChannel( 2, 194, true ); - unpacker_sts ->MaskNoisyChannel( 2, 195, true ); - unpacker_sts ->MaskNoisyChannel( 2, 196, true ); - unpacker_sts ->MaskNoisyChannel( 2, 197, true ); - unpacker_sts ->MaskNoisyChannel( 2, 198, true ); - unpacker_sts ->MaskNoisyChannel( 2, 199, true ); - unpacker_sts ->MaskNoisyChannel( 2, 200, true ); - unpacker_sts ->MaskNoisyChannel( 2, 201, true ); - unpacker_sts ->MaskNoisyChannel( 2, 202, true ); - unpacker_sts ->MaskNoisyChannel( 2, 203, true ); - unpacker_sts ->MaskNoisyChannel( 2, 204, true ); - unpacker_sts ->MaskNoisyChannel( 2, 205, true ); - unpacker_sts ->MaskNoisyChannel( 2, 206, true ); - unpacker_sts ->MaskNoisyChannel( 2, 207, true ); - unpacker_sts ->MaskNoisyChannel( 2, 208, true ); - unpacker_sts ->MaskNoisyChannel( 2, 209, true ); - unpacker_sts ->MaskNoisyChannel( 2, 210, true ); - unpacker_sts ->MaskNoisyChannel( 2, 211, true ); - unpacker_sts ->MaskNoisyChannel( 2, 212, true ); - unpacker_sts ->MaskNoisyChannel( 2, 213, true ); - unpacker_sts ->MaskNoisyChannel( 2, 214, true ); - unpacker_sts ->MaskNoisyChannel( 2, 215, true ); - unpacker_sts ->MaskNoisyChannel( 2, 216, true ); - unpacker_sts ->MaskNoisyChannel( 2, 217, true ); - unpacker_sts ->MaskNoisyChannel( 2, 218, true ); - unpacker_sts ->MaskNoisyChannel( 2, 219, true ); - unpacker_sts ->MaskNoisyChannel( 2, 220, true ); - unpacker_sts ->MaskNoisyChannel( 2, 221, true ); - unpacker_sts ->MaskNoisyChannel( 2, 222, true ); - unpacker_sts ->MaskNoisyChannel( 2, 223, true ); - unpacker_sts ->MaskNoisyChannel( 2, 224, true ); - unpacker_sts ->MaskNoisyChannel( 2, 225, true ); - unpacker_sts ->MaskNoisyChannel( 2, 226, true ); - unpacker_sts ->MaskNoisyChannel( 2, 227, true ); - unpacker_sts ->MaskNoisyChannel( 2, 228, true ); - unpacker_sts ->MaskNoisyChannel( 2, 229, true ); - unpacker_sts ->MaskNoisyChannel( 2, 230, true ); - unpacker_sts ->MaskNoisyChannel( 2, 231, true ); - unpacker_sts ->MaskNoisyChannel( 2, 232, true ); - unpacker_sts ->MaskNoisyChannel( 2, 233, true ); - unpacker_sts ->MaskNoisyChannel( 2, 234, true ); - unpacker_sts ->MaskNoisyChannel( 2, 235, true ); - unpacker_sts ->MaskNoisyChannel( 2, 236, true ); - unpacker_sts ->MaskNoisyChannel( 2, 237, true ); - unpacker_sts ->MaskNoisyChannel( 2, 238, true ); - unpacker_sts ->MaskNoisyChannel( 2, 239, true ); - unpacker_sts ->MaskNoisyChannel( 2, 240, true ); - unpacker_sts ->MaskNoisyChannel( 2, 241, true ); - unpacker_sts ->MaskNoisyChannel( 2, 242, true ); - unpacker_sts ->MaskNoisyChannel( 2, 243, true ); - unpacker_sts ->MaskNoisyChannel( 2, 244, true ); - unpacker_sts ->MaskNoisyChannel( 2, 245, true ); - unpacker_sts ->MaskNoisyChannel( 2, 246, true ); - unpacker_sts ->MaskNoisyChannel( 2, 247, true ); - unpacker_sts ->MaskNoisyChannel( 2, 248, true ); - unpacker_sts ->MaskNoisyChannel( 2, 249, true ); - unpacker_sts ->MaskNoisyChannel( 2, 250, true ); - unpacker_sts ->MaskNoisyChannel( 2, 251, true ); - unpacker_sts ->MaskNoisyChannel( 2, 257, true ); - unpacker_sts ->MaskNoisyChannel( 2, 258, true ); - unpacker_sts ->MaskNoisyChannel( 2, 259, true ); - unpacker_sts ->MaskNoisyChannel( 2, 260, true ); - unpacker_sts ->MaskNoisyChannel( 2, 262, true ); - unpacker_sts ->MaskNoisyChannel( 2, 264, true ); - unpacker_sts ->MaskNoisyChannel( 2, 266, true ); - unpacker_sts ->MaskNoisyChannel( 2, 268, true ); - unpacker_sts ->MaskNoisyChannel( 2, 270, true ); - unpacker_sts ->MaskNoisyChannel( 2, 272, true ); - unpacker_sts ->MaskNoisyChannel( 2, 274, true ); - unpacker_sts ->MaskNoisyChannel( 2, 276, true ); - unpacker_sts ->MaskNoisyChannel( 2, 278, true ); - unpacker_sts ->MaskNoisyChannel( 2, 280, true ); - unpacker_sts ->MaskNoisyChannel( 2, 282, true ); - unpacker_sts ->MaskNoisyChannel( 2, 284, true ); - unpacker_sts ->MaskNoisyChannel( 2, 286, true ); - unpacker_sts ->MaskNoisyChannel( 2, 288, true ); - unpacker_sts ->MaskNoisyChannel( 2, 290, true ); - unpacker_sts ->MaskNoisyChannel( 2, 292, true ); - unpacker_sts ->MaskNoisyChannel( 2, 294, true ); - unpacker_sts ->MaskNoisyChannel( 2, 296, true ); - unpacker_sts ->MaskNoisyChannel( 2, 298, true ); - unpacker_sts ->MaskNoisyChannel( 2, 300, true ); - unpacker_sts ->MaskNoisyChannel( 2, 302, true ); - unpacker_sts ->MaskNoisyChannel( 2, 304, true ); - unpacker_sts ->MaskNoisyChannel( 2, 306, true ); - unpacker_sts ->MaskNoisyChannel( 2, 307, true ); - unpacker_sts ->MaskNoisyChannel( 2, 308, true ); - unpacker_sts ->MaskNoisyChannel( 2, 310, true ); - unpacker_sts ->MaskNoisyChannel( 2, 312, true ); - unpacker_sts ->MaskNoisyChannel( 2, 314, true ); - unpacker_sts ->MaskNoisyChannel( 2, 316, true ); - unpacker_sts ->MaskNoisyChannel( 2, 318, true ); - unpacker_sts ->MaskNoisyChannel( 2, 320, true ); - unpacker_sts ->MaskNoisyChannel( 2, 322, true ); - unpacker_sts ->MaskNoisyChannel( 2, 324, true ); - unpacker_sts ->MaskNoisyChannel( 2, 325, true ); - unpacker_sts ->MaskNoisyChannel( 2, 326, true ); - unpacker_sts ->MaskNoisyChannel( 2, 328, true ); - unpacker_sts ->MaskNoisyChannel( 2, 329, true ); - unpacker_sts ->MaskNoisyChannel( 2, 330, true ); - unpacker_sts ->MaskNoisyChannel( 2, 332, true ); - unpacker_sts ->MaskNoisyChannel( 2, 333, true ); - unpacker_sts ->MaskNoisyChannel( 2, 334, true ); - unpacker_sts ->MaskNoisyChannel( 2, 336, true ); - unpacker_sts ->MaskNoisyChannel( 2, 337, true ); - unpacker_sts ->MaskNoisyChannel( 2, 338, true ); - unpacker_sts ->MaskNoisyChannel( 2, 339, true ); - unpacker_sts ->MaskNoisyChannel( 2, 340, true ); - unpacker_sts ->MaskNoisyChannel( 2, 341, true ); - unpacker_sts ->MaskNoisyChannel( 2, 342, true ); - unpacker_sts ->MaskNoisyChannel( 2, 344, true ); - unpacker_sts ->MaskNoisyChannel( 2, 345, true ); - unpacker_sts ->MaskNoisyChannel( 2, 346, true ); - unpacker_sts ->MaskNoisyChannel( 2, 347, true ); - unpacker_sts ->MaskNoisyChannel( 2, 348, true ); - unpacker_sts ->MaskNoisyChannel( 2, 349, true ); - unpacker_sts ->MaskNoisyChannel( 2, 350, true ); - unpacker_sts ->MaskNoisyChannel( 2, 351, true ); - unpacker_sts ->MaskNoisyChannel( 2, 352, true ); - unpacker_sts ->MaskNoisyChannel( 2, 353, true ); - unpacker_sts ->MaskNoisyChannel( 2, 354, true ); - unpacker_sts ->MaskNoisyChannel( 2, 355, true ); - unpacker_sts ->MaskNoisyChannel( 2, 356, true ); - unpacker_sts ->MaskNoisyChannel( 2, 357, true ); - unpacker_sts ->MaskNoisyChannel( 2, 358, true ); - unpacker_sts ->MaskNoisyChannel( 2, 359, true ); - unpacker_sts ->MaskNoisyChannel( 2, 360, true ); - unpacker_sts ->MaskNoisyChannel( 2, 361, true ); - unpacker_sts ->MaskNoisyChannel( 2, 362, true ); - unpacker_sts ->MaskNoisyChannel( 2, 363, true ); - unpacker_sts ->MaskNoisyChannel( 2, 364, true ); - unpacker_sts ->MaskNoisyChannel( 2, 365, true ); - unpacker_sts ->MaskNoisyChannel( 2, 366, true ); - unpacker_sts ->MaskNoisyChannel( 2, 367, true ); - unpacker_sts ->MaskNoisyChannel( 2, 368, true ); - unpacker_sts ->MaskNoisyChannel( 2, 369, true ); - unpacker_sts ->MaskNoisyChannel( 2, 370, true ); - unpacker_sts ->MaskNoisyChannel( 2, 371, true ); - unpacker_sts ->MaskNoisyChannel( 2, 372, true ); - unpacker_sts ->MaskNoisyChannel( 2, 373, true ); - unpacker_sts ->MaskNoisyChannel( 2, 374, true ); - unpacker_sts ->MaskNoisyChannel( 2, 375, true ); - unpacker_sts ->MaskNoisyChannel( 2, 376, true ); - unpacker_sts ->MaskNoisyChannel( 2, 377, true ); - unpacker_sts ->MaskNoisyChannel( 2, 378, true ); - unpacker_sts ->MaskNoisyChannel( 2, 379, true ); - unpacker_sts ->MaskNoisyChannel( 2, 380, true ); - unpacker_sts ->MaskNoisyChannel( 2, 381, true ); - unpacker_sts ->MaskNoisyChannel( 2, 382, true ); - unpacker_sts ->MaskNoisyChannel( 2, 383, true ); - unpacker_sts ->MaskNoisyChannel( 2, 385, true ); - unpacker_sts ->MaskNoisyChannel( 2, 386, true ); - unpacker_sts ->MaskNoisyChannel( 2, 388, true ); - unpacker_sts ->MaskNoisyChannel( 2, 390, true ); - unpacker_sts ->MaskNoisyChannel( 2, 392, true ); - unpacker_sts ->MaskNoisyChannel( 2, 394, true ); - unpacker_sts ->MaskNoisyChannel( 2, 396, true ); - unpacker_sts ->MaskNoisyChannel( 2, 398, true ); - unpacker_sts ->MaskNoisyChannel( 2, 400, true ); - unpacker_sts ->MaskNoisyChannel( 2, 402, true ); - unpacker_sts ->MaskNoisyChannel( 2, 404, true ); - unpacker_sts ->MaskNoisyChannel( 2, 406, true ); - unpacker_sts ->MaskNoisyChannel( 2, 408, true ); - unpacker_sts ->MaskNoisyChannel( 2, 410, true ); - unpacker_sts ->MaskNoisyChannel( 2, 412, true ); - unpacker_sts ->MaskNoisyChannel( 2, 414, true ); - unpacker_sts ->MaskNoisyChannel( 2, 416, true ); - unpacker_sts ->MaskNoisyChannel( 2, 418, true ); - unpacker_sts ->MaskNoisyChannel( 2, 420, true ); - unpacker_sts ->MaskNoisyChannel( 2, 422, true ); - unpacker_sts ->MaskNoisyChannel( 2, 424, true ); - unpacker_sts ->MaskNoisyChannel( 2, 426, true ); - unpacker_sts ->MaskNoisyChannel( 2, 428, true ); - unpacker_sts ->MaskNoisyChannel( 2, 430, true ); - unpacker_sts ->MaskNoisyChannel( 2, 432, true ); - unpacker_sts ->MaskNoisyChannel( 2, 434, true ); - unpacker_sts ->MaskNoisyChannel( 2, 436, true ); - unpacker_sts ->MaskNoisyChannel( 2, 438, true ); - unpacker_sts ->MaskNoisyChannel( 2, 440, true ); - unpacker_sts ->MaskNoisyChannel( 2, 442, true ); - unpacker_sts ->MaskNoisyChannel( 2, 444, true ); - unpacker_sts ->MaskNoisyChannel( 2, 446, true ); - unpacker_sts ->MaskNoisyChannel( 2, 448, true ); - unpacker_sts ->MaskNoisyChannel( 2, 450, true ); - unpacker_sts ->MaskNoisyChannel( 2, 452, true ); - unpacker_sts ->MaskNoisyChannel( 2, 454, true ); - unpacker_sts ->MaskNoisyChannel( 2, 456, true ); - unpacker_sts ->MaskNoisyChannel( 2, 458, true ); - unpacker_sts ->MaskNoisyChannel( 2, 460, true ); - unpacker_sts ->MaskNoisyChannel( 2, 462, true ); - unpacker_sts ->MaskNoisyChannel( 2, 464, true ); - unpacker_sts ->MaskNoisyChannel( 2, 466, true ); - unpacker_sts ->MaskNoisyChannel( 2, 468, true ); - unpacker_sts ->MaskNoisyChannel( 2, 470, true ); - unpacker_sts ->MaskNoisyChannel( 2, 472, true ); - unpacker_sts ->MaskNoisyChannel( 2, 474, true ); - unpacker_sts ->MaskNoisyChannel( 2, 476, true ); - unpacker_sts ->MaskNoisyChannel( 2, 478, true ); - unpacker_sts ->MaskNoisyChannel( 2, 480, true ); - unpacker_sts ->MaskNoisyChannel( 2, 482, true ); - unpacker_sts ->MaskNoisyChannel( 2, 484, true ); - unpacker_sts ->MaskNoisyChannel( 2, 486, true ); - unpacker_sts ->MaskNoisyChannel( 2, 488, true ); - unpacker_sts ->MaskNoisyChannel( 2, 490, true ); - unpacker_sts ->MaskNoisyChannel( 2, 492, true ); - unpacker_sts ->MaskNoisyChannel( 2, 494, true ); - unpacker_sts ->MaskNoisyChannel( 2, 496, true ); - unpacker_sts ->MaskNoisyChannel( 2, 498, true ); - unpacker_sts ->MaskNoisyChannel( 2, 500, true ); - unpacker_sts ->MaskNoisyChannel( 2, 502, true ); - unpacker_sts ->MaskNoisyChannel( 2, 504, true ); - unpacker_sts ->MaskNoisyChannel( 2, 505, true ); - unpacker_sts ->MaskNoisyChannel( 2, 506, true ); - unpacker_sts ->MaskNoisyChannel( 2, 507, true ); - unpacker_sts ->MaskNoisyChannel( 2, 509, true ); - unpacker_sts ->MaskNoisyChannel( 2, 511, true ); - unpacker_sts ->MaskNoisyChannel( 2, 512, true ); - unpacker_sts ->MaskNoisyChannel( 2, 513, true ); - unpacker_sts ->MaskNoisyChannel( 2, 514, true ); - unpacker_sts ->MaskNoisyChannel( 2, 516, true ); - unpacker_sts ->MaskNoisyChannel( 2, 517, true ); - unpacker_sts ->MaskNoisyChannel( 2, 518, true ); - unpacker_sts ->MaskNoisyChannel( 2, 520, true ); - unpacker_sts ->MaskNoisyChannel( 2, 522, true ); - unpacker_sts ->MaskNoisyChannel( 2, 524, true ); - unpacker_sts ->MaskNoisyChannel( 2, 526, true ); - unpacker_sts ->MaskNoisyChannel( 2, 528, true ); - unpacker_sts ->MaskNoisyChannel( 2, 530, true ); - unpacker_sts ->MaskNoisyChannel( 2, 532, true ); - unpacker_sts ->MaskNoisyChannel( 2, 534, true ); - unpacker_sts ->MaskNoisyChannel( 2, 536, true ); - unpacker_sts ->MaskNoisyChannel( 2, 538, true ); - unpacker_sts ->MaskNoisyChannel( 2, 540, true ); - unpacker_sts ->MaskNoisyChannel( 2, 542, true ); - unpacker_sts ->MaskNoisyChannel( 2, 544, true ); - unpacker_sts ->MaskNoisyChannel( 2, 546, true ); - unpacker_sts ->MaskNoisyChannel( 2, 548, true ); - unpacker_sts ->MaskNoisyChannel( 2, 550, true ); - unpacker_sts ->MaskNoisyChannel( 2, 552, true ); - unpacker_sts ->MaskNoisyChannel( 2, 553, true ); - unpacker_sts ->MaskNoisyChannel( 2, 554, true ); - unpacker_sts ->MaskNoisyChannel( 2, 556, true ); - unpacker_sts ->MaskNoisyChannel( 2, 557, true ); - unpacker_sts ->MaskNoisyChannel( 2, 558, true ); - unpacker_sts ->MaskNoisyChannel( 2, 559, true ); - unpacker_sts ->MaskNoisyChannel( 2, 560, true ); - unpacker_sts ->MaskNoisyChannel( 2, 561, true ); - unpacker_sts ->MaskNoisyChannel( 2, 562, true ); - unpacker_sts ->MaskNoisyChannel( 2, 563, true ); - unpacker_sts ->MaskNoisyChannel( 2, 564, true ); - unpacker_sts ->MaskNoisyChannel( 2, 565, true ); - unpacker_sts ->MaskNoisyChannel( 2, 566, true ); - unpacker_sts ->MaskNoisyChannel( 2, 567, true ); - unpacker_sts ->MaskNoisyChannel( 2, 568, true ); - unpacker_sts ->MaskNoisyChannel( 2, 569, true ); - unpacker_sts ->MaskNoisyChannel( 2, 570, true ); - unpacker_sts ->MaskNoisyChannel( 2, 571, true ); - unpacker_sts ->MaskNoisyChannel( 2, 572, true ); - unpacker_sts ->MaskNoisyChannel( 2, 574, true ); - unpacker_sts ->MaskNoisyChannel( 2, 575, true ); - unpacker_sts ->MaskNoisyChannel( 2, 576, true ); - unpacker_sts ->MaskNoisyChannel( 2, 577, true ); - unpacker_sts ->MaskNoisyChannel( 2, 578, true ); - unpacker_sts ->MaskNoisyChannel( 2, 579, true ); - unpacker_sts ->MaskNoisyChannel( 2, 580, true ); - unpacker_sts ->MaskNoisyChannel( 2, 581, true ); - unpacker_sts ->MaskNoisyChannel( 2, 582, true ); - unpacker_sts ->MaskNoisyChannel( 2, 583, true ); - unpacker_sts ->MaskNoisyChannel( 2, 584, true ); - unpacker_sts ->MaskNoisyChannel( 2, 585, true ); - unpacker_sts ->MaskNoisyChannel( 2, 586, true ); - unpacker_sts ->MaskNoisyChannel( 2, 587, true ); - unpacker_sts ->MaskNoisyChannel( 2, 588, true ); - unpacker_sts ->MaskNoisyChannel( 2, 589, true ); - unpacker_sts ->MaskNoisyChannel( 2, 590, true ); - unpacker_sts ->MaskNoisyChannel( 2, 591, true ); - unpacker_sts ->MaskNoisyChannel( 2, 592, true ); - unpacker_sts ->MaskNoisyChannel( 2, 593, true ); - unpacker_sts ->MaskNoisyChannel( 2, 594, true ); - unpacker_sts ->MaskNoisyChannel( 2, 595, true ); - unpacker_sts ->MaskNoisyChannel( 2, 596, true ); - unpacker_sts ->MaskNoisyChannel( 2, 597, true ); - unpacker_sts ->MaskNoisyChannel( 2, 598, true ); - unpacker_sts ->MaskNoisyChannel( 2, 599, true ); - unpacker_sts ->MaskNoisyChannel( 2, 600, true ); - unpacker_sts ->MaskNoisyChannel( 2, 601, true ); - unpacker_sts ->MaskNoisyChannel( 2, 602, true ); - unpacker_sts ->MaskNoisyChannel( 2, 603, true ); - unpacker_sts ->MaskNoisyChannel( 2, 604, true ); - unpacker_sts ->MaskNoisyChannel( 2, 605, true ); - unpacker_sts ->MaskNoisyChannel( 2, 606, true ); - unpacker_sts ->MaskNoisyChannel( 2, 607, true ); - unpacker_sts ->MaskNoisyChannel( 2, 608, true ); - unpacker_sts ->MaskNoisyChannel( 2, 609, true ); - unpacker_sts ->MaskNoisyChannel( 2, 611, true ); - unpacker_sts ->MaskNoisyChannel( 2, 612, true ); - unpacker_sts ->MaskNoisyChannel( 2, 613, true ); - unpacker_sts ->MaskNoisyChannel( 2, 614, true ); - unpacker_sts ->MaskNoisyChannel( 2, 615, true ); - unpacker_sts ->MaskNoisyChannel( 2, 616, true ); - unpacker_sts ->MaskNoisyChannel( 2, 617, true ); - unpacker_sts ->MaskNoisyChannel( 2, 618, true ); - unpacker_sts ->MaskNoisyChannel( 2, 619, true ); - unpacker_sts ->MaskNoisyChannel( 2, 620, true ); - unpacker_sts ->MaskNoisyChannel( 2, 621, true ); - unpacker_sts ->MaskNoisyChannel( 2, 622, true ); - unpacker_sts ->MaskNoisyChannel( 2, 623, true ); - unpacker_sts ->MaskNoisyChannel( 2, 624, true ); - unpacker_sts ->MaskNoisyChannel( 2, 625, true ); - unpacker_sts ->MaskNoisyChannel( 2, 626, true ); - unpacker_sts ->MaskNoisyChannel( 2, 627, true ); - unpacker_sts ->MaskNoisyChannel( 2, 628, true ); - unpacker_sts ->MaskNoisyChannel( 2, 629, true ); - unpacker_sts ->MaskNoisyChannel( 2, 630, true ); - unpacker_sts ->MaskNoisyChannel( 2, 631, true ); - unpacker_sts ->MaskNoisyChannel( 2, 632, true ); - unpacker_sts ->MaskNoisyChannel( 2, 633, true ); - unpacker_sts ->MaskNoisyChannel( 2, 634, true ); - unpacker_sts ->MaskNoisyChannel( 2, 635, true ); - unpacker_sts ->MaskNoisyChannel( 2, 636, true ); - unpacker_sts ->MaskNoisyChannel( 2, 637, true ); - unpacker_sts ->MaskNoisyChannel( 2, 639, true ); -*/ - /// Mask ASIC with broken ADC - unpacker_sts ->MaskNoisyChannel( 2, 640, true ); - unpacker_sts ->MaskNoisyChannel( 2, 641, true ); - unpacker_sts ->MaskNoisyChannel( 2, 642, true ); - unpacker_sts ->MaskNoisyChannel( 2, 643, true ); - unpacker_sts ->MaskNoisyChannel( 2, 644, true ); - unpacker_sts ->MaskNoisyChannel( 2, 645, true ); - unpacker_sts ->MaskNoisyChannel( 2, 646, true ); - unpacker_sts ->MaskNoisyChannel( 2, 647, true ); - unpacker_sts ->MaskNoisyChannel( 2, 648, true ); - unpacker_sts ->MaskNoisyChannel( 2, 649, true ); - unpacker_sts ->MaskNoisyChannel( 2, 650, true ); - unpacker_sts ->MaskNoisyChannel( 2, 651, true ); - unpacker_sts ->MaskNoisyChannel( 2, 652, true ); - unpacker_sts ->MaskNoisyChannel( 2, 653, true ); - unpacker_sts ->MaskNoisyChannel( 2, 654, true ); - unpacker_sts ->MaskNoisyChannel( 2, 655, true ); - unpacker_sts ->MaskNoisyChannel( 2, 656, true ); - unpacker_sts ->MaskNoisyChannel( 2, 657, true ); - unpacker_sts ->MaskNoisyChannel( 2, 658, true ); - unpacker_sts ->MaskNoisyChannel( 2, 659, true ); - unpacker_sts ->MaskNoisyChannel( 2, 660, true ); - unpacker_sts ->MaskNoisyChannel( 2, 661, true ); - unpacker_sts ->MaskNoisyChannel( 2, 662, true ); - unpacker_sts ->MaskNoisyChannel( 2, 663, true ); - unpacker_sts ->MaskNoisyChannel( 2, 664, true ); - unpacker_sts ->MaskNoisyChannel( 2, 665, true ); - unpacker_sts ->MaskNoisyChannel( 2, 666, true ); - unpacker_sts ->MaskNoisyChannel( 2, 667, true ); - unpacker_sts ->MaskNoisyChannel( 2, 668, true ); - unpacker_sts ->MaskNoisyChannel( 2, 669, true ); - unpacker_sts ->MaskNoisyChannel( 2, 670, true ); - unpacker_sts ->MaskNoisyChannel( 2, 671, true ); - unpacker_sts ->MaskNoisyChannel( 2, 672, true ); - unpacker_sts ->MaskNoisyChannel( 2, 673, true ); - unpacker_sts ->MaskNoisyChannel( 2, 674, true ); - unpacker_sts ->MaskNoisyChannel( 2, 675, true ); - unpacker_sts ->MaskNoisyChannel( 2, 676, true ); - unpacker_sts ->MaskNoisyChannel( 2, 677, true ); - unpacker_sts ->MaskNoisyChannel( 2, 678, true ); - unpacker_sts ->MaskNoisyChannel( 2, 679, true ); - unpacker_sts ->MaskNoisyChannel( 2, 680, true ); - unpacker_sts ->MaskNoisyChannel( 2, 681, true ); - unpacker_sts ->MaskNoisyChannel( 2, 682, true ); - unpacker_sts ->MaskNoisyChannel( 2, 683, true ); - unpacker_sts ->MaskNoisyChannel( 2, 684, true ); - unpacker_sts ->MaskNoisyChannel( 2, 685, true ); - unpacker_sts ->MaskNoisyChannel( 2, 686, true ); - unpacker_sts ->MaskNoisyChannel( 2, 687, true ); - unpacker_sts ->MaskNoisyChannel( 2, 688, true ); - unpacker_sts ->MaskNoisyChannel( 2, 689, true ); - unpacker_sts ->MaskNoisyChannel( 2, 690, true ); - unpacker_sts ->MaskNoisyChannel( 2, 691, true ); - unpacker_sts ->MaskNoisyChannel( 2, 692, true ); - unpacker_sts ->MaskNoisyChannel( 2, 693, true ); - unpacker_sts ->MaskNoisyChannel( 2, 694, true ); - unpacker_sts ->MaskNoisyChannel( 2, 695, true ); - unpacker_sts ->MaskNoisyChannel( 2, 696, true ); - unpacker_sts ->MaskNoisyChannel( 2, 697, true ); - unpacker_sts ->MaskNoisyChannel( 2, 698, true ); - unpacker_sts ->MaskNoisyChannel( 2, 699, true ); - unpacker_sts ->MaskNoisyChannel( 2, 700, true ); - unpacker_sts ->MaskNoisyChannel( 2, 701, true ); - unpacker_sts ->MaskNoisyChannel( 2, 702, true ); - unpacker_sts ->MaskNoisyChannel( 2, 703, true ); - unpacker_sts ->MaskNoisyChannel( 2, 704, true ); - unpacker_sts ->MaskNoisyChannel( 2, 705, true ); - unpacker_sts ->MaskNoisyChannel( 2, 706, true ); - unpacker_sts ->MaskNoisyChannel( 2, 707, true ); - unpacker_sts ->MaskNoisyChannel( 2, 708, true ); - unpacker_sts ->MaskNoisyChannel( 2, 709, true ); - unpacker_sts ->MaskNoisyChannel( 2, 710, true ); - unpacker_sts ->MaskNoisyChannel( 2, 711, true ); - unpacker_sts ->MaskNoisyChannel( 2, 712, true ); - unpacker_sts ->MaskNoisyChannel( 2, 713, true ); - unpacker_sts ->MaskNoisyChannel( 2, 714, true ); - unpacker_sts ->MaskNoisyChannel( 2, 715, true ); - unpacker_sts ->MaskNoisyChannel( 2, 716, true ); - unpacker_sts ->MaskNoisyChannel( 2, 717, true ); - unpacker_sts ->MaskNoisyChannel( 2, 718, true ); - unpacker_sts ->MaskNoisyChannel( 2, 719, true ); - unpacker_sts ->MaskNoisyChannel( 2, 720, true ); - unpacker_sts ->MaskNoisyChannel( 2, 721, true ); - unpacker_sts ->MaskNoisyChannel( 2, 722, true ); - unpacker_sts ->MaskNoisyChannel( 2, 723, true ); - unpacker_sts ->MaskNoisyChannel( 2, 724, true ); - unpacker_sts ->MaskNoisyChannel( 2, 725, true ); - unpacker_sts ->MaskNoisyChannel( 2, 726, true ); - unpacker_sts ->MaskNoisyChannel( 2, 727, true ); - unpacker_sts ->MaskNoisyChannel( 2, 728, true ); - unpacker_sts ->MaskNoisyChannel( 2, 729, true ); - unpacker_sts ->MaskNoisyChannel( 2, 730, true ); - unpacker_sts ->MaskNoisyChannel( 2, 731, true ); - unpacker_sts ->MaskNoisyChannel( 2, 732, true ); - unpacker_sts ->MaskNoisyChannel( 2, 733, true ); - unpacker_sts ->MaskNoisyChannel( 2, 734, true ); - unpacker_sts ->MaskNoisyChannel( 2, 735, true ); - unpacker_sts ->MaskNoisyChannel( 2, 736, true ); - unpacker_sts ->MaskNoisyChannel( 2, 737, true ); - unpacker_sts ->MaskNoisyChannel( 2, 738, true ); - unpacker_sts ->MaskNoisyChannel( 2, 739, true ); - unpacker_sts ->MaskNoisyChannel( 2, 740, true ); - unpacker_sts ->MaskNoisyChannel( 2, 741, true ); - unpacker_sts ->MaskNoisyChannel( 2, 742, true ); - unpacker_sts ->MaskNoisyChannel( 2, 743, true ); - unpacker_sts ->MaskNoisyChannel( 2, 744, true ); - unpacker_sts ->MaskNoisyChannel( 2, 745, true ); - unpacker_sts ->MaskNoisyChannel( 2, 746, true ); - unpacker_sts ->MaskNoisyChannel( 2, 747, true ); - unpacker_sts ->MaskNoisyChannel( 2, 748, true ); - unpacker_sts ->MaskNoisyChannel( 2, 749, true ); - unpacker_sts ->MaskNoisyChannel( 2, 750, true ); - unpacker_sts ->MaskNoisyChannel( 2, 751, true ); - unpacker_sts ->MaskNoisyChannel( 2, 752, true ); - unpacker_sts ->MaskNoisyChannel( 2, 753, true ); - unpacker_sts ->MaskNoisyChannel( 2, 754, true ); - unpacker_sts ->MaskNoisyChannel( 2, 755, true ); - unpacker_sts ->MaskNoisyChannel( 2, 756, true ); - unpacker_sts ->MaskNoisyChannel( 2, 757, true ); - unpacker_sts ->MaskNoisyChannel( 2, 758, true ); - unpacker_sts ->MaskNoisyChannel( 2, 759, true ); - unpacker_sts ->MaskNoisyChannel( 2, 760, true ); - unpacker_sts ->MaskNoisyChannel( 2, 761, true ); - unpacker_sts ->MaskNoisyChannel( 2, 762, true ); - unpacker_sts ->MaskNoisyChannel( 2, 763, true ); - unpacker_sts ->MaskNoisyChannel( 2, 764, true ); - unpacker_sts ->MaskNoisyChannel( 2, 765, true ); - unpacker_sts ->MaskNoisyChannel( 2, 766, true ); - unpacker_sts ->MaskNoisyChannel( 2, 767, true ); -/* - unpacker_sts ->MaskNoisyChannel( 2, 768, true ); - unpacker_sts ->MaskNoisyChannel( 2, 769, true ); - unpacker_sts ->MaskNoisyChannel( 2, 770, true ); - unpacker_sts ->MaskNoisyChannel( 2, 771, true ); - unpacker_sts ->MaskNoisyChannel( 2, 772, true ); - unpacker_sts ->MaskNoisyChannel( 2, 773, true ); - unpacker_sts ->MaskNoisyChannel( 2, 774, true ); - unpacker_sts ->MaskNoisyChannel( 2, 776, true ); - unpacker_sts ->MaskNoisyChannel( 2, 778, true ); - unpacker_sts ->MaskNoisyChannel( 2, 780, true ); - unpacker_sts ->MaskNoisyChannel( 2, 782, true ); - unpacker_sts ->MaskNoisyChannel( 2, 784, true ); - unpacker_sts ->MaskNoisyChannel( 2, 786, true ); - unpacker_sts ->MaskNoisyChannel( 2, 788, true ); - unpacker_sts ->MaskNoisyChannel( 2, 790, true ); - unpacker_sts ->MaskNoisyChannel( 2, 792, true ); - unpacker_sts ->MaskNoisyChannel( 2, 794, true ); - unpacker_sts ->MaskNoisyChannel( 2, 796, true ); - unpacker_sts ->MaskNoisyChannel( 2, 798, true ); - unpacker_sts ->MaskNoisyChannel( 2, 800, true ); - unpacker_sts ->MaskNoisyChannel( 2, 802, true ); - unpacker_sts ->MaskNoisyChannel( 2, 804, true ); - unpacker_sts ->MaskNoisyChannel( 2, 806, true ); - unpacker_sts ->MaskNoisyChannel( 2, 808, true ); - unpacker_sts ->MaskNoisyChannel( 2, 810, true ); - unpacker_sts ->MaskNoisyChannel( 2, 812, true ); - unpacker_sts ->MaskNoisyChannel( 2, 814, true ); - unpacker_sts ->MaskNoisyChannel( 2, 816, true ); - unpacker_sts ->MaskNoisyChannel( 2, 817, true ); - unpacker_sts ->MaskNoisyChannel( 2, 818, true ); - unpacker_sts ->MaskNoisyChannel( 2, 820, true ); - unpacker_sts ->MaskNoisyChannel( 2, 822, true ); - unpacker_sts ->MaskNoisyChannel( 2, 824, true ); - unpacker_sts ->MaskNoisyChannel( 2, 825, true ); - unpacker_sts ->MaskNoisyChannel( 2, 826, true ); - unpacker_sts ->MaskNoisyChannel( 2, 828, true ); - unpacker_sts ->MaskNoisyChannel( 2, 829, true ); - unpacker_sts ->MaskNoisyChannel( 2, 830, true ); - unpacker_sts ->MaskNoisyChannel( 2, 831, true ); - unpacker_sts ->MaskNoisyChannel( 2, 832, true ); - unpacker_sts ->MaskNoisyChannel( 2, 834, true ); - unpacker_sts ->MaskNoisyChannel( 2, 835, true ); - unpacker_sts ->MaskNoisyChannel( 2, 836, true ); - unpacker_sts ->MaskNoisyChannel( 2, 838, true ); - unpacker_sts ->MaskNoisyChannel( 2, 839, true ); - unpacker_sts ->MaskNoisyChannel( 2, 840, true ); - unpacker_sts ->MaskNoisyChannel( 2, 841, true ); - unpacker_sts ->MaskNoisyChannel( 2, 842, true ); - unpacker_sts ->MaskNoisyChannel( 2, 843, true ); - unpacker_sts ->MaskNoisyChannel( 2, 844, true ); - unpacker_sts ->MaskNoisyChannel( 2, 845, true ); - unpacker_sts ->MaskNoisyChannel( 2, 846, true ); - unpacker_sts ->MaskNoisyChannel( 2, 847, true ); - unpacker_sts ->MaskNoisyChannel( 2, 848, true ); - unpacker_sts ->MaskNoisyChannel( 2, 849, true ); - unpacker_sts ->MaskNoisyChannel( 2, 850, true ); - unpacker_sts ->MaskNoisyChannel( 2, 851, true ); - unpacker_sts ->MaskNoisyChannel( 2, 852, true ); - unpacker_sts ->MaskNoisyChannel( 2, 853, true ); - unpacker_sts ->MaskNoisyChannel( 2, 854, true ); - unpacker_sts ->MaskNoisyChannel( 2, 856, true ); - unpacker_sts ->MaskNoisyChannel( 2, 857, true ); - unpacker_sts ->MaskNoisyChannel( 2, 858, true ); - unpacker_sts ->MaskNoisyChannel( 2, 859, true ); - unpacker_sts ->MaskNoisyChannel( 2, 860, true ); - unpacker_sts ->MaskNoisyChannel( 2, 861, true ); - unpacker_sts ->MaskNoisyChannel( 2, 862, true ); - unpacker_sts ->MaskNoisyChannel( 2, 863, true ); - unpacker_sts ->MaskNoisyChannel( 2, 864, true ); - unpacker_sts ->MaskNoisyChannel( 2, 865, true ); - unpacker_sts ->MaskNoisyChannel( 2, 866, true ); - unpacker_sts ->MaskNoisyChannel( 2, 867, true ); - unpacker_sts ->MaskNoisyChannel( 2, 868, true ); - unpacker_sts ->MaskNoisyChannel( 2, 869, true ); - unpacker_sts ->MaskNoisyChannel( 2, 870, true ); - unpacker_sts ->MaskNoisyChannel( 2, 871, true ); - unpacker_sts ->MaskNoisyChannel( 2, 872, true ); - unpacker_sts ->MaskNoisyChannel( 2, 873, true ); - unpacker_sts ->MaskNoisyChannel( 2, 874, true ); - unpacker_sts ->MaskNoisyChannel( 2, 875, true ); - unpacker_sts ->MaskNoisyChannel( 2, 876, true ); - unpacker_sts ->MaskNoisyChannel( 2, 878, true ); - unpacker_sts ->MaskNoisyChannel( 2, 879, true ); - unpacker_sts ->MaskNoisyChannel( 2, 880, true ); - unpacker_sts ->MaskNoisyChannel( 2, 881, true ); - unpacker_sts ->MaskNoisyChannel( 2, 882, true ); - unpacker_sts ->MaskNoisyChannel( 2, 883, true ); - unpacker_sts ->MaskNoisyChannel( 2, 884, true ); - unpacker_sts ->MaskNoisyChannel( 2, 885, true ); - unpacker_sts ->MaskNoisyChannel( 2, 886, true ); - unpacker_sts ->MaskNoisyChannel( 2, 887, true ); - unpacker_sts ->MaskNoisyChannel( 2, 888, true ); - unpacker_sts ->MaskNoisyChannel( 2, 889, true ); - unpacker_sts ->MaskNoisyChannel( 2, 890, true ); - unpacker_sts ->MaskNoisyChannel( 2, 891, true ); - unpacker_sts ->MaskNoisyChannel( 2, 892, true ); - unpacker_sts ->MaskNoisyChannel( 2, 893, true ); - unpacker_sts ->MaskNoisyChannel( 2, 894, true ); - unpacker_sts ->MaskNoisyChannel( 2, 897, true ); - unpacker_sts ->MaskNoisyChannel( 2, 899, true ); - unpacker_sts ->MaskNoisyChannel( 2, 900, true ); - unpacker_sts ->MaskNoisyChannel( 2, 901, true ); - unpacker_sts ->MaskNoisyChannel( 2, 902, true ); - unpacker_sts ->MaskNoisyChannel( 2, 903, true ); - unpacker_sts ->MaskNoisyChannel( 2, 904, true ); - unpacker_sts ->MaskNoisyChannel( 2, 905, true ); - unpacker_sts ->MaskNoisyChannel( 2, 906, true ); - unpacker_sts ->MaskNoisyChannel( 2, 907, true ); - unpacker_sts ->MaskNoisyChannel( 2, 908, true ); - unpacker_sts ->MaskNoisyChannel( 2, 909, true ); - unpacker_sts ->MaskNoisyChannel( 2, 910, true ); - unpacker_sts ->MaskNoisyChannel( 2, 911, true ); - unpacker_sts ->MaskNoisyChannel( 2, 912, true ); - unpacker_sts ->MaskNoisyChannel( 2, 913, true ); - unpacker_sts ->MaskNoisyChannel( 2, 914, true ); - unpacker_sts ->MaskNoisyChannel( 2, 916, true ); - unpacker_sts ->MaskNoisyChannel( 2, 918, true ); - unpacker_sts ->MaskNoisyChannel( 2, 920, true ); - unpacker_sts ->MaskNoisyChannel( 2, 922, true ); - unpacker_sts ->MaskNoisyChannel( 2, 924, true ); - unpacker_sts ->MaskNoisyChannel( 2, 926, true ); - unpacker_sts ->MaskNoisyChannel( 2, 932, true ); - unpacker_sts ->MaskNoisyChannel( 2, 940, true ); - unpacker_sts ->MaskNoisyChannel( 2, 948, true ); - unpacker_sts ->MaskNoisyChannel( 2, 950, true ); - unpacker_sts ->MaskNoisyChannel( 2, 952, true ); - unpacker_sts ->MaskNoisyChannel( 2, 954, true ); - unpacker_sts ->MaskNoisyChannel( 2, 956, true ); - unpacker_sts ->MaskNoisyChannel( 2, 958, true ); - unpacker_sts ->MaskNoisyChannel( 2, 960, true ); - unpacker_sts ->MaskNoisyChannel( 2, 961, true ); - unpacker_sts ->MaskNoisyChannel( 2, 962, true ); - unpacker_sts ->MaskNoisyChannel( 2, 964, true ); - unpacker_sts ->MaskNoisyChannel( 2, 966, true ); - unpacker_sts ->MaskNoisyChannel( 2, 968, true ); - unpacker_sts ->MaskNoisyChannel( 2, 970, true ); - unpacker_sts ->MaskNoisyChannel( 2, 972, true ); - unpacker_sts ->MaskNoisyChannel( 2, 974, true ); - unpacker_sts ->MaskNoisyChannel( 2, 976, true ); - unpacker_sts ->MaskNoisyChannel( 2, 978, true ); - unpacker_sts ->MaskNoisyChannel( 2, 980, true ); - unpacker_sts ->MaskNoisyChannel( 2, 981, true ); - unpacker_sts ->MaskNoisyChannel( 2, 982, true ); - unpacker_sts ->MaskNoisyChannel( 2, 984, true ); - unpacker_sts ->MaskNoisyChannel( 2, 986, true ); - unpacker_sts ->MaskNoisyChannel( 2, 988, true ); - unpacker_sts ->MaskNoisyChannel( 2, 990, true ); - unpacker_sts ->MaskNoisyChannel( 2, 992, true ); - unpacker_sts ->MaskNoisyChannel( 2, 994, true ); - unpacker_sts ->MaskNoisyChannel( 2, 995, true ); - unpacker_sts ->MaskNoisyChannel( 2, 996, true ); - unpacker_sts ->MaskNoisyChannel( 2, 997, true ); - unpacker_sts ->MaskNoisyChannel( 2, 998, true ); - unpacker_sts ->MaskNoisyChannel( 2, 999, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1000, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1001, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1002, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1003, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1004, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1005, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1006, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1007, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1008, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1009, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1010, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1011, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1012, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1013, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1014, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1015, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1016, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1017, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1018, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1019, true ); - unpacker_sts ->MaskNoisyChannel( 2, 1021, true ); -*/ + switch( uRunId ) { case 368: @@ -1598,7 +212,8 @@ void unpack_tsa_mcbm_mfles( UInt_t uRunId = 0, UInt_t nrEvents=0, TString outDir source->SetFileName(inFile); // source->SetInputDir(inDir); source->AddUnpacker(unpacker_sts, 0x10, ECbmModuleId::kSts );//STS xyter - source->AddUnpacker(unpacker_much, 0x40, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_much, 0x50, ECbmModuleId::kMuch );//MUCH xyter + source->AddUnpacker(unpacker_trdR, 0x40, ECbmModuleId::kTrd);// Trd flibId (0x40) as at desy2019. kTrd defined in CbmDefs.h source->AddUnpacker(unpacker_tof, 0x60, ECbmModuleId::kTof );//gDPB A & B & C source->AddUnpacker(unpacker_tof, 0x90, ECbmModuleId::kTof );//gDPB T0 A & B /// Avoid unpacking runs with RICH calibration triggers in first file until unpacker fixed