Skip to content
Snippets Groups Projects
Commit f12d490e authored by Pierre-Alain Loizeau's avatar Pierre-Alain Loizeau
Browse files

mCBM: fix bugs in generic timing checker classes

- Enable saving of histo root file
- Fix readout of number of digis when using T0 as checked detector
parent 3f01e641
No related branches found
No related tags found
No related merge requests found
......@@ -140,6 +140,7 @@ void CbmMcbmCheckTimingAlgo::CreateHistos()
1800, 0, 18000,
(*det).uRangeNbBins, (*det).dTimeRangeBeg, (*det).dTimeRangeEnd )
);
LOG( info ) << "Created histos for " << (*det).sName;
} // for( std::vector< CheckTimingDetector >::iterator det = fvDets.begin(); det != fvDets.end(); ++det )
/// Add reference detector digi to digi time difference histo at end of vector
......@@ -275,7 +276,7 @@ void CbmMcbmCheckTimingAlgo::CheckInterSystemOffset()
} // if( ECbmModuleId::kT0 == fRefDet.detId )
else
{
dRefTime = fDigiMan->Get< DigiRef >( uDigi )->GetTime() ;
dRefTime = fDigiMan->Get< DigiRef >( uDigi )->GetTime();
dRefCharge = fDigiMan->Get< DigiRef >( uDigi )->GetCharge();
} // else of if( ECbmModuleId::kT0 == fRefDet.detId )
......@@ -361,7 +362,27 @@ void CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos( const Double_t dRefTime,
const Double_t dRefCharge,
UInt_t uDetIdx )
{
UInt_t uNbDigis = fDigiMan->GetNofDigis( fvDets[ uDetIdx ].detId );
UInt_t uNbDigis = 0;
switch( fvDets[ uDetIdx ].detId )
{
case ECbmModuleId::kNotExist:
{
LOG( fatal ) << "CbmMcbmCheckTimingAlgo::FillTimeOffsetHistos => Unknow detector enum! "
<< fRefDet.sName;
break;
} // Digi containers controlled by DigiManager
case ECbmModuleId::kT0:
{
uNbDigis = fpT0DigiVec->size();
break;
} // case ECbmModuleId::kT0
default:
{
uNbDigis = fDigiMan->GetNofDigis( fvDets[ uDetIdx ].detId );
break;
} // default:
} // switch( fRefDet.detId )
UInt_t uFirstDigiInWin = fvDets[ uDetIdx ].iPrevRefFirstDigi;
for( UInt_t uDigiIdx = fvDets[ uDetIdx ].iPrevRefFirstDigi; uDigiIdx < uNbDigis; ++uDigiIdx )
......@@ -446,12 +467,14 @@ void CbmMcbmCheckTimingAlgo::WriteHistos()
for( UInt_t uDetIdx = 0; uDetIdx < fvDets.size(); ++uDetIdx )
{
LOG( info ) << "Saving histos for " << fvDets[ uDetIdx ].sName;
fvhDetSelfDiff[ uDetIdx ]->Write();
fvhDetToRefDiff[ uDetIdx ]->Write();
fvhDetToRefDiffRefCharge[ uDetIdx ]->Write();
fvhDetToRefDiffDetCharge[ uDetIdx ]->Write();
fvhDetToRefDiffEvo[ uDetIdx ]->Write();
fvhDetToRefDiffEvoLong[ uDetIdx ]->Write();
LOG( info ) << "Saved histos for " << fvDets[ uDetIdx ].sName;
} // for( std::vector< CheckTimingDetector >::iterator det = fvDets.begin(); det != fvDets.end(); ++det )
/// Register the histo for reference detector digi to digi time difference
......
......@@ -69,7 +69,7 @@ void CbmMcbmCheckTimingTask::Exec(Option_t* /*option*/)
// ---- Finish --------------------------------------------------------
void CbmMcbmCheckTimingTask::Finish()
{
// SaveHistos();
SaveHistos();
/// Call Algo finish method
fpAlgo->Finish();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment