Main repository for Emerging Jet analysis
- EmJetAnalyzer: Main analyzer - analyzes input jets and outputs flat NTuple
- JetFilter: Applies basic kinematic selection for the signal region and outputs selected jets for analysis
- WJetFilter: Applies W+jet selection and outputs selected jets for analysis
Cog is used for code generation of classes with repetitive structure, e.g. EmergingJetAnalyzer/interface/OutputTree.h
To install, simply execute:
pip install --user cogapp
cmsrel CMSSW_8_0_26_patch1
cd CMSSW_8_0_26_patch1/src
cmsenv
git cms-merge-topic yhshin11:fix-GetTrackTrajInfo # Needed for track trajectory info.
git clone https://github.com/yhshin11/EmergingJetAnalysis.git
cmsenv
cd EmergingJetAnalysis
./buildAll.sh
cmsRun Configuration/test/test_cfg.py
For our analysis involving Emerging Jets, we follow the following steps:
- Skim the data for useful events and select jets (JetFilter/WJetFilter)
- Run the analyzer over the selected events/jets and produce ROOT files containing simple TTree objects (EmJetAnalyzer)
- Make histograms/plots from the flat ROOT files
An example config file is provided at Configuration/test/test_cfg.py
. Make a copy of this file and edit process.source
to run over an appropriate EDM file (AOD/AODSIM). You can now run the config file using cmsRun.
The config file comes with some command line options (defined at the top of the file):
data
(default:0
) - Must be set to 1 when running over real data and not MC.steps
(default:skim,analyze
) - Determines which of the provided steps to execute. Settingskim
turns on the basic selection step. Settinganalyze
turns on the analyzer.sample
(default:signal
) - This sets the module parameters to be appropriate for different samples, e.g. ifsample=wjet
is set, the W+jet kinematic selection (WJetFilter) is used instead of the signal region kinematic selection (JetFilter). The details of the configuration are defined inConfiguration/python/emJetTools.py
. (Warning: The logic here may change while the analysis is ongoing.)
For example to run both the skim and analyze steps over signal MC, simply do:
cmsRun Configuration/test/test_cfg.py data=0 steps=skim,analyze sample=signal
Since the provided options are exactly the default, you could also simply do:
cmsRun Configuration/test/test_cfg.py
Sometimes you may want to run the two steps separately. For instance since the skimming step is more stable while the analyze step is more in flux, you may want to run only the skimming step over a large dataset, so that you can run different versions of the analyze step later on. To run only the skimming step over data events, you can do:
cmsRun Configuration/test/test_cfg.py data=1 steps=skim
Note: By default, EmJetAnalyzer expects as input, jets that were selected by WJetFilter or JetFilter. This means that you cannot only run the analyze step over a bare AOD/AODSIM file.