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

Running LcfiplusProcessor without input PFOCollection #58

Open
dantrim opened this issue Jul 20, 2021 · 5 comments
Open

Running LcfiplusProcessor without input PFOCollection #58

dantrim opened this issue Jul 20, 2021 · 5 comments

Comments

@dantrim
Copy link

dantrim commented Jul 20, 2021

I am attempting to only run the primary and secondary vertex finding algorithms, without any calorimeter simulation. In this case, I do not run with PandoraPFA algorithms and therefore do not have anything meaningful to specify for the PFOCollections parameter of the LcfiplusProcessor. If we only want to run the PrimaryVertexFinder and BuildUpVertex algorithms, I believe there is no use of the input PFOCollection since only the tracks are used.

Is there a way to configure the LcfiplusProcessor to be run without failure if the PFOCollection is empty? Currently, if the PFOCollection is empty ("") then the LCIOStorer class will try to register the collection with a name "" in InitPFOCollections function, which will throw an exception. I am wondering if it could just easily exit from that function if the PFOCollection parameter is not provided, since the PrimaryVertexFinder and BuildUpVertex algorithms only need input from the track collections which are not a part of the PFO list.

@suehara
Copy link
Member

suehara commented Jul 21, 2021

LCFIPlus extracts tracks from the PFO collection since we have to keep PFO-track connection, so it's not easy to omit PFO collection. I think you can use "TrackToRecoParticleConverter" in MarlinReco to directly produce a PFO collection from tracks without PFA.

@dantrim
Copy link
Author

dantrim commented Jul 21, 2021

Thanks @suehara, I will take a look.

Can you confirm that the current PrimaryVertexFinder and BuildUpVertex algorithms do not use the PFO resulting from running the PFA -- rather, that it only uses the tracks constructed from the tracking processors (in this case, the conformal tracking)? I want to confirm whether or not the two configurations (not running PFA and converting tracks to PFO versus running PFA and not converting tracks to PFO) will be consistent with one another.

@dantrim
Copy link
Author

dantrim commented Jul 21, 2021

I also see that TrackToRecoParticleConverter hardcodes some parameters such as the magnetic field, would this lead to inconsistencies or is this parameter not relevant in terms of retrieving the underlying tracks from the ReconstructedParticle objects within LCFIPlus?

@dantrim
Copy link
Author

dantrim commented Jul 23, 2021

Checking back in @suehara. I can confirm that with using the TrackToRecoParticleConverter while disabling the calorimeter simulation and the running of the PFA, I get similar results to when I run the default detector simulation (with calorimeter) and reconstruction (with PFA):
image

@suehara
Copy link
Member

suehara commented Jul 23, 2021

Thanks for the information. That's good.
Tracks in the track collection and PandoraPFA output (of the charged particles) should be quite similar, but PandoraPFA runs some arrangement of the tracks such as kink finder and V0 finder, so it should not be fully identical.
You may see slight difference on the performance.

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

No branches or pull requests

2 participants