diff --git a/macro/beamtime/mcbm2021/ana_trks.C b/macro/beamtime/mcbm2021/ana_trks.C
index 4b82773a8edeb0987e22e2f8bdbdab1a6a729215..16565aed728456f0f2116b67b2ad9e857e2e179c 100644
--- a/macro/beamtime/mcbm2021/ana_trks.C
+++ b/macro/beamtime/mcbm2021/ana_trks.C
@@ -163,8 +163,9 @@ void ana_trks(Int_t nEvents = 10000, Int_t iSel = 1, Int_t iGenCor = 1, TString
   //tofFindTracks->SetTtTarg(0.055);  // target value Nov2019 (triple stack run 831)
   //tofFindTracks->SetTtTarg(0.048);  // target value Nov2019 (double stack run 714)
   //tofFindTracks->SetTtTarg(0.047);  // target value Mar2020, after T0 fix (full run 600)
-  //  0.044);  // target value Mar2020, after T0 fix (double stack run 714)
-  tofFindTracks->SetTtTarg(0.035);             // target value for inverse velocity, > 0.033 ns/cm!
+    tofFindTracks->SetTtTarg(0.058);  // target value Mar2021, after T0 fix (double stack run 1058)
+  //tofFindTracks->SetTtTarg(0.038);  // target value Mar2021, after T0 fix (double stack run 1051)
+  //tofFindTracks->SetTtTarg(0.035);             // target value for inverse velocity, > 0.033 ns/cm!
   tofFindTracks->SetCalParFileName(cTrkFile);  // Tracker parameter value file name
   tofFindTracks->SetBeamCounter(5, 0, 0);      // default beam counter
   tofFindTracks->SetR0Lim(20.);
@@ -236,15 +237,15 @@ void ana_trks(Int_t nEvents = 10000, Int_t iSel = 1, Int_t iGenCor = 1, TString
       iMinNofHits   = 4;
       iNStations    = 9;
       iNReqStations = 5;
-      tofFindTracks->SetStation(0, 5, 0, 0);
-      tofFindTracks->SetStation(1, 0, 4, 1);
-      tofFindTracks->SetStation(2, 0, 3, 1);
-      tofFindTracks->SetStation(3, 0, 4, 0);
-      tofFindTracks->SetStation(4, 0, 3, 2);
-      tofFindTracks->SetStation(5, 9, 0, 0);
-      tofFindTracks->SetStation(6, 9, 1, 0);
-      tofFindTracks->SetStation(7, 9, 0, 1);
-      tofFindTracks->SetStation(8, 9, 1, 1);
+      tofFindTracks->SetStation(0, 0, 4, 1);
+      tofFindTracks->SetStation(1, 9, 0, 0);
+      tofFindTracks->SetStation(2, 9, 1, 0);
+      tofFindTracks->SetStation(3, 9, 0, 1);
+      tofFindTracks->SetStation(4, 9, 1, 1);
+      tofFindTracks->SetStation(5, 0, 3, 1);
+      tofFindTracks->SetStation(6, 0, 4, 0);
+      tofFindTracks->SetStation(7, 0, 3, 2);
+      tofFindTracks->SetStation(8, 5, 0, 0);
       break;
 
     case 2:
diff --git a/macro/beamtime/mcbm2021/gen_hits.sh b/macro/beamtime/mcbm2021/gen_hits.sh
index d2329381c2b7a3119a4e00988a19938d3717a3af..be07761174f5130832fb528d6d2d357ff54ae820 100755
--- a/macro/beamtime/mcbm2021/gen_hits.sh
+++ b/macro/beamtime/mcbm2021/gen_hits.sh
@@ -63,7 +63,7 @@ fi
 Nevt=$7
 if [[ ${Nevt} = "" ]]; then
     echo use all events
-    Nevt=-1
+    Nevt=500000
 fi
 
 echo gen_hits for $cRun with iDut=$iDut, iRef=$iRef, iSet=$iCalSet, iSel2=$iSel2, iBRef=$iBRef, Deadtime=$Deadtime, CalFile=$CalFile
diff --git a/macro/beamtime/mcbm2021/init_cal_all.sh b/macro/beamtime/mcbm2021/init_cal_all.sh
index 5338124cb48563bcd922c104ee37cd2242202dcc..2de32139dfefcd74f2b468c3888a136080a7b7ce 100755
--- a/macro/beamtime/mcbm2021/init_cal_all.sh
+++ b/macro/beamtime/mcbm2021/init_cal_all.sh
@@ -56,9 +56,9 @@ cp .rootrc ${cRun}
 cd ${cRun}
 
 # Global variables, for for-loops
-iRestart=0   
-#iRestart=1  # use copied calibration file with walk corrections 
-#iRestart=33
+#iRestart=0   
+iRestart=1  # use copied calibration file with walk corrections 
+#iRestart=37
 iStep=0
 iStepLast=0
 iCalSel0=0
diff --git a/macro/beamtime/mcbm2021/iter_tracks.sh b/macro/beamtime/mcbm2021/iter_tracks.sh
index aad60160b0872e003d26edb9da61d3353f657ff6..a511c8ab027aef77d14eb6d24055a576959951ad 100755
--- a/macro/beamtime/mcbm2021/iter_tracks.sh
+++ b/macro/beamtime/mcbm2021/iter_tracks.sh
@@ -123,7 +123,7 @@ fi
 
 # correction modes: 2 - TOff from Tt, 3 - Pull t, 4 - x, 5 - y, 6 - z, >10 - Pull t of individual stations 
 #for iCal in 3 2 10 11 12 13 14 15 4 5; do
-for iCal in 3 4 5; do
+for iCal in 2 3 4 5; do
 #for iCal in 3 2 4; do
 #for iCal in 3 2 ; do
 #for iCal in 2 ; do
diff --git a/macro/beamtime/mcbm2021/trk_cal_digi.sh b/macro/beamtime/mcbm2021/trk_cal_digi.sh
index 2e7e87c26369a4ee0c16d0cd5e7ad153e424f035..8efb9ebe22673a913d3c393c49e771c8a8e5377f 100755
--- a/macro/beamtime/mcbm2021/trk_cal_digi.sh
+++ b/macro/beamtime/mcbm2021/trk_cal_digi.sh
@@ -108,7 +108,8 @@ if [[ $iShLev = "" ]]; then
   dDTRMSres=100000
   dL0DTRMSres=100000
 # get initial digi calibration 
-  cp -v  ./I*/${CalFile}  .
+# cp -v  ./I*/${CalFile}  .
+  cp -v ${CalFile}  IniTrk_${CalFile}
 # get latest tracker offsets
 # cp -v ../${cRun}_tofFindTracks.hst.root .
 else
@@ -159,7 +160,7 @@ while [[ $dDTres -gt 0 ]]; do
     cd $wdir/$cRun
     echo Current loop with Iter $iIter, CalAct $iCalAct and CalOpt $iCalOpt
     if [[ $iCalOpt = 1 ]] || [[ $iCalAct -gt 1 ]]; then 
-      root -b -q '../ana_digi_cal.C('$nEvt',93,1,'$iRef',1,"'$cRun'",'$iCalSet',1,'$iSel2','$Deadtime',"'$CalIdMode'") '
+      root -b -q '../ana_digi_cal_all.C('$nEvt',93,1,'$iRef',1,"'$cRun'",'$iCalSet',1,'$iSel2','$Deadtime',"'$CalIdMode'") '
       # update calibration parameter file, will only be active in next iteration 
       if [[ $iIter = -10 ]] && [[ $iCalOpt = 1 ]]; then  # exploratory option when iIter set to 0 
         echo Update Calibration file from ana_digi_cal
@@ -168,8 +169,8 @@ while [[ $dDTres -gt 0 ]]; do
         echo 20000 > TOffAvRMS.res
       else
         root -b -q '../ana_trks.C('$nEvt','$iSel','$iGenCor',"'$cRun'","'$cCalSet2'",'$iSel2','$iTraSetup','$fRange1','$fRange2','$Deadtime',"'$CalIdMode'",1,1,'$iCalSet','$iCalAct')'
-      #root -l 'ana_trksi.C(-1,10,1,"385.50.5.0","000014500_020",20,1,1.90,7.60,50,"385.50.5.0",1,1)'
-  
+        #root -l 'ana_trksi.C(-1,10,1,"385.50.5.0","000014500_020",20,1,1.90,7.60,50,"385.50.5.0",1,1)'
+        #exit 0 # for debugging
         cp -v New_${CalFile} ${CalFile}  
       fi
       (( iIter   += 1 ))
diff --git a/reco/detectors/tof/CbmTofEventClusterizer.cxx b/reco/detectors/tof/CbmTofEventClusterizer.cxx
index dd1b7ccac001ee0d60d25b0e1c93888c58609ca6..d9ed14db52b799b4726db6965c04d24e16db715e 100644
--- a/reco/detectors/tof/CbmTofEventClusterizer.cxx
+++ b/reco/detectors/tof/CbmTofEventClusterizer.cxx
@@ -153,6 +153,7 @@ CbmTofEventClusterizer::CbmTofEventClusterizer(const char* name, Int_t verbose,
   , fhRpcDigiDTLD()
   , fhRpcDigiDTFD()
   , fhRpcDigiDTMul()
+  , fhRpcDigiRate()
   , fhRpcCluMul()
   , fhRpcCluRate()
   , fhRpcCluRate10s()
@@ -1177,6 +1178,7 @@ Bool_t CbmTofEventClusterizer::CreateHistos()
   fhRpcDigiDTLD.resize(iNbDet);
   fhRpcDigiDTFD.resize(iNbDet);
   fhRpcDigiDTMul.resize(iNbDet);
+  fhRpcDigiRate.resize(iNbDet);
   fhRpcCluMul.resize(iNbDet);
   fhRpcCluRate.resize(iNbDet);
   fhRpcCluRate10s.resize(iNbDet);
@@ -1268,6 +1270,10 @@ Bool_t CbmTofEventClusterizer::CreateHistos()
                                              iRpcId, iSmId, iSmType),
                                         fDigiBdfPar->GetNbChan(iSmType, iRpcId) * 2, 0,
                                         fDigiBdfPar->GetNbChan(iSmType, iRpcId) * 2, 20., 0.5, 20.5);
+    fhRpcDigiRate[iDetIndx] =
+      new TH1D(Form("cl_SmT%01d_sm%03d_rpc%03d_digirate", iSmType, iSmId, iRpcId),
+               Form("Digi rate of Rpc #%03d in Sm %03d of type %d; Time (s); Rate (Hz)", iRpcId, iSmId, iSmType), 36000.,
+               0., 3600.);
 
     fhRpcCluMul[iDetIndx] =
       new TH1F(Form("cl_SmT%01d_sm%03d_rpc%03d_Mul", iSmType, iSmId, iRpcId),
@@ -4071,6 +4077,11 @@ Bool_t CbmTofEventClusterizer::BuildClusters()
         else
           break;
 
+        if (StartAnalysisTime > 0) {
+          Double_t dTimeAna = (pDigi->GetTime() - StartAnalysisTime) / 1.E9;
+          fhRpcDigiRate[iDetIndx]->Fill(dTimeAna, 1. / fhRpcDigiRate[iDetIndx]->GetBinWidth(1));
+        }
+
         size_t iDigiCh = pDigi->GetChannel() * 2 + pDigi->GetSide();
         if (iDigiCh < fvTimeLastDigi[iDetIndx].size()) {
           if (fvTimeLastDigi[iDetIndx][iDigiCh] > 0) {
diff --git a/reco/detectors/tof/CbmTofEventClusterizer.h b/reco/detectors/tof/CbmTofEventClusterizer.h
index a5dfd338e8fc1c3cb515c5d2f9951e649732eaeb..6e281735237f7b3a496a8b5138289809bffea8e2 100644
--- a/reco/detectors/tof/CbmTofEventClusterizer.h
+++ b/reco/detectors/tof/CbmTofEventClusterizer.h
@@ -304,6 +304,7 @@ private:
   std::vector<TH2*> fhRpcDigiDTLD;                           //[nbDet]
   std::vector<TH2*> fhRpcDigiDTFD;                           //[nbDet]
   std::vector<TH2*> fhRpcDigiDTMul;                          //[nbDet]
+  std::vector<TH1*> fhRpcDigiRate;                            //[nbDet]
   std::vector<TH1*> fhRpcCluMul;                             //[nbDet]
   std::vector<TH1*> fhRpcCluRate;                            //[nbDet]
   std::vector<TH1*> fhRpcCluRate10s;                         //[nbDet]
diff --git a/reco/detectors/tof/CbmTofFindTracks.cxx b/reco/detectors/tof/CbmTofFindTracks.cxx
index 2e2cc4197bd4b7bb51e6fd3ae9f3f2404e9daaca..daa187bdf644ab8e9bc7a6a5716559328cff13e1 100644
--- a/reco/detectors/tof/CbmTofFindTracks.cxx
+++ b/reco/detectors/tof/CbmTofFindTracks.cxx
@@ -1254,7 +1254,7 @@ void CbmTofFindTracks::CreateHistograms()
                          100, -DZ0MAX, DZ0MAX);
 
   fhTOff_Smt   = new TH2F(Form("hTOff_Smt"), Form("Tracklet TOff; RpcInd ; #DeltaTOff (ns)"), nSmt, 0, nSmt, 501,
-                        -fT0MAX * 20, fT0MAX * 20);
+                        -fT0MAX * 5, fT0MAX * 5);
   fhTOff_HMul2 = new TH2F(Form("hTOff_HMul2"), Form("Tracklet TOff(HMul2); RpcInd ; TOff (ns)"), nSmt, 0, nSmt, 500,
                           -fT0MAX, fT0MAX);