cms-opendata-analyses / PhysObjectExtractorTool

This repository has working code examples (snippets) on how to access different physics objects in the context of CMSSW software.
6 stars 36 forks source link

2011 txt files (2011 branch) #42

Open katilp opened 3 years ago

katilp commented 3 years ago

@jmhogan When I run jec_cfg.py for 2011 data, I get the following txt files generated:

-rw-r--r-- 1 cmsusr cmsusr 15365 Jul  5 09:02 FT_53_LV5_AN1_L1FastJet_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  3143 Jul  5 09:02 FT_53_LV5_AN1_L2L3Residual_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr 14139 Jul  5 09:02 FT_53_LV5_AN1_L2Relative_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr   176 Jul  5 09:02 FT_53_LV5_AN1_L3Absolute_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  1177 Jul  5 09:02 FT_53_LV5_AN1_L5Flavor_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  1177 Jul  5 09:02 FT_53_LV5_AN1_L5Flavor_bJ_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  1177 Jul  5 09:02 FT_53_LV5_AN1_L5Flavor_cJ_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  1177 Jul  5 09:02 FT_53_LV5_AN1_L5Flavor_gJ_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr  1177 Jul  5 09:02 FT_53_LV5_AN1_L5Flavor_qJ_AK5PF.txt
-rw-r--r-- 1 cmsusr cmsusr 81214 Jul  5 09:02 FT_53_LV5_AN1_Uncertainty_AK5PF.txt

With these available and running the script which looks for db files needed, I see the following exception

Principal::getByLabel: Found zero products matching all criteria Looking for type: edm::AssociationVector<edm::RefToBaseProd<reco::Jet>,std::vector<float>,edm::RefToBase<reco::Jet>,unsigned int,edm::helper::AssociationIdenticalKeyReference> Looking for module label: softElectronByPtBJetTags Looking for productInstanceName: Additional Info: [a] If you wish to continue processing events after a ProductNotFound exception, add "SkipEvent = cms.untracked.vstring('ProductNotFound')" to the "options" PSet in the configuration.

This is not about missing db's. Do you know what this is about?

This happens also for 2011 MC, but not for the 2012 data & MC. I see that there's an additional file JetResolutionInputAK5PF.txt` which does not come through running jec_cfg.py (I think you mentioned that elsewhere). Is it somehow related to that?

Or, is there something in addition to the txt files generated with jec_cfg.py needed to run the example?

We can also leave out 2011 for now, but it would be good to sort out.

jmhogan commented 3 years ago

Hi, I've asked @jrw46742 to test this out. To me it looks like a problem with the suite of btags when trying to run addJetCollection. Julian, see if you can replicate and poke at the config (maybe give our specific b discriminator as an input parameter) to avoid needing this missing discriminator.

jmhogan commented 3 years ago

@katilp @caredg @jrw46742

Julian has tracked down this error. In 2011 files: -- There appear to be some different b-tagging outputs stored. The CMSSW_5_3_32 default tagger lists are too new for these files, but we can edit the list in the config to avoid this particular failure. -- The trigger analyzer is causing a seg fault once we fix this so that POET runs to that point. Probably a collection is being opened and used that doesn't exist in the older files.

I think a poet_2011_cfg.py would be the best way to deal with this in the future since lots of config settings need to change for the different years.

caredg commented 3 years ago

@jmhogan @jrw46742 If the trigger analyzer fails running over 2011 files, it is most probably because of the triggers that we ask for. To test, you could pick up this trigger config line instead of the one in the POET config (which has triggers for 2012).

katilp commented 3 years ago

@jmhogan I also think that a separate poet_2011_cfg.py would be the best.

jrw46742 commented 3 years ago

@caredg's suggestion fixes the seg fault due to the trigger analyzer.

As for poet_2011_cfg.py, I have a working version that could be used in the future.