diff --git a/reco/detectors/tof/CbmTofCalibrator.cxx b/reco/detectors/tof/CbmTofCalibrator.cxx index fa33ae5f2e8523b076ed18517b617e070421a969..4128298264266d3663d24b008faea96610045c28 100644 --- a/reco/detectors/tof/CbmTofCalibrator.cxx +++ b/reco/detectors/tof/CbmTofCalibrator.cxx @@ -228,13 +228,13 @@ Bool_t CbmTofCalibrator::CreateCalHist() { void CbmTofCalibrator::FillCalHist(CbmTofTracklet* pTrk) { // fill deviation histograms on walk level if (pTrk->GetTt() < 0) return; // take tracks with positive velocity only - if (!pTrk->ContainsAddr(CbmTofAddress::GetUniqueAddress(0, 0, 0, 0, 5))) + if (fbBeam && !pTrk->ContainsAddr(CbmTofAddress::GetUniqueAddress(0, 0, 0, 0, 5))) return; // request beam counter hit for calibration - /* - if (fdR0Lim + + if (fbBeam && fdR0Lim > 0.) // consider only tracks originating from nominal interaction point if (pTrk->GetR0() > fdR0Lim) return; - */ + for (Int_t iHit = 0; iHit < pTrk->GetNofHits(); iHit++) { CbmTofHit* pHit = pTrk->GetTofHitPointer(iHit); Int_t iDetId = (pHit->GetAddress() & DetMask); diff --git a/reco/detectors/tof/CbmTofCalibrator.h b/reco/detectors/tof/CbmTofCalibrator.h index b1da0e0200e47a3d6c6269e0871ccc2a41e47430..7955152cb1b8ccfe6f9ea3d8b9eeb0a29e058880 100644 --- a/reco/detectors/tof/CbmTofCalibrator.h +++ b/reco/detectors/tof/CbmTofCalibrator.h @@ -59,6 +59,7 @@ public: void WriteHist(TFile* fhFile); inline void SetR0Lim(Double_t dVal) { fdR0Lim = dVal; } + inline void SetBeam(Bool_t bVal) { fbBeam = bVal; } private: CbmDigiManager* fDigiMan; @@ -87,6 +88,7 @@ private: std::map<UInt_t, UInt_t> fDetIdIndexMap; Double_t fdR0Lim = 0.; + Bool_t fbBeam = kFALSE; CbmTofCalibrator(const CbmTofCalibrator&) = delete; CbmTofCalibrator operator=(const CbmTofCalibrator&) = delete; diff --git a/reco/detectors/tof/CbmTofFindTracks.cxx b/reco/detectors/tof/CbmTofFindTracks.cxx index bce09c1f3cb2e492c020c20564b3d6461617bc0a..2274d9f2dfe3a6c4e8b7ad1a176b305d74430d77 100644 --- a/reco/detectors/tof/CbmTofFindTracks.cxx +++ b/reco/detectors/tof/CbmTofFindTracks.cxx @@ -294,7 +294,10 @@ InitStatus CbmTofFindTracks::Init() { fTofId->GetSMType(iCellId), fTofId->GetSModule(iCellId), fTofId->GetCounter(iCellId)); - if (fTofId->GetSMType(iCellId) == 5) bBeamCounter = kTRUE; + if (fTofId->GetSMType(iCellId) == 5) { + bBeamCounter = kTRUE; + LOG(info) << "Found beam counter in setup!"; + } fMapRpcIdParInd[iCellId] = iRpc; fRpcAddr.resize(fRpcAddr.size() + 1); fRpcAddr.push_back(iCellId); @@ -312,6 +315,7 @@ InitStatus CbmTofFindTracks::Init() { fTofCalibrator = new CbmTofCalibrator(); if (fTofCalibrator->Init() != kSUCCESS) return kFATAL; if (bBeamCounter) { + fTofCalibrator->SetBeam(bBeamCounter); fTofCalibrator->SetR0Lim(10.); // FIXME, hardwired parameter for debugging LOG(info) << "Set CbmTofCalibrator::R0Lim to 10."; }