Skip to content

Commit 672887d

Browse files
jdbriceakioogawajdb12@rice.eduplexoos
authored
Fix crash when running StMuDst2StEventMaker with partial MuDst (#747)
When running afterburner MuDst->PicoDst conversion for FWD we run into this error due to Fms and RHICf Utils crashing when mInfo exists but has no entries. This fixes that issue --------- Co-authored-by: Akio Ogawa <[email protected]> Co-authored-by: [email protected] <[email protected]> Co-authored-by: Dmitri Smirnov <[email protected]>
1 parent b23f754 commit 672887d

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

StRoot/StMuDSTMaker/COMMON/StMuFmsCollection.cxx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,18 @@ StMuFmsPoint* StMuFmsCollection::getPoint(int index) {
141141
}
142142

143143
StMuFmsInfo* StMuFmsCollection::getInfo() {
144-
if (!mInfo) return NULL;
145-
return static_cast<StMuFmsInfo*>(mInfo->At(0));
144+
if (!mInfo) return nullptr;
145+
if (mInfo->GetEntriesFast()>0) return static_cast<StMuFmsInfo*>(mInfo->At(0));
146+
return nullptr;
146147
}
147148

148-
149149
Int_t StMuFmsCollection::fmsReconstructionFlag() {
150-
return getInfo()->fmsReconstructionFlag();
150+
StMuFmsInfo* info=getInfo();
151+
if(info) return info->fmsReconstructionFlag();
152+
return 0;
151153
}
154+
152155
void StMuFmsCollection::setFmsReconstructionFlag(Int_t v){
153-
getInfo()->setFmsReconstructionFlag(v);
154-
}
156+
StMuFmsInfo* info=getInfo();
157+
if(info) info->setFmsReconstructionFlag(v);
158+
}

StRoot/StMuDSTMaker/COMMON/StMuRHICfUtil.cxx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ void StMuRHICfUtil::fillMuRHICf(StMuRHICfCollection* muColl, StRHICfCollection*
5959
muRHICfRawHit -> setTriggerNumber(coll->getTriggerNumber());
6060
muRHICfRawHit -> setRunTime(0, coll->getRunTime(0));
6161
muRHICfRawHit -> setRunTime(1, coll->getRunTime(1));
62-
muRHICfRawHit -> setRunTRGM(coll->getRunTRGM());
62+
muRHICfRawHit -> setRunTRGM(coll->getRunTRGM());
6363

6464
fillMuRHICfRawHit(muRHICfRawHit, rhicfRawHit);
6565

@@ -87,6 +87,9 @@ void StMuRHICfUtil::fillRHICf(StRHICfCollection* coll, StMuRHICfCollection* muCo
8787
StMuRHICfRawHit* muRHICfRawHit = muColl -> getRawHit();
8888
StRHICfRawHit* rhicfRawHit = coll -> rawHitCollection();
8989

90+
if(!muRHICfRawHit) return;
91+
if(!rhicfRawHit) return;
92+
9093
coll -> setRHICfRunNumber(muRHICfRawHit->getRHICfRunNumber());
9194
coll -> setRHICfEventNumber(muRHICfRawHit->getRHICfEventNumber());
9295
coll -> setRunType(muRHICfRawHit->getRunType());

0 commit comments

Comments
 (0)