Tools for running WAW ntuple production from NanoAOD by CMS
Port of tools by A. Kalinowski, M. Bluj et al. based on KLUB/LLR trees to CMS NanoAOD
- NanoEventsSkeleton.{h,C}: interfacte to NanoAOD ntuples produced from NanoAOD with the ROOT's MakeClass tool, it needs be updated after each modification of NanoAOD format.
- HTauTauTreeFromNanoBase.{h,C}: base class to translate to WAW format
- HMuTauhTreeFromNano.{h,C}: specialization for the mu+tau channel
- HTauhTauhTreeFromNano.{h,C}: specialization for the di-tau channel
- HTTEvent.{h,cxx}: definition of WAW analysis classes
- PropertyEnum.h, TriggerEnum.h: definition of enums, (re)generated by the tool
- AnalysisEnums.h, SelectionBitsEnum.h: definition of enums
- convertNano.py: script to run conversion
- Production tools:
- crab3.py: template of the crab3 configuration file
- datasetsMoriond17.py: list of dataset to process
- PSet.py: dummy CMSSW configuration needed by crab3
- submitJobsMakeAndConvert2016.py: script to submit crab jobs
- copyFilesFromAnySE_gfal.py: tool to copy outputs from a grid storage
- mergeROOTFiles.py: tool to merge output ntuples - called by submitJobsMakeAndConvert2016.py
Installation recipe for CMSSW_9_4_4
scram project -n CMSSW_9_4_4_fromNano CMSSW CMSSW_9_4_4
cd CMSSW_9_4_4_fromNano/src/
cmsenv
# NanoAOD and tools
git cms-addpkg PhysicsTools/NanoAOD #not mandatory, but it initializes git for CMSSW which is already useful
git clone https://github.com/cms-nanoAOD/nanoAOD-tools.git PhysicsTools/NanoAODTools # not used for now, but can be in future, e.g. JES?
# SVFit
git clone https://github.com/svfit/ClassicSVfit.git TauAnalysis/ClassicSVfit
git clone https://github.com/svfit/SVfitTF.git TauAnalysis/SVfitTF
# MET recoil corrections
git clone https://github.com/CMS-HTT/RecoilCorrections.git HTT-utilities/RecoilCorrections
# WAW production tools from NanoAOD
git clone https://github.com/mbluj/ProductionFromNano.git WawTools/NanoAODTools
# compile
scram b -j 4
Execution
-
Test local processing:
python convertNano.pyNote: edit
convertNano.pyto set required processing options and input files -
Grid execution:
Setup crab3 environment (only once per session):
source /cvmfs/cms.cern.ch/crab3/crab.[c]shand submit jobs:
python submitJobsMakeAndConvert2016.pyNote: edit a list of dataset to process in the
datasetsMoriond17.pyfile
Release notes:
- 16.01.2018, M.Bluj, initial version for 80X (2016) inputs with CMSSW_9_4_2
- 26.02.2018, M.Bluj, update to NanoAOD of 05Feb2018 production of 2016 data wiht CMSSW_9_4_4
- 14.03.2018, M.Bluj, grid production tools with json filtereing (note: problem with big samples with >100k of lumis, only one file/job processing allowed with recent crab3 versions)