diff --git a/_episodes/05-MET101.md b/_episodes/05-MET101.md index e1b6b737..d46a8879 100644 --- a/_episodes/05-MET101.md +++ b/_episodes/05-MET101.md @@ -19,11 +19,8 @@ keypoints: > ## After following the instructions in the jets exercise setup, make sure you have the CMS environment and create the symbolic link to MET analyzer: > > ~~~ -> cd $CMSSW_BASE/src +> cd $CMSSW_BASE/src/Analysis > cmsenv -> cd Analysis -> ln -s JMEDAS/MET_Analysis MET -> scram b > ~~~ > {: .language-bash} {: .callout} @@ -99,7 +96,7 @@ $$\textrm{PUPPI}~\vec{p}_{T}^{~miss} = - \sum_{i \in all~PF~Cands} w_i~\vec{p}_{ 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. - + > ## Remember > PUPPI MET is the default MET algorithm in Run~3. diff --git a/_episodes/06-METcalibration.md b/_episodes/06-METcalibration.md index 88c3a559..a679ca9c 100644 --- a/_episodes/06-METcalibration.md +++ b/_episodes/06-METcalibration.md @@ -74,9 +74,8 @@ $$\vec{p}_{T}^{~miss,~Type-1} = - \sum_{i}^{nJets} \vec{p}_{T, jet}^{~corr} - \s
- - -
We will revisit this in MET performance, but this figure shows a comarison between the MET scale for raw PF MET vs Type-1 PF MET.
+ +
We will revisit this in MET performance, but this figure shows a comparison between the MET scale for raw and Type-1 corrected MET.
### Type-1 Smear MET (For MC only) @@ -147,7 +146,7 @@ We will use the same file as in the previous exercise [Exercise 1.1](https://cms Execute the following commands inside the CMSSW environment created during setup: ~~~ -cd $CMSSW_BASE/src/Analysis/MET +cd $CMSSW_BASE/src/Analysis/JMEDAS cmsRun test/run_CMSDAS_MET_Exercise2_cfg.py ~~~ {: .language-bash} @@ -158,7 +157,7 @@ This script will: - Print the values of various sources of systematic uncertainties Additionally, the script demonstrates how to access MET with different levels of corrections applied. By default, Type-1 MET is selected. -The analyzer being run using is command is `CMSDAS_MET_Analysis/plugins/CMSDAS_MET_AnalysisExercise2.cc`. The printout looks like the following: +The analyzer being run using is command is `JMEDAS/plugins/CMSDAS_MET_AnalysisExercise2.cc`. The printout looks like the following: ``` Begin processing the 1st record. Run 1, Event 138728702, LumiSection 513811 on stream 0 at 05-Jan-2025 14:40:03.942 CST MET : @@ -185,7 +184,7 @@ Begin processing the 1st record. Run 1, Event 138728702, LumiSection 513811 on s {: .solution} ## Exercise 2.2 -Now we make the following modifications to the configuration script `CMSDAS_MET_Analysis/test/run_CMSDAS_MET_Exercise2_cfg.py`: +Now we make the following modifications to the configuration script `JMEDAS/test/run_CMSDAS_MET_Exercise2_cfg.py`: - Prevent printouts by setting `doprints` to `False`. - Reduce the frequency of the report from "every" event to "every 10000" events by `modifying process.MessageLogger.cerr.FwkReport.reportEvery`. - Run over all events in the file by updating `process.maxEvent`s from 10 to -1. @@ -200,7 +199,7 @@ Once the process completes (it will take a few seconds), it will produce a ROOT To generate the plot, run the following commands: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise2.C("step2a")' ~~~ {: .language-bash} @@ -218,7 +217,7 @@ Next, we will focus on Type-1 PF MET and study the impact of various uncertainti To generate the corresponding plot, use the following command: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise2.C("step2b")' ~~~ {: .language-bash} diff --git a/_episodes/07-METperformance.md b/_episodes/07-METperformance.md index 4197247f..a1f85508 100644 --- a/_episodes/07-METperformance.md +++ b/_episodes/07-METperformance.md @@ -59,7 +59,7 @@ In this exercise, we will measure the scale of the "uncorrected" (raw) PF MET as To start, run the following commands: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise3.C("step3_scale_pfraw")' ~~~ {: .language-bash} @@ -75,7 +75,7 @@ root -l -q 'cmsdasmetplotsexercise3.C("step3_scale_pfraw")' Next, measure the MET scale using the Type-1 calibrated MET. Run the following commands: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise3.C("step3_scale_pftype1")' ~~~ {: .language-bash} @@ -94,7 +94,7 @@ root -l -q 'cmsdasmetplotsexercise3.C("step3_scale_pftype1")' Now, let’s analyze the resolution of MET as a function of pT(Z) and the number of pileup vertices. To do this, run: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise3.C("step3_resolution_pftype1")' ~~~ {: .language-bash} @@ -131,7 +131,7 @@ Equipped with the ability to evaluate MET performance through scale and resoluti To generate the corresponding plots, use the following command: ~~~ -cd $CMSSW_BASE/src/Analysis/MET/scripts +cd $CMSSW_BASE/src/Analysis/JMEDAS/scripts root -l -q 'cmsdasmetplotsexercise4.C' ~~~ {: .language-bash} diff --git a/_episodes/08-AnomalousMET.md b/_episodes/08-AnomalousMET.md index 41915471..2ee6688b 100644 --- a/_episodes/08-AnomalousMET.md +++ b/_episodes/08-AnomalousMET.md @@ -33,6 +33,11 @@ These anomalous MET events can arise from: In such events, the MET value may be much higher than expected and does not reflect true missing energy from invisible particles (like neutrinos or dark matter candidates). +
+ +
An example of identifying the source of anomalous MET.
+
+ ## Noisy event filters To identify false MET, several algorithms have been developed that analyze factors such as timing, pulse shape, and signal topology. @@ -41,7 +46,7 @@ These cleaning algorithms, or filters, run in separate processing paths, and the Analyzers can use this decision bit to filter out noisy events. These filters are specifically designed to reject events with unusually large MET values caused by spurious signals.
- +
MET $p_T$ and leading jet $\phi$ distributions, with and without the application of event filters.
@@ -52,12 +57,12 @@ Noisy event filters (previously called MET Filters) are stored as trigger result In this exercise, we will show how to access the MET Filters in miniAOD. Please run the following commands: ~~~ -cd $CMSSW_BASE/src/Analysis -cmsRun MET/test/run_CMSDAS_MET_Exercise4_cfg.py +cd $CMSSW_BASE/src/Analysis/JMEDAS +cmsRun test/run_CMSDAS_MET_Exercise4_cfg.py ~~~ {: .language-bash} -This example accesses the decision bits for the following MET Filters: `Beam Halo`, `HBHE`, `HBHE (Iso)`, `Ecal Trigger Primitives`, `EE SuperCluster`, `Bad Charged Hadron`, and `Bad PF Muon`. A "true" decision means the event was not rejected by the filter. The analyzer used in this example is `Analysis/MET/plugins/CMSDAS_MET_AnalysisExercise5.cc`. The printed result will look like this: +This example accesses the decision bits for the following MET Filters: `Beam Halo`, `HBHE`, `HBHE (Iso)`, `Ecal Trigger Primitives`, `EE SuperCluster`, `Bad Charged Hadron`, and `Bad PF Muon`. A "true" decision means the event was not rejected by the filter. The analyzer used in this example is `JMEDAS/plugins/CMSDAS_MET_AnalysisExercise5.cc`. The printed result will look like this: ``` Begin processing the 1st record. Run 317626, Event 178458435, LumiSection 134 on stream 0 at 28-Jun-2020 10:39:20.656 CDT @@ -74,7 +79,7 @@ MET Filters decision: ``` > ## Question 4 -> To see the output for a bad event, modify the input file in `Analysis/MET/test/run_CMSDAS_MET_Exercise4_cfg.py`. +> To see the output for a bad event, modify the input file in `JMEDAS/test/run_CMSDAS_MET_Exercise4_cfg.py`. > Comment out the line for the first input file `cmsdas_met_METFilters1.root` and uncomment the line for the second input file `cmsdas_met_METFilters2.root`. > Then run the code again. What changes do you notice? {: .challenge} diff --git a/fig/episode5/CMS-JME-17-001_Figure_003.pdf b/fig/episode5/CMS-JME-17-001_Figure_003.pdf deleted file mode 100644 index 028de457..00000000 Binary files a/fig/episode5/CMS-JME-17-001_Figure_003.pdf and /dev/null differ diff --git a/fig/episode5/PF_vs_PUPPI.pdf b/fig/episode5/PF_vs_PUPPI.pdf new file mode 100644 index 00000000..78ff1dc1 Binary files /dev/null and b/fig/episode5/PF_vs_PUPPI.pdf differ diff --git a/fig/episode6/CMS-JME-17-001_Figure_009.pdf b/fig/episode6/CMS-JME-17-001_Figure_009.pdf deleted file mode 100644 index 8382316e..00000000 Binary files a/fig/episode6/CMS-JME-17-001_Figure_009.pdf and /dev/null differ diff --git a/fig/episode6/CMS-JME-17-001_Figure_013.pdf b/fig/episode6/Response-2.pdf similarity index 58% rename from fig/episode6/CMS-JME-17-001_Figure_013.pdf rename to fig/episode6/Response-2.pdf index 9f7d4aca..d69414a5 100644 Binary files a/fig/episode6/CMS-JME-17-001_Figure_013.pdf and b/fig/episode6/Response-2.pdf differ diff --git a/fig/episode8/met_scanning_fig.pdf b/fig/episode8/met_scanning_fig.pdf new file mode 100644 index 00000000..31ff1057 Binary files /dev/null and b/fig/episode8/met_scanning_fig.pdf differ