Noise analysis in TRestRawSignalAnalysisProcess

REST version : v2.2.18

We found it very unfriendly to do noise analysis in TRestRawSignalAnalysisProcess. It would return NULL if the event has zero good signals. It has been reverted in f9d0fc65, although leads to a different result in pipeline(Sign in · GitLab). Now we also found that It will not write to map observable if the signal has zero pulse. Is it possible to revert this feature?

I guess we just need to add the <cut name="NumberOfGoodSignals" value="(1,1000)" /> to the corresponding RML in our validation TREX pipeline? So that it will fix the pipeline?

I see the validation file uploaded to the repository has 98 entries, while the pipeline chain contains 100 entries.

So which maps were not being added to the tree?

Ok, I understand that. Do you think adding a metadata parameter to the process Bool_t fAcceptNoise; //< will solve the problem? Which is “false” by default?

So that we write

if( !fAcceptNoise && sgnl->GetPointsOverThreshold().size() < 2 ) continue;

Yes, this should be a solution

This increases complexity. Why we need to exclude noise signals in map observables?

I remember I had to add this here for some reason because it was affecting some observables by faking the real value. However, if it only affects the map variables I dont see why we could just write all of them.

Still, the nGoodSignals it is calculated in the same loop. We should still keep the good definition by calculating nGoodSignals in an independent loop using only pulses where we have a positive threshold integral definition.

OK, it sounds reasonable