Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Process for veto analysis #20

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

Conversation

lobis
Copy link
Member

@lobis lobis commented Sep 14, 2022

lobis Large: 592

Added TRestGeant4ToDetectorSignalVetoProcess for analysis of veto events and corresponding tests.

@lobis lobis marked this pull request as ready for review September 14, 2022 10:00
@lobis lobis changed the title Lobis prepare for multithreading Process for veto analysis Sep 14, 2022
any GetInputEvent() const override { return fInputEvent; }
any GetOutputEvent() const override { return fOutputEvent; }

inline void SetGeant4Metadata(const TRestGeant4Metadata* metadata) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The process has access to TRestGeant4Metadata through TRestRun.

It is enough to do fGeant4Metada = GetMetadata<TRestGeant4Metadata>(); as it is done in other processes.

jgalan@sultan2:~/rest-framework/source/libraries/geant4$ grep -rnw . -e "GetMetadata"
./src/TRestGeant4NeutronTaggingProcess.cxx:145:    fG4Metadata = GetMetadata<TRestGeant4Metadata>();
./src/TRestGeant4BlobAnalysisProcess.cxx:66:    fG4Metadata = GetMetadata<TRestGeant4Metadata>();
./src/TRestGeant4AnalysisProcess.cxx:286:    fG4Metadata = GetMetadata<TRestGeant4Metadata>();
./src/TRestGeant4VetoAnalysisProcess.cxx:123:    fG4Metadata = GetMetadata<TRestGeant4Metadata>();
jgalan@sultan2:~/rest-framework/source/libraries/geant4$ 

Why do you want to set it externally?

@jgalan
Copy link
Member

jgalan commented Sep 15, 2022

For me the biggest problem of this PR is that it brings to connectorslib very specific tasks from geant4lib such as accessing the geometry volume, calculating the quenching factor, etc.

I think we should find the time to meet (probably also with @juanangp) and think of an implementation that minimises the coding inside connectorslib.

In my opinion, such minimisation of code inside connectorslib should be done by creating a new TRestGeant4QuenchingFactorProcess that makes use of the Geant4 geometry to introduce the quenching inside geant4lib.

Then, working out an upgrade of TRestDetectorHitsToSignalProcess that makes use of a readout where we can identify different types, "micromegas", "scintillator", "PMT", ...

So, we just use TRestGeant4ToDetectorHitsProcess and then the upgraded TRestDetectorHitsToSignalProcess.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants