Skip to content

Commit dfd2b5c

Browse files
authored
Merge pull request #31 from pallabidas/gh-pages
Added MET instructions
2 parents a533eb9 + d3d3fc1 commit dfd2b5c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+668
-10
lines changed

_config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
carpentry: "swc"
1212

1313
# Overall title for pages.
14-
title: "CMSDAS@IIT Hyderabad 2025: Jets Short Exercise"
14+
title: "CMSDAS@IIT Hyderabad 2025: Jets and MET Short Exercise"
1515

1616
# Life cycle stage of the lesson
1717
# See this page for more details: https://cdh.carpentries.org/the-lesson-life-cycle.html

_episodes/01-jets101.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -233,15 +233,14 @@ Three main jet collections are stored in the MiniAOD format, as described [here]
233233
>
234234
> ### In C++
235235
> Please take a look at the file [`jmedas_miniAODAnalyzer.C`](https://github.com/cms-jet/JMEDAS/blob/DASJune2025/src/jmedas_miniAODAnalyzer.C) with your favourite code viewer.
236-
> You can run this code by using the python config file [`jmedas_miniAODtest.py`](https://github.com/cms-jet/JMEDAS/blob/DASJune2025/scripts/jmedas_miniAODtest.py) from your terminal once you have set a CMSSW environment and download this JMEDAS package. This script will only print out some information about the jets in that sample. Again, the most important part of this exercise is to get familiar with how to access jet collections from miniAOD. Take a good look at the prints this script produces to your terminal.
237-
Use a **new** directory outside the cloned `JMEDAS` directory.
236+
> You can run this code by using the python config file [`jmedas_miniAODtest.py`](https://github.com/cms-jet/JMEDAS/blob/DASJune2025/scripts/jmedas_miniAODtest.py) from your terminal once you have set a CMSSW environment and download this JMEDAS package. This script will only print out some information about the jets in that sample. Again, the most important part of this exercise is to get familiar with how to access jet collections from miniAOD. Take a good look at the prints this script produces to your terminal. Use a **new** directory outside the cloned `JMEDAS` directory.
238237
> ~~~
239238
> cmsrel CMSSW_14_0_7
240239
> cd CMSSW_14_0_7/src
241240
> cmsenv
242241
> mkdir Analysis
243242
> cd Analysis
244-
> ln <PATH_TO_JMEDAS_DIRECTORY>/JMEDAS
243+
> ln -s <PATH_TO_JMEDAS_DIRECTORY> JMEDAS
245244
> scram b
246245
> cmsRun $CMSSW_BASE/src/Analysis/JMEDAS/scripts/jmedas_miniAODtest.py
247246
> ~~~

_episodes/05-MET101.md

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: "Missing Transverse Energy 101"
3+
teaching: 20
4+
exercises: 10
5+
questions:
6+
- "What is MET? How is MET reconstructed?"
7+
- "What are the types of MET at CMS?"
8+
- "Examples of analyses with MET at CMS"
9+
objectives:
10+
- "Learn about MET, the definition, types and reconstruction algorithms."
11+
- "Learn about extracting MET in MiniAOD files."
12+
keypoints:
13+
- Weakly interacting neutral particles produced in proton-proton (pp) collisions at the LHC traverse the CMS detector unobserved.
14+
- Their presence is inferred from the measurable momentum imbalance in the plane perpendicular to the beam direction when produced alongside electromagnetically charged or neutral particles. This measurable transverse momentum imbalance is referred to as missing transverse momentum (MET).
15+
- Precise determination of MET is critical for Standard Model measurements involving final states with neutrinos and searches for physics beyond the SM targeting new weakly interacting particles.
16+
- MET reconstruction is sensitive to experimental resolutions and mis-measurements of reconstructed particles, detector artifacts, and the effects of additional pp interactions within the same or nearby bunch crossings (pileup).
17+
---
18+
19+
> ## After following the instructions in the jets exercise setup, make sure you have the CMS environment and create the symbolic link to MET analyzer:
20+
>
21+
> ~~~
22+
> cd $CMSSW_BASE/src
23+
> cmsenv
24+
> cd Analysis
25+
> ln -s JMEDAS/MET_Analysis MET
26+
> scram b
27+
> ~~~
28+
> {: .language-bash}
29+
{: .callout}
30+
31+
## Event Reconstruction
32+
33+
Event reconstruction in CMS is achieved using the Particle Flow (PF) algorithm, which integrates information from all CMS subdetectors to reconstruct individual particles.
34+
The algorithm produces a list of PF candidates classified as electrons, photons, muons, neutral hadrons, or charged hadrons.
35+
These PF candidates are then used to reconstruct high-level physics objects, including jets and missing transverse momentum (MET).
36+
37+
<figure>
38+
<img src="../fig/episode5/ParticleFlow.png" alt="" style="width:50%">
39+
<center><figcaption>Schematic of the CMS particle flow reconstruction algorithm.</figcaption></center>
40+
</figure>
41+
42+
## Missing Transverse Energy
43+
44+
MET quantifies the imbalance in the transverse momentum of all visible particles in the final state of collisions—those interacting via electromagnetic or strong forces.
45+
Due to momentum conservation in the transverse plane (the plane perpendicular to the beam), MET reflects the transverse momentum carried by undetected weakly interacting particles, such as neutrinos or potential dark matter candidates.
46+
Although these invisible particles leave no direct signature in the CMS detector, their presence is inferred from the observed net momentum imbalance in the event.
47+
48+
An example of event with MET is shown in the figure below where two top quarks are produced. Each top quark decays into a b-jet and a W boson. The leptonic decay of a W boson leads to a lepton and its corresponding neutrino. So, the final state contains two jets, two leptons and missing transverse energy from two neutrinos.
49+
50+
<figure>
51+
<img src="../fig/episode5/MET_ttbar.png" alt="" style="width:70%">
52+
<center><figcaption>Event display of a ttbar event recorded by CMS shows the dileptonic decay channel with two jets, one electron, one muon, and missing transverse energy from two neutneutrinosrinoes.</figcaption></center>
53+
</figure>
54+
55+
MET is a vital variable in many CMS analyses, playing a key role in both Standard Model measurements and Beyond Standard Model searches.
56+
In the Standard Model, MET is used to study processes involving neutrinos in the final state, such as the W boson mass measurement.
57+
In searches for new physics, MET helps identify potential signatures where weakly interacting particles escape detection, such as dark matter, resulting in an imbalance in transverse momentum.
58+
59+
The images below illustrate two such cases: on the left, a candidate W boson event with $W \rightarrow \mu \nu$, used in the W mass measurement, and on the right, a candidate event for dark matter production, featuring a hard jet recoiling against large missing energy.
60+
61+
<div style="display: flex; justify-content: center; align-items: center;">
62+
<figure style="margin: 0 5px; text-align: center;">
63+
<img src="../fig/episode5/Wmass.png" alt="W boson candidate event" style="width:90%">
64+
<figcaption>W boson candidate event with a muon and neutrino.</figcaption>
65+
</figure>
66+
<figure style="margin: 0 5px; text-align: center;">
67+
<img src="../fig/episode5/DM.png" alt="Dark matter search event" style="width:90%">
68+
<figcaption>Dark matter search event with a hard jet recoiling against large MET.</figcaption>
69+
</figure>
70+
</div>
71+
<p style="text-align: center;">Event displays of analyses involving MET.</p>
72+
73+
74+
### Raw PF MET
75+
76+
The most widely used MET reconstruction algorithm in CMS is the PF MET.
77+
PF MET is reconstructed as the negative vector sum of the pT of all PF candidates in the event, which is summarized in the following equation:
78+
79+
80+
$$\textrm{PF}~\vec{p}_{T}^{~miss} = - \sum_{i \in all~PF~Cands} \vec{p}_{T, i}$$
81+
82+
This is also known as the "raw" PF MET.
83+
84+
### Raw PUPPI MET
85+
86+
Multiple simultaneous proton-proton collisions occurring in the same bunch crossing, referred to as pileup, adversely affect MET resolution, leading to poorer performance at higher pileup levels. To mitigate these effects and improve MET performance with respect to pileup, CMS employs an alternative reconstruction algorithm known as PUPPI MET.
87+
88+
<img src="../fig/episode5/puppi_sketch.png" alt="" style="width:60%">
89+
90+
The PUPPI (Pileup Per Particle Identification) algorithm applies inherently local corrections by leveraging specific properties of particles. Particles originating from the hard scatter process are typically geometrically close to other particles from the same interaction and generally exhibit higher pT. In contrast, pileup particles lack shower structures, have lower pT on average, and are uncorrelated with particles from the leading vertex.
91+
92+
<img src="../fig/episode5/puppi.svg" alt="" style="width:70%">
93+
94+
Using this information, the PUPPI algorithm removes charged particles associated with pileup vertices and assigns weights (ranging between 0 and 1) to neutral particles based on their likelihood of originating from pileup, thus enhancing MET reconstruction in high-pileup environments. The PUPPI MET is calculated using particle weights and can be summarized in the following equation:
95+
96+
97+
$$\textrm{PUPPI}~\vec{p}_{T}^{~miss} = - \sum_{i \in all~PF~Cands} w_i~\vec{p}_{T, i}$$
98+
99+
100+
The figure below presents the MET distribution for both PF MET and PUPPI MET in events with leptonically decaying W bosons, demonstrating the improved performance achieved with PUPPI MET.
101+
102+
<img src="../fig/episode5/CMS-JME-17-001_Figure_003.pdf" alt="" style="width:70%">
103+
104+
> ## Remember
105+
> PUPPI MET is the default MET algorithm in Run~3.
106+
{: .callout}
107+
108+
109+
## Exercise 1
110+
The goal of this part is to get familiar:
111+
- with the event content of the miniAOD data tier,
112+
- the MET collections stored by default in miniAOD,
113+
- how to use tools to easily browse through the miniAOD file.
114+
115+
The file used for in part contains simulated events ([/DYJetsToLL_M-50_TuneCP5_13TeV-amcatnloFXFX-pythia8/RunIISummer19UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2/MINIAODSIM](https://cmsweb.cern.ch/das/request?input=dataset%3D%2FDYJetsToLL_M-50_TuneCP5_13TeV-amcatnloFXFX-pythia8%2FRunIISummer19UL18MiniAOD-106X_upgrade2018_realistic_v11_L1v1-v2%2FMINIAODSIM&instance=prod/global)), but the same conclusions hold for data files.
116+
117+
To view the event content of a miniAOD file one can use the `edmDumpEventContent` command and since we are interested in the MET collections only we use `grep` to avoid long printouts.
118+
119+
~~~
120+
edmDumpEventContent root://eosuser.cern.ch//eos/user/c/cmsdas/2025/MET/DYJetsToLL_M50_amcatnloFXFX.root | grep MET
121+
~~~
122+
{: .language-bash}
123+
124+
125+
> ## Question 1
126+
> What MET collections do you see inside a MiniAOD file?
127+
{: .challenge}
128+
129+
> ## Solution 1
130+
> The output is:
131+
> ```
132+
> vector<pat::MET> "slimmedMETs" "" "PAT"
133+
> vector<pat::MET> "slimmedMETsNoHF" "" "PAT"
134+
> vector<pat::MET> "slimmedMETsPuppi" "" "PAT"
135+
> ```
136+
> Each entry (line) corresponds to a separate MET collection.
137+
> The first column, `pat::MET`, shows the class of the MET object, where one finds the properties of the MET object.
138+
> The second column shows the MET collection, and finally PAT is the namespace (in MiniAOD it is PAT).
139+
>
140+
> In this exercise we will focus on the `slimmedMETs` and `slimmedMETsPuppi` collections.
141+
{: .solution}
142+
143+
144+
{% include links.md %}
145+

0 commit comments

Comments
 (0)