Skip to content

Spike correction in commission mode and bug in Event.cc

Alexander Droll requested to merge (removed):master into master

Hey there,

I've implemented an option for a spike correction. Basil measured some spikes in the SCurves of the 8CBC hybrid. I've seen them, too.
So I changed the code to have the option that these spikes are corrected. This means:

  • search algorithm for spikes
  • remeasuring the VCth values where the spikes occured
  • correcting these bins in the fSCurve histogram. In my opinion it is a problem in the data flow from the GLIB. I think that there went something wrong, but the discussion about the source of the problem is going on. The new option is named : --spikes or -x (I had no better idea for a shorty) It can be used additionally to the -n option of commission, so the spike correction can be turned off and on.

For the implementation I changed the following files:

SCurve.cc/h added some new methods and a new attribute float fSpikeHeight;:

  • bool findSpikes(std::vector& pSpikes, int pTGrpId, Module* pFe)
  • void correctSpikes(int pTGrpId)
  • void measureVCth(int pVCth, BeBoard* pBoard, int pTGrpId)

PedeNoise.cc: a few lines to start the spike correction

commission.cc: parser of the new command

Channel.cc/h: new methods:

  • void getSpikes(int pNumEvents, std::vector& pSpikeVCth, float pSpikeHeight)
  • void resetVCth(int pVCth);

And I found a bug in Utils/Event.cc: I corrected the getHits() method (return value was missing)

Maybe you like my solution.

Cheers, Alex

Merge request reports