Prepare framework for new MUST detector subsystem
Remove ECbmModuleId::kEcal from the enumerator and reuse the connected integer value 7 for the new entry ECbmModuleId::kMust. Remove all usage of ECbmModuleId::kEcal from the source code and implement the usage of ECbmModuleId::kMust at the required places. In CbmMCTrack the information of the MUCH and MUST part of the muon system is added to the the same counter. Prepare the geometry interface classes for the new code but currently comment it since the detector code is missing since it will be only added with a later commit.
Merge request reports
Activity
requested review from @p.-a.loizeau
assigned to @v.friese
- Resolved by Pierre-Alain Loizeau
Dear @f.uhlig, @v.friese, @p.-a.loizeau,
you have been identified as code owner of at least one file which was changed with this merge request.
Please check the changes and approve them or request changes.
added CodeOwners label
added 29 commits
-
7f241fac...f9e0943e - 25 commits from branch
computing:master - 2ba22000 - Remove obsolete files
- 4e1864c1 - Prepare framework for new MUST detector subsystem
- 2cb40364 - Code formating
- ddf25c5e - Properly summing points for MUCH and MUST detector
Toggle commit list-
7f241fac...f9e0943e - 25 commits from branch
added 1 commit
- aed1fa0c - Properly summing points for MUCH and MUST detector
added 1 commit
- 96f06611 - Properly summing points for MUCH and MUST detector
could you please have a look and see if you can merge it. This one is currently blocking adding the code for the new MUST detector.
- Resolved by Volker Friese
int32_t CbmMCTrack::GetNPoints(ECbmModuleId detId) const { if (detId == ECbmModuleId::kRef) return (fNPoints & 1); if (detId == ECbmModuleId::kRef) return (fNPoints & 1); else if (detId == ECbmModuleId::kMvd) return ((fNPoints & (7 << 1)) >> 1); else if (detId == ECbmModuleId::kSts) return ((fNPoints & (31 << 4)) >> 4); else if (detId == ECbmModuleId::kRich) return ((fNPoints & (1 << 9)) >> 9); // The much (Muon Chambers) as well as the must (Muon Straws) // are part of the muon detector subsystem, so points from both // detector implementations are added to the same system // Here the same number is returned for much and must else if (detId == ECbmModuleId::kMuch) return ((fNPoints & (31 << 10)) >> 10); else if (detId == ECbmModuleId::kMust) return ((fNPoints & (31 << 10)) >> 10); else if (detId == ECbmModuleId::kTrd) return ((fNPoints & (31 << 15)) >> 15); else if (detId == ECbmModuleId::kTof) return ((fNPoints & (15 << 20)) >> 20); else if (detId == ECbmModuleId::kEcal) return ((fNPoints & (1 << 24)) >> 24); else if (detId == ECbmModuleId::kPsd) return ((fNPoints & (1 << 25)) >> 25); else if (detId == ECbmModuleId::kFsd) return ((fNPoints & (1 << 26)) >> 26); else { LOG(error) << "GetNPoints: Unknown detector ID " << detId; return 0; } }I realise that you probably wrote this code and I didn't but are you sure this inclusion is correct. The initial eye catch is that it is the same as MUCH, which you do comment about, to be fair. It chooses out a portion of fNpoints by right shift bitwise operator, you mask fNpoints, and shift back, so is basically an extraction from fNPoints for different detectors. But this should mean the MUCH and MUST return the exactly the same number always?
If this is intentionally the case I would suggest that
else if (detId == ECbmModuleId::kMuch || detId == ECbmModuleId::kMust) return ((fNPoints & (31 << 10)) >> 10);would prevent need to notice the similarity.
- Resolved by Volker Friese
- Resolved by Volker Friese
For me this MR, which will presumably squashed to a single commit, does two things, it
- purges Ecal from CBMROOT (although not completely)
- prepares framework for MUST detector.
Obviously this would be best done in two commits, one to remove, next to introduce. Is this easily possible?
Edited by Eoin Clerkin
- Resolved by Eoin Clerkin
Might I suggest for a fuller purging of Ecal that comments/references in
- MQ/source/CbmMCPointSource.cxx
- analysis/PWGC2F/femtoscopy/hal/helpers/HalCbmDetectorID.h
- algo/base/Definitions.h
- core/data/test/_GTestCbmDefs.cxx
- reco/global/CMakeLists.txt
are removed?
Edited by Eoin Clerkin
- Resolved by Volker Friese
- Resolved by Volker Friese
- Resolved by Volker Friese
- Resolved by Volker Friese
@uhlig Could you please rebase, I can't do it from here.
Edited by Volker Friese
added 12 commits
-
48b0e187...ad593652 - 5 commits from branch
computing:master - 7ac4f930 - Remove obsolete files
- 4612c50c - Prepare framework for new MUST detector subsystem
- 53075505 - Code formating
- 3e6cd596 - Properly summing points for MUCH and MUST detector
- dc66bcdc - Apply 1 suggestion(s) to 1 file(s)
- 7045dcec - Apply 1 suggestion(s) to 1 file(s)
- 48e8515f - Apply 1 suggestion(s) to 1 file(s)
Toggle commit list-
48b0e187...ad593652 - 5 commits from branch
mentioned in merge request !2138
mentioned in merge request !2007