Closed tmadlener closed 2 years ago
@tmadlener Could you let us know what sample to be used to reproduce the problem? It would be helpful to identify the cause. Thank you in advance.
Apologies for the delay. I have put an input DST file onto my public afs directory:
/afs/desy.de/user/m/madlener/public/LCFIPlus/ddsim_out_53520300_15_DST.slcio
This fails for us with the MarlinStdRecoMiniDST.xml
workflow from the master branch of ILDConfig. Note, however, that this workflow currently crashes earlier if the changes from iLCSoft/MarlinReco#94 are not applied. It is possible to run a slightly adapted workflow to "circumvent" the earlier problems, by only leaving the InitDD4hep
and the first LCFIPlus processors in the execute
section (JC2FT
and EF2
). In this case also the input collection for the JC2FT
processor has to be changed to PandoraPFOs
(see diff below).
Let me know if there are any problems in accessing the files or with this brief description of how to reproduce the problem.
diff --git a/StandardConfig/production/MarlinStdRecoMiniDST.xml b/StandardConfig/production/MarlinStdRecoMiniDST.xml
index a5098f2..32fc8c9 100644
--- a/StandardConfig/production/MarlinStdRecoMiniDST.xml
+++ b/StandardConfig/production/MarlinStdRecoMiniDST.xml
@@ -4,23 +4,23 @@
<processor name="InitDD4hep"/>
<!--processor name="FastJetOverlay"/>
<processor name="ExpandJet"/-->
- <processor name="Thrust"/>
+ <!--processor name="Thrust"/>
<processor name="Sphere"/>
<processor name="Fox"/>
<processor name="IsolatedMuonTagging"/>
<processor name="IsolatedElectronTagging"/>
<processor name="IsolatedTauTagging"/>
- <processor name="IsolatedPhotonTagging"/>
+ <processor name="IsolatedPhotonTagging"/-->
<processor name="JC2FT"/>
<processor name="EF2"/>
- <processor name="JC3FT"/>
+ <!--processor name="JC3FT"/>
<processor name="EF3"/>
<processor name="JC4FT"/>
<processor name="EF4"/>
<processor name="JC5FT"/>
<processor name="EF5"/>
<processor name="JC6FT"/>
- <processor name="EF6"/>
+ <processor name="EF6"/-->
<if condition="${RundEdxCorrections}">
<processor name="ComputeCorrectAngulardEdX"/>
<processor name="LikelihoodPID"/>
@@ -255,7 +255,7 @@
<parameter name="Algorithms" type="stringVec"> JetClustering JetVertexRefiner FlavorTag ReadMVA</parameter>
<!-- general parameters -->
- <parameter name="PFOCollection" type="string" value="PFOsminusphoton" /> <!-- input PFO collection -->
+ <parameter name="PFOCollection" type="string" value="PandoraPFOs" /> <!-- input PFO collection -->
<parameter name="UseMCP" type="int" value="0" /> <!-- MC info not used -->
<parameter name="MCPCollection" type="string" value="" /> <!-- not used -->
<parameter name="MCPFORelation" type="string" value="" /> <!-- not used -->
@tmadlener Thank you for your input. I was able to reproduce the problem. I found that LCFIPlus tried to access the null pointer for primary vertex when no primary vertex was found. So I have made a pull request to make a "practical" or "virtual" vertex that is defined as (0.,0.,0.) with error (0.,0., beam spot size in z) in such special cases.
In the context of the miniDST workflow we have encountered some issues when the primary vertex collection is empty: iLCSoft/MarlinReco#93. We have a fix available for the underlying problem there (see iLCSoft/MarlinReco#94). However, with that fix in place we run into problems with LCFIPlus, which is run directly after the isolated lepton finding/tagging in the miniDST workflow.
We get a segmentation fault and the following stacktrace:
I had a quick look into the
SimpleSecMuonFinder
and theJetFinder::prerun
, but I couldn't find anything obvious there. Could you have a look and see what the problem is in this case? We can also provide the necessary inputs to reproduce the above crash.NOTE: The stacktrace above does not use a central ilcsoft installation, but we get a segmentation violation also if we use the v02-02-02 release (even if we do not get a stacktrace with that).