lcfiplus / LCFIPlus

Flavor tagging code for ILC detectors
https://confluence.slac.stanford.edu/display/ilc/LCFIPlus
GNU General Public License v3.0
6 stars 19 forks source link

Running LcfiplusProcessor without input PFOCollection #58

Open dantrim opened 3 years ago

dantrim commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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.