nanoAOD support

The framework implements some convenience features to handle CMS nanoAOD samples. You can find the following clases in tea/libs/extensions:

  • NanoEvent: provides a number of methods allowing easier access to MET, and otherwise facilitating operations on prompt and displaced muons, as well as dimuon vertices.

  • NanoEventProcessor: gives access to event-level scale factors, tell you if a given event is data or MC, etc.

  • NanoGenParticle: useful whenever you need to do some gen-level study/matching. It can give you the first copy of the gen particle, its kinematic properties, check if it is a given type of a particle, etc.

  • NanoMuon, NanoElectron, NanoJet: wrappers on top of reconstructed muons, electrons, and jets. Give access to object-level scale factors and some additional functionality (such as getting the gen-level muon assiociated with a reconstructed muon).

  • NanoDimuonVertex: if you’re using LLPnanoAOD or EXOnanoAOD, this class will help with dimuon vertices handling.

If your object or a functionality is not covered yet - feel free to contribute by creating a PR, or create an issue in GitHub!