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

Check all EDAnalyzers in the 2015MiniAOD branch #64

Open caredg opened 2 years ago

caredg commented 2 years ago

In the spirit of #56, check the EDAnalyzers that were initially implemented in the 2015MiniAOD branch to verify that:

The EDAnalyzers that need to be checked are:

It is very important that, as one checks this information, the corresponding documentation is input in the CMS Open Data Guide, following the work already started, and almost finished, for Run 1 objects.

Also, these two analyzers should be created if possible:

The master branch of the TriggerInfoTool could be used to create the TriggerAnalyzer.

NOTE: Please create a separate issue for each EDAnalyzer test and, if possible, assign it to yourself

katilp commented 2 years ago

Recording the very useful list from @jmhogan (in the WS mattermost) here:

caredg commented 2 years ago

From Julie: Some references for jet substructure variable storage in early MiniAOD: https://github.com/jmhogan/Ljmet-Com/blob/CMSSW_7_6_X/src/JetSubCalc.cc

thePrunedMass = corrunc(double)l2l3jet.userFloat("ak8PFJetsCHSPrunedMass"); theSoftDropMass = corrunc(double)l2l3jet.userFloat("ak8PFJetsCHSSoftDropMass"); theNjettinessTau1 = (double)corrak8.userFloat("NjettinessAK8:tau1"); theNjettinessTau2 = (double)corrak8.userFloat("NjettinessAK8:tau2");

"Early" MiniAOD certainly means 2015 and I think also 2016 before they switched the default AK8 jet collection to Puppi jets.

jmhogan commented 2 years ago

To be a little more general: variable = thisPatJetObject.userFloat("specificName"); Where the "specificName" strings are in the comment above.

JEC/JER don't get propagated to userFloat content, so the code link shows our method to calculate and apply the corrections onto those mass variables.

nsmith- commented 2 years ago

A possible direction we can go in is to port some of these corrections to correctionlib. An introductory tutorial is at https://cms-nanoaod.github.io/correctionlib/correctionlib_tutorial.html