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

No output collections are created if FTDCollection has no SimHits #58

Open
dudarboh opened this issue Oct 19, 2021 · 3 comments
Open

No output collections are created if FTDCollection has no SimHits #58

dudarboh opened this issue Oct 19, 2021 · 3 comments

Comments

@dudarboh
Copy link
Member

dudarboh commented Oct 19, 2021

Issue

FTDPixelTrackerHit, RelationsFTDPixelTrackerHits, FTD_PIXELCollection,
FTDStripTrackerHit, RelationsFTDStripTrackerHits, FTD_STRIPCollection,
FTDSpacePointRelations, FTDSpacePoints
collections are only present if FTDCollection collection has more than 0 entries.

anajob /pnfs/desy.de/ilc/prod/ilc/mc-2020/ild/rec/1-calib/single/ILD_l5_o1_v02_nobg/v02-02-01/00015417/000/rv02-02-01.sv02-02-01.mILD_l5_o1_v02_nobg.E1-calib.I110081.Ps_pm11_prnd.e0.p0.n001_010.d_rec_00015417_370.slcio | grep -e "^FTD*" -e "^EVENT:*" | head -n 30

Output:

EVENT: 18001
FTDCollection                 SimTrackerHit                    0
EVENT: 18002
FTDCollection                 SimTrackerHit                    1
FTDPixelTrackerHitRelations   LCRelation                       1
FTDPixelTrackerHits           TrackerHitPlane                  1
FTD_PIXELCollection           SimTrackerHit                    1
EVENT: 18003
FTDCollection                 SimTrackerHit                    0
EVENT: 18004
FTDCollection                 SimTrackerHit                    0
EVENT: 18005
FTDCollection                 SimTrackerHit                    0
EVENT: 18006
FTDCollection                 SimTrackerHit                    4
FTDSpacePointRelations        LCRelation                       4
FTDSpacePoints                TrackerHit                       2
FTDStripTrackerHitRelations   LCRelation                       4
FTDStripTrackerHits           TrackerHitPlane                  4
FTD_STRIPCollection           SimTrackerHit                    4
EVENT: 18007
FTDCollection                 SimTrackerHit                    0
EVENT: 18008
FTDCollection                 SimTrackerHit                    0
EVENT: 18009
FTDCollection                 SimTrackerHit                    0
EVENT: 18010
FTDCollection                 SimTrackerHit                    0
EVENT: 18011
FTDCollection                 SimTrackerHit                    0

We agreed we should always produce output collections, even if empty to avoid bugs.
iLCSoft/MarlinReco#93

@dudarboh
Copy link
Member Author

Do we want to fix this for dev release? @tmadlener @gaede

@dudarboh
Copy link
Member Author

The same with V0Vertices and V0RecoParticles collections.
They are present only when found.

anajob rv02-02.sv02-02.mILD_l5_o1_v02.E250-SetA.I500010.P2f_z_h.eL.pR.n001_250.d_rec_00015161_88.slcio | grep -e "^V0V*" -e "^EVENT:*" | head -n 30
EVENT: 199601
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199602
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199603
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199604
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199605
EVENT: 199606
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199607
EVENT: 199608
EVENT: 199609
EVENT: 199610
V0RecoParticles               ReconstructedParticle            2
V0Vertices                    Vertex                           2
EVENT: 199611
EVENT: 199612
EVENT: 199613
V0RecoParticles               ReconstructedParticle            1
V0Vertices                    Vertex                           1
EVENT: 199614
EVENT: 199615
V0RecoParticles               ReconstructedParticle            1

@tmadlener
Copy link
Contributor

I would vote for fixing this by making empty output collections for collections that are "expected" to be present downstream for the "usual" event (i.e. non-empty inputs). If some of the collections are optional, than they should only be created if they are requested.

Ideally we figure out an easy way to test this, e.g. by preparing a special input (SIM?) file that also has at least one event with missing inputs.

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