diff --git a/macro/analysis/dielectron/run_reco.C b/macro/analysis/dielectron/run_reco.C index 09180a8480f694b83d21ee8bda49fde86bcff8c8..44c53b58bc2219eb2ee822871e48d23b07b09d74 100755 --- a/macro/analysis/dielectron/run_reco.C +++ b/macro/analysis/dielectron/run_reco.C @@ -331,7 +331,6 @@ void run_reco(const string& mcFile = "/lustre/nyx/cbm/users/criesen/cbm/data/l else { l1 = new CbmL1("L1", 0); } - l1->SetDataMode(!eventBased); // --- Material budget file names TString mvdGeoTag; diff --git a/macro/mcbm/mcbm_reco_event.C b/macro/mcbm/mcbm_reco_event.C index bb86becafa7b8c9da81883135737104aa24ba2f4..4eb2aa1b755455fffc3c9f6723e0070558d5cc49 100644 --- a/macro/mcbm/mcbm_reco_event.C +++ b/macro/mcbm/mcbm_reco_event.C @@ -364,8 +364,8 @@ void mcbm_reco_event(Int_t nEvents = 10, TString dataset = "data/test", const ch CbmKF* kalman = new CbmKF(); run->AddTask(kalman); CbmL1* l1 = new CbmL1(); - - l1->SetmCBMmode(1); + l1->SetLegacyEventMode(1); + l1->SetMcbmMode(); l1->SetUseHitErrors(1); // --- Material budget file names diff --git a/macro/rich/run/run_reco.C b/macro/rich/run/run_reco.C index e7b0fe01911343a17218f57c55ff25337a0aa938..68ed3bfedeeda0d90d8c52d5ac20164d74e4566e 100644 --- a/macro/rich/run/run_reco.C +++ b/macro/rich/run/run_reco.C @@ -207,7 +207,6 @@ void run_reco(const string& traFile = "/Users/slebedev/Development/cbm/data/sim else { l1 = new CbmL1("L1", 0); } - l1->SetDataMode(!eventBased); // --- Material budget file names TString mvdGeoTag; diff --git a/macro/run/run_reco.C b/macro/run/run_reco.C index a036e3209564d359ba9d0b144eb0cb6c585acc79..3c59f14f78c3e0f506fa0b4a537603b7e66551f0 100644 --- a/macro/run/run_reco.C +++ b/macro/run/run_reco.C @@ -372,7 +372,6 @@ void run_reco(TString input = "", Int_t nTimeSlices = -1, Int_t firstTimeSlice = else { l1 = new CbmL1("L1", 0); } - l1->SetDataMode(1); // --- Material budget file names TString mvdGeoTag; diff --git a/reco/L1/CbmL1.cxx b/reco/L1/CbmL1.cxx index 657f60eba174fa685d3ce29fedeedb80e8bdb7e8..72bb0abde759eaad3a4599979b99b9316ed07613 100644 --- a/reco/L1/CbmL1.cxx +++ b/reco/L1/CbmL1.cxx @@ -223,11 +223,11 @@ InitStatus CbmL1::Init() vFileEvent.clear(); - if (fTimesliceMode) { // Time-slice mode selected + if (!fLegacyEventMode) { // Time-slice mode selected LOG(info) << GetName() << ": running in time-slice mode."; fTimeSlice = NULL; fTimeSlice = (CbmTimeSlice*) fManger->GetObject("TimeSlice."); - if (fTimeSlice == NULL) LOG(fatal) << GetName() << ": No time slice branch in tree!"; + if (fTimeSlice == NULL) LOG(fatal) << GetName() << ": No time slice branch in the tree!"; } //? time-slice mode @@ -287,7 +287,7 @@ InitStatus CbmL1::Init() if (NULL == fStsPoints) LOG(fatal) << GetName() << ": No StsPoint data!"; if (NULL == fMCTracks) LOG(fatal) << GetName() << ": No MCTrack data!"; - if (fTimesliceMode) { + if (!fLegacyEventMode) { fEventList = (CbmMCEventList*) fManger->GetObject("MCEventList."); if (NULL == fEventList) LOG(fatal) << GetName() << ": No MCEventList data!"; } @@ -1062,7 +1062,7 @@ void CbmL1::Reconstruct(CbmEvent* event) StsIndex.push_back(j); }; - if (fTimesliceMode && fPerformance) { + if (!fLegacyEventMode && fPerformance) { int nofEvents = fEventList->GetNofEvents(); for (int iE = 0; iE < nofEvents; iE++) { @@ -1238,7 +1238,7 @@ void CbmL1::Reconstruct(CbmEvent* event) if (fVerbose > 1) { cout << "L1 Track fitter ok" << endl; } // save recontstructed tracks - if (!fTimesliceMode) vRTracksCur.clear(); + if (fLegacyEventMode) vRTracksCur.clear(); int start_hit = 0; float TsStart_new = TsStart + TsLength - TsOverlap; @@ -1270,7 +1270,7 @@ void CbmL1::Reconstruct(CbmEvent* event) for (int i = 0; i < it->NHits; i++) { int start_hit1 = start_hit; if (algo->fRecoHits[start_hit1] > vStsHits.size() - 1) start_hit++; - else if (fTimesliceMode) { + else if (!fLegacyEventMode) { t.StsHits.push_back(((*algo->vStsHits)[algo->fRecoHits[start_hit]]).ID); } else { @@ -1312,7 +1312,7 @@ void CbmL1::Reconstruct(CbmEvent* event) if (indd == 1) continue; - if ((fTimesliceMode) && (isInOverlap == 1)) { + if ((!fLegacyEventMode) && (isInOverlap == 1)) { continue; ///Discard tracks from overlap region @@ -1337,9 +1337,9 @@ void CbmL1::Reconstruct(CbmEvent* event) } }; - if (fTimesliceMode) TsStart = TsStart_new; ///Set new TS strat to earliest discarted track + if (!fLegacyEventMode) TsStart = TsStart_new; ///Set new TS strat to earliest discarted track - if (fTimesliceMode) cout << "CA Track Finder: " << algo->fCATime << " s/sub-ts" << endl << endl; + if (!fLegacyEventMode) cout << "CA Track Finder: " << algo->fCATime << " s/sub-ts" << endl << endl; } @@ -1373,7 +1373,7 @@ void CbmL1::Reconstruct(CbmEvent* event) for (unsigned int iTrack = 0; iTrack < vRTracksCur.size(); iTrack++) { for (unsigned int iHit = 0; iHit < vRTracksCur[iTrack].StsHits.size(); iHit++) - if (fTimesliceMode) vRTracksCur[iTrack].StsHits[iHit] = SortedIndex[vRTracksCur[iTrack].StsHits[iHit]]; + if (!fLegacyEventMode) vRTracksCur[iTrack].StsHits[iHit] = SortedIndex[vRTracksCur[iTrack].StsHits[iHit]]; vRTracks.push_back(vRTracksCur[iTrack]); } diff --git a/reco/L1/CbmL1.h b/reco/L1/CbmL1.h index 118509a2b64da7842180407d8364bb50c35cf8b0..c7b40e570daeb6a201f948783db0f11e8a9f45df 100644 --- a/reco/L1/CbmL1.h +++ b/reco/L1/CbmL1.h @@ -152,7 +152,7 @@ public: void SetTrdMaterialBudgetFileName(TString fileName) { fTrdMatBudgetFileName = fileName; } void SetTofMaterialBudgetFileName(TString fileName) { fTofMatBudgetFileName = fileName; } void SetExtrapolateToTheEndOfSTS(bool b) { fExtrapolateToTheEndOfSTS = b; } - void SetDataMode(int TimesliceMode) { fTimesliceMode = TimesliceMode; } + void SetLegacyEventMode(bool b) { fLegacyEventMode = b; } void SetMuchPar(TString fileName) { fMuchDigiFile = fileName; } void SetUseHitErrors(bool value) { fUseHitErrors = value; } void SetStsOnlyMode() { fTrackingMode = L1Algo::TrackingMode::kSts; } @@ -351,7 +351,7 @@ private: TString fTrdMatBudgetFileName {}; TString fTofMatBudgetFileName {}; bool fExtrapolateToTheEndOfSTS {false}; - int fTimesliceMode {0}; + bool fLegacyEventMode {false}; KFTopoPerformance* fTopoPerformance {nullptr}; L1EventEfficiencies fEventEfficiency {}; // average efficiencies diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index 39fc37db21d6410febc7be408ceba656bdcf5737..7f645050d713e467deb02c4f15f950aaf189927b 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -1,6 +1,6 @@ /* Copyright (C) 2006-2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Ivan Kisel, Sergey Gorbunov, Igor Kulakov, Valentina Akishina, Grigory Kozlov */ + Authors: Ivan Kisel, Sergey Gorbunov [committer], Igor Kulakov, Valentina Akishina, Grigory Kozlov */ /* *==================================================================== @@ -441,7 +441,7 @@ void CbmL1::EfficienciesPerformance() cout << "MC tracks/event found : " << int(double(L1_NTRA.reco.counters[L1_NTRA.indices["total"]]) / double(L1_NEVENTS)) << endl; cout << endl; - cout << "CA Track Finder: " << L1_CATIME / L1_NEVENTS << (fTimesliceMode ? " s/time slice" : " s/ev") << endl + cout << "CA Track Finder: " << L1_CATIME / L1_NEVENTS << (fLegacyEventMode ? " s/ev" : " s/time slice") << endl << endl; } } // void CbmL1::Performance() @@ -1859,7 +1859,7 @@ void CbmL1::InputPerformance() double mcTime = pt->GetTime(); - if (fTimesliceMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); + if (!fLegacyEventMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); // hit pulls and residuals @@ -1967,7 +1967,7 @@ void CbmL1::InputPerformance() CbmMuchPoint* pt = (CbmMuchPoint*) fMuchPoints->Get(link.GetFile(), link.GetEntry(), link.GetIndex()); double mcTime = pt->GetTime(); - if (fTimesliceMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); + if (!fLegacyEventMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); // mcTime+=20; // hit pulls and residuals @@ -2036,7 +2036,7 @@ void CbmL1::InputPerformance() CbmTrdPoint* pt = (CbmTrdPoint*) fTrdPoints->Get(link.GetFile(), link.GetEntry(), link.GetIndex()); double mcTime = pt->GetTime(); - if (fTimesliceMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); + if (!fLegacyEventMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); // hit pulls and residuals // if ((sh->GetPlaneId()) == 0) continue; @@ -2104,7 +2104,7 @@ void CbmL1::InputPerformance() CbmTofPoint* pt = (CbmTofPoint*) fTofPoints->Get(link.GetFile(), link.GetEntry(), link.GetIndex()); double mcTime = pt->GetTime(); - if (fTimesliceMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); + if (!fLegacyEventMode) mcTime += fEventList->GetEventTime(link.GetEntry(), link.GetFile()); // hit pulls and residuals diff --git a/reco/L1/CbmL1ReadEvent.cxx b/reco/L1/CbmL1ReadEvent.cxx index 1e9d0d25a5926b900b813dc75c42fb1e3d4df046..c6433a5e7587f136265f506e10a7b2300b3ab94f 100644 --- a/reco/L1/CbmL1ReadEvent.cxx +++ b/reco/L1/CbmL1ReadEvent.cxx @@ -440,7 +440,7 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength, hitIndex = (event ? event->GetIndex(ECbmDataType::kStsHit, j) : j); int hitIndexSort = 0; - if (fTimesliceMode) hitIndexSort = StsIndex[hitIndex]; + if (!fLegacyEventMode) hitIndexSort = StsIndex[hitIndex]; else hitIndexSort = j; @@ -463,9 +463,10 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength, th.time = mh->GetTime(); th.dt = mh->GetTimeError(); - if (fTimesliceMode) th.id = nMvdHits + hitIndex; - else + if (!fLegacyEventMode) { th.id = nMvdHits + hitIndex; } + else { th.id = tmpHits.size(); + } /// stop if reco TS ends and many hits left if (!event) @@ -524,7 +525,7 @@ void CbmL1::ReadEvent(L1AlgoInputData* fData_, float& TsStart, float& TsLength, bestWeight = stsHitMatch.GetLink(iLink).GetWeight(); Int_t iFile = stsHitMatch.GetLink(iLink).GetFile(); Int_t iEvent = stsHitMatch.GetLink(iLink).GetEntry(); - // if(!fTimesliceMode) //TODO Fix the event number in links + // if(fLegacyEventMode) //TODO Fix the event number in links // iEvent+=1; Int_t iIndex = stsHitMatch.GetLink(iLink).GetIndex() + nMvdPoints; Double_t dtrck = dFEI(iFile, iEvent, iIndex); @@ -1085,7 +1086,7 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M if (MVD == 0) { CbmStsPoint* pt = L1_DYNAMIC_CAST<CbmStsPoint*>(fStsPoints->Get(file, event, iPoint)); // file, event, object if (!pt) return 1; - // if ( fTimesliceMode ) + // if ( !fLegacyEventMode ) // { // Double_t StartTime = fTimeSlice->GetStartTime(); // Double_t EndTime = fTimeSlice->GetEndTime(); @@ -1095,7 +1096,7 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M // // if (Time_MC_point > EndTime ) // return 1; - // } //if ( fTimesliceMode ) + // } pt->Position(xyzI); pt->Momentum(PI); @@ -1109,14 +1110,14 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M if (MVD == 2) { CbmMuchPoint* pt = L1_DYNAMIC_CAST<CbmMuchPoint*>(fMuchPoints->Get(file, event, iPoint)); // file, event, object if (!pt) return 1; - if (fTimesliceMode) { + if (!fLegacyEventMode) { Double_t StartTime = fTimeSlice->GetStartTime(); Double_t EndTime = fTimeSlice->GetEndTime(); Double_t Time_MC_point = pt->GetTime() + fEventList->GetEventTime(event, file); if (Time_MC_point < StartTime) return 1; if (Time_MC_point > EndTime) return 1; - } //if ( fTimesliceMode ) + } pt->Position(xyzI); pt->Momentum(PI); @@ -1131,7 +1132,7 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M CbmTrdPoint* pt = L1_DYNAMIC_CAST<CbmTrdPoint*>(fTrdPoints->Get(file, event, iPoint)); // file, event, object if (!pt) return 1; - if (fTimesliceMode) { + if (!fLegacyEventMode) { //Double_t StartTime = fTimeSlice->GetStartTime(); // not used //Double_t EndTime = fTimeSlice->GetEndTime(); // not used //Double_t Time_MC_point = pt->GetTime() + fEventList->GetEventTime(event, file); // not used @@ -1140,7 +1141,7 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M // // if (Time_MC_point > EndTime ) // return 1; - } //if ( fTimesliceMode ) + } pt->Position(xyzI); pt->Momentum(PI); @@ -1154,14 +1155,14 @@ bool CbmL1::ReadMCPoint(CbmL1MCPoint* MC, int iPoint, int file, int event, int M if (MVD == 4) { CbmTofPoint* pt = L1_DYNAMIC_CAST<CbmTofPoint*>(fTofPoints->Get(file, event, iPoint)); // file, event, object if (!pt) return 1; - if (fTimesliceMode) { + if (!fLegacyEventMode) { Double_t StartTime = fTimeSlice->GetStartTime(); Double_t EndTime = fTimeSlice->GetEndTime(); Double_t Time_MC_point = pt->GetTime() + fEventList->GetEventTime(event, file); if (Time_MC_point < StartTime) return 1; if (Time_MC_point > EndTime) return 1; - } //if ( fTimesliceMode ) + } pt->Position(xyzI); pt->Momentum(PI); @@ -1277,7 +1278,7 @@ void CbmL1::HitMatch() Int_t iEvent = link.GetEntry(); Int_t iIndex = link.GetIndex(); - if (!fTimesliceMode) { + if (fLegacyEventMode) { iFile = vFileEvent.begin()->first; iEvent = vFileEvent.begin()->second; } diff --git a/reco/L1/L1Algo/L1Algo.h b/reco/L1/L1Algo/L1Algo.h index 4ede5572be511b6f6739b1ea7dc5ee07d4c52773..7d53a64af9cb74536417762c9d78ab00bf8ba708 100644 --- a/reco/L1/L1Algo/L1Algo.h +++ b/reco/L1/L1Algo/L1Algo.h @@ -1,6 +1,6 @@ /* Copyright (C) 2007-2021 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt SPDX-License-Identifier: GPL-3.0-only - Authors: Maksym Zyzak, Valentina Akishina, Igor Kulakov */ + Authors: Maksym Zyzak, Valentina Akishina, Igor Kulakov [committer] */ #ifndef L1Algo_h #define L1Algo_h