Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cbmroot
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Etienne Bechtel
cbmroot
Commits
ab014398
Commit
ab014398
authored
4 years ago
by
Administrator
Browse files
Options
Downloads
Patches
Plain Diff
Add changes in Much code from dev branch
The merge request ports the commit 16301.
parent
30efdc7a
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
reco/detectors/much/CbmMuchFindHitsGem.cxx
+82
-33
82 additions, 33 deletions
reco/detectors/much/CbmMuchFindHitsGem.cxx
reco/detectors/much/CbmMuchFindHitsGem.h
+8
-1
8 additions, 1 deletion
reco/detectors/much/CbmMuchFindHitsGem.h
with
90 additions
and
34 deletions
reco/detectors/much/CbmMuchFindHitsGem.cxx
+
82
−
33
View file @
ab014398
...
...
@@ -22,6 +22,7 @@
#include
"TClonesArray.h"
//#include "CbmTimeSlice.h"
#include
"CbmMuchDigi.h"
#include
"CbmMuchBeamTimeDigi.h"
#include
"CbmMuchAddress.h"
#include
<algorithm>
#include
<iostream>
...
...
@@ -59,7 +60,7 @@ CbmMuchFindHitsGem::CbmMuchFindHitsGem(const char* digiFileName, Int_t flag)
fFiredPads
(),
// fDaq(),
// fTimeSlice(NULL),
fDigiData
(),
//
fDigiData(),
fuClusters
(
0
)
{
}
...
...
@@ -72,6 +73,7 @@ InitStatus CbmMuchFindHitsGem::Init() {
// --- Digi Manager for reading digis which were stored in vector
fDigiManager
=
CbmDigiManager
::
Instance
();
if
(
bBeamTimeDigi
)
fDigiManager
->
UseMuchBeamTimeDigi
();
fDigiManager
->
Init
();
// fDigis will not be used now. Just for checking. Need to remove
...
...
@@ -123,22 +125,24 @@ InitStatus CbmMuchFindHitsGem::Init() {
void
CbmMuchFindHitsGem
::
Exec
(
Option_t
*
)
{
TStopwatch
timer
;
timer
.
Start
();
fDigiData
.
clear
();
//
fDigiData.clear();
// Removing SetDaq functionality as Cluster and Hit Finder algorithm is same for both the Time Based and Event Based mode.
//if (fDaq) ;
//fDigiData = fTimeSlice->GetMuchData();
// else {
LOG
(
debug
)
<<
"Start Reading digi from a module "
;
//
LOG(debug)<<"Start Reading digi from a module ";
for
(
Int_t
iDigi
=
0
;
iDigi
<
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
);
iDigi
++
)
{
/*
for (Int_t iDigi = 0; iDigi < fDigiManager->GetNofDigis(ECbmModuleId::kMuch); iDigi++) {
//Reading digi from CbmDigiManager which stors digis in vector
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
);
const auto * digi;
if(!bBeamTimeDigi) digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(iDigi);
else digi = (CbmMuchBeamTimeDigi*) fDigiManager->Get<CbmMuchBeamTimeDigi>(iDigi);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigis->At(iDigi);
CbmMuchModule* module = fGeoScheme->GetModuleByDetId(digi->GetAddress()); //AZ
//std::cout << module->GetDetectorType() << std::endl; //AZ
if (module->GetDetectorType() == 2) continue; //AZ - skip 2-D straws
fDigiData.push_back(*digi);
}
}
*/
//}
// Clear output array
...
...
@@ -152,9 +156,9 @@ void CbmMuchFindHitsGem::Exec(Option_t*) {
//if ( fMode == kCbmTimeslice ){
ProcessData
(
nullptr
);
LOG
(
info
)
<<
setw
(
20
)
<<
left
<<
GetName
()
<<
"
MuchFindHitsGem
: processing time is "
<<
timer
.
RealTime
()
<<
"Time Slice Number is "
<<
fNofTimeslices
<<
"
s
digis "
<<
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
<<
": processing time is "
<<
timer
.
RealTime
()
<<
"
Time Slice Number is "
<<
fNofTimeslices
<<
" digis "
<<
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
//<< "s digis " << fDigis->GetEntriesFast()
<<
" clusters "
<<
fClusters
->
GetEntriesFast
()
<<
" total hits "
<<
fHits
->
GetEntriesFast
();
...
...
@@ -166,17 +170,30 @@ void CbmMuchFindHitsGem::Exec(Option_t*) {
for
(
Int_t
iEvent
=
0
;
iEvent
<
nEvents
;
iEvent
++
)
{
CbmEvent
*
event
=
dynamic_cast
<
CbmEvent
*>
(
fEvents
->
At
(
iEvent
));
assert
(
event
);
Int_t
nDigis
=
(
event
?
event
->
GetNofData
(
ECbmDataType
::
kMuchDigi
)
:
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
);
//: fDigis->GetEntriesFast() );
//if (event) LOG(debug)<<" Timeslice "<< fNofTimeslices <<" event : " << event->GetNumber() <<" nDigi : " << nDigis;
ProcessData
(
event
);
LOG
(
debug
)
<<
setw
(
20
)
<<
left
<<
GetName
()
//<< ": Processing Time for an event is " << timer.RealTime()
<<
": Time slice "
<<
fNofTimeslices
<<
" with "
<<
nEvents
<<
(
nEvents
==
1
?
" event"
:
" events"
)
<<
" and processing event nubmer "
<<
iEvent
<<
" digis "
<<
nDigis
//<< "s digis " << fDigis->GetEntriesFast()
<<
" and created cluster "
<<
event
->
GetNofData
(
ECbmDataType
::
kMuchCluster
)
<<
" and created hit "
<<
event
->
GetNofData
(
ECbmDataType
::
kMuchPixelHit
);
}
//# events
if
(
fNofTimeslices
%
100
==
0
)
LOG
(
info
)
<<
setw
(
20
)
<<
left
<<
GetName
()
<<
" Processing Time is "
<<
timer
.
RealTime
()
<<
": Processing t
ime slice "
<<
fNofTimeslices
<<
" with "
<<
nEvents
<<
(
nEvents
==
1
?
" event"
:
" events"
)
<<
"s digis "
<<
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
//<< "s digis " << fDigis->GetEntriesFast()
<<
" and event wise total "
<<
" clusters "
<<
fClusters
->
GetEntriesFast
()
<<
" total hits "
<<
fHits
->
GetEntriesFast
();
LOG
(
info
)
<<
setw
(
20
)
<<
left
<<
GetName
()
<<
"
:
Processing Time is "
<<
timer
.
RealTime
()
<<
": T
ime slice "
<<
fNofTimeslices
<<
" with "
<<
nEvents
<<
(
nEvents
==
1
?
" event"
:
" events"
)
<<
"s digis "
<<
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
//<< "s digis " << fDigis->GetEntriesFast()
<<
" and event wise total "
<<
" clusters "
<<
fClusters
->
GetEntriesFast
()
<<
" total hits "
<<
fHits
->
GetEntriesFast
();
}
//? event mode
fNofTimeslices
++
;
...
...
@@ -189,7 +206,7 @@ void CbmMuchFindHitsGem::ProcessData(CbmEvent* event) {
EventTimer
.
Start
();
fEvent
++
;
LOG
(
debug
)
<<
" Start creating cluster "
;
//
LOG(debug
3
)<<" Start creating cluster ";
// Find clusters
FindClusters
(
event
);
Int_t
NuOfClusterInEvent
=
(
event
?
event
->
GetNofData
(
ECbmDataType
::
kMuchCluster
)
:
fClusters
->
GetEntriesFast
()
);
...
...
@@ -233,14 +250,17 @@ void CbmMuchFindHitsGem::FindClusters(CbmEvent* event) {
Int_t
nDigis
=
(
event
?
event
->
GetNofData
(
ECbmDataType
::
kMuchDigi
)
:
fDigiManager
->
GetNofDigis
(
ECbmModuleId
::
kMuch
)
);
//: fDigis->GetEntriesFast() );
if
(
event
)
LOG
(
debug2
)
<<
" Timeslice "
<<
fNofTimeslices
<<
" event : "
<<
event
->
GetNumber
()
<<
" nDigi : "
<<
nDigis
;
if
(
nDigis
<
0
)
return
;
LOG
(
debug
)
<<
" event : "
<<
event
->
GetNumber
()
<<
" nDigi : "
<<
nDigis
;
if
(
fAlgorithm
==
0
){
for
(
Int_t
iDigi
=
0
;
iDigi
<
nDigis
;
iDigi
++
)
{
UInt_t
digiIndex
=
(
event
?
event
->
GetIndex
(
ECbmDataType
::
kMuchDigi
,
iDigi
)
:
iDigi
);
fDigiIndices
.
clear
();
fDigiIndices
.
push_back
(
digiIndex
);
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(digiIndex);
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
digiIndex
));
//const CbmMuchDigi* digi = static_cast<const CbmMuchDigi*>(fDigis->At(digiIndex));
CbmMuchCluster
*
cluster
=
new
((
*
fClusters
)[
fuClusters
++
])
CbmMuchCluster
();
Int_t
address
=
CbmMuchAddress
::
GetAddress
(
CbmMuchAddress
::
GetStationIndex
(
digi
->
GetAddress
()),
...
...
@@ -266,7 +286,11 @@ void CbmMuchFindHitsGem::FindClusters(CbmEvent* event) {
for
(
Int_t
iDigi
=
0
;
iDigi
<
nDigis
;
iDigi
++
)
{
UInt_t
digiIndex
=
(
event
?
event
->
GetIndex
(
ECbmDataType
::
kMuchDigi
,
iDigi
)
:
iDigi
);
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(digiIndex);
//const auto * digi;
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
digiIndex
));
//const CbmMuchDigi* digi =static_cast<const CbmMuchDigi*>(fDigis->At(digiIndex));
Double_t
time
=
digi
->
GetTime
();
// Double_t chanid = digi->GetChannelId();
...
...
@@ -295,7 +319,11 @@ void CbmMuchFindHitsGem::FindClusters(CbmEvent* event) {
fFiredPads
.
clear
();
for
(
it
=
slices
[
s
-
1
];
it
!=
slices
[
s
];
it
++
){
Int_t
iDigi
=
it
->
second
;
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(iDigi);
const
CbmMuchDigi
*
digi
;
//const auto * digi;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
iDigi
));
//const CbmMuchDigi* digi = static_cast<const CbmMuchDigi*>(fDigis->At(iDigi));
CbmMuchPad
*
pad
=
module
->
GetPad
(
digi
->
GetAddress
());
pad
->
SetDigiIndex
(
iDigi
);
...
...
@@ -307,7 +335,12 @@ void CbmMuchFindHitsGem::FindClusters(CbmEvent* event) {
CreateCluster
(
fFiredPads
[
p
]);
if
(
fDigiIndices
.
size
()
==
0
)
continue
;
//const CbmMuchDigi* digi = static_cast<const CbmMuchDigi*>(fDigis->At(fDigiIndices.front()));
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
fDigiIndices
.
front
());
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(fDigiIndices.front());
//const auto * digi;
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
fDigiIndices
.
front
()));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
fDigiIndices
.
front
()));
CbmMuchCluster
*
cluster
=
new
((
*
fClusters
)[
fuClusters
++
])
CbmMuchCluster
();
Int_t
address
=
CbmMuchAddress
::
GetAddress
(
CbmMuchAddress
::
GetStationIndex
(
digi
->
GetAddress
()),
CbmMuchAddress
::
GetLayerIndex
(
digi
->
GetAddress
()),
CbmMuchAddress
::
GetLayerSideIndex
(
digi
->
GetAddress
()),
...
...
@@ -341,16 +374,22 @@ void CbmMuchFindHitsGem::CreateCluster(CbmMuchPad* pad) {
// ----- Private method ExecClusteringSimple ----------------------------
void
CbmMuchFindHitsGem
::
ExecClusteringSimple
(
CbmMuchCluster
*
cluster
,
Int_t
iCluster
,
CbmEvent
*
event
)
{
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
cluster
->
GetDigi
(
0
));
//CbmMuchDigi* digi = static_cast<CbmMuchDigi*>(fDigis->At(cluster->GetDigi(0)));
CbmMuchModule
*
m
=
fGeoScheme
->
GetModuleByDetId
(
digi
->
GetAddress
());
CbmMuchModuleGem
*
module
=
(
CbmMuchModuleGem
*
)
m
;
// Int_t iStation = CbmMuchAddress::GetStationIndex(digi->GetAddress());
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(cluster->GetDigi(0));
//const auto * digi;
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
cluster
->
GetDigi
(
0
)));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
cluster
->
GetDigi
(
0
)));
//CbmMuchDigi* digi = static_cast<CbmMuchDigi*>(fDigis->At(cluster->GetDigi(0)));
CbmMuchModule
*
m
=
fGeoScheme
->
GetModuleByDetId
(
digi
->
GetAddress
());
CbmMuchModuleGem
*
module
=
(
CbmMuchModuleGem
*
)
m
;
// Int_t iStation = CbmMuchAddress::GetStationIndex(digi->GetAddress());
Int_t
maxCharge
=
0
;
for
(
Int_t
iDigi
=
0
;
iDigi
<
cluster
->
GetNofDigis
();
iDigi
++
)
{
Int_t
digiIndex
=
cluster
->
GetDigi
(
iDigi
);
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
);
//digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(digiIndex);
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
digiIndex
));
//digi = static_cast<CbmMuchDigi*> (fDigis->At(digiIndex));
Int_t
charge
=
digi
->
GetAdc
();
if
(
charge
>
maxCharge
)
maxCharge
=
charge
;
...
...
@@ -362,7 +401,9 @@ void CbmMuchFindHitsGem::ExecClusteringSimple(CbmMuchCluster* cluster,Int_t iClu
fFiredPads
.
clear
();
for
(
Int_t
iDigi
=
0
;
iDigi
<
cluster
->
GetNofDigis
();
iDigi
++
)
{
Int_t
digiIndex
=
cluster
->
GetDigi
(
iDigi
);
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
);
//digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(digiIndex);
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
digiIndex
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
digiIndex
));
//digi = static_cast<CbmMuchDigi*> (fDigis->At(digiIndex));
if
(
digi
->
GetAdc
()
<=
threshold
)
continue
;
CbmMuchPad
*
pad
=
module
->
GetPad
(
digi
->
GetAddress
());
...
...
@@ -394,7 +435,11 @@ void CbmMuchFindHitsGem::ExecClusteringPeaks(CbmMuchCluster* cluster,Int_t iClus
// Fill cluster map
for
(
Int_t
i
=
0
;
i
<
nDigis
;
i
++
){
Int_t
iDigi
=
cluster
->
GetDigi
(
i
);
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(iDigi);
//const auto * digi;
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
iDigi
));
//const CbmMuchDigi* digi = static_cast<const CbmMuchDigi*>(fDigis->At(iDigi));
UInt_t
address
=
digi
->
GetAddress
();
CbmMuchModuleGem
*
module
=
(
CbmMuchModuleGem
*
)
fGeoScheme
->
GetModuleByDetId
(
address
);
...
...
@@ -465,7 +510,11 @@ void CbmMuchFindHitsGem::CreateHits(CbmMuchCluster* cluster, Int_t iCluster, Cbm
for
(
Int_t
i
=
0
;
i
<
nDigis
;
i
++
)
{
Int_t
iDigi
=
cluster
->
GetDigi
(
i
);
const
CbmMuchDigi
*
digi
=
(
CbmMuchDigi
*
)
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
);
//const CbmMuchDigi* digi = (CbmMuchDigi*) fDigiManager->Get<CbmMuchDigi>(iDigi);
//const auto * digi;
const
CbmMuchDigi
*
digi
;
if
(
!
bBeamTimeDigi
)
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchDigi
>
(
iDigi
));
else
digi
=
static_cast
<
const
CbmMuchDigi
*>
(
fDigiManager
->
Get
<
CbmMuchBeamTimeDigi
>
(
iDigi
));
//const CbmMuchDigi* digi = static_cast<const CbmMuchDigi*>(fDigis->At(iDigi));
if
(
i
==
0
)
{
address
=
CbmMuchAddress
::
GetElementAddress
(
digi
->
GetAddress
(),
kMuchModule
);
...
...
This diff is collapsed.
Click to expand it.
reco/detectors/much/CbmMuchFindHitsGem.h
+
8
−
1
View file @
ab014398
...
...
@@ -54,6 +54,8 @@ class CbmMuchFindHitsGem: public FairTask {
void
SetClusterSeparationTime
(
Double_t
time
)
{
fClusterSeparationTime
=
time
;
}
// Removing SetDaq functionality as Cluster and Hit Finder algorithm is same for both the Time Based and Event Based mode.
// void SetDaq(Bool_t daq) { fDaq = daq; }
// Set functionality for accepting CbmMuchBeamTimeDigi generated from mCBM data.
void
SetBeamTimeDigi
(
Bool_t
beam
)
{
bBeamTimeDigi
=
beam
;
}
private
:
virtual
InitStatus
Init
();
...
...
@@ -88,8 +90,13 @@ class CbmMuchFindHitsGem: public FairTask {
// Removing SetDaq functionality as Cluster and Hit Finder algorithm is same for both the Time Based and Event Based mode.
//Bool_t fDaq; // To daq or not to daq // TODO
//CbmTimeSlice* fTimeSlice; // Time slice object in the DAQ approach
std
::
vector
<
CbmMuchDigi
>
fDigiData
;
// Vector of digis
// according to the input branch , below need to be used so using auto, such that runtime it will decide
//std::vector<CbmMuchDigi> fDigiData; // Vector of digis
// No need of fDigiDtata
//std::vector< auto > fDigiData; // Vector of digis
UInt_t
fuClusters
=
0
;
//Number of Clusters.
Bool_t
bBeamTimeDigi
=
kFALSE
;
// Boolean for Using Beam Time Digi
CbmMuchFindHitsGem
(
const
CbmMuchFindHitsGem
&
);
CbmMuchFindHitsGem
operator
=
(
const
CbmMuchFindHitsGem
&
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment