From 05f3e1020be8eedaa5e507ae208396a5ae741403 Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Espinosa Date: Wed, 20 Dec 2023 12:03:48 -0500 Subject: [PATCH] fix index --- _customization.md | 276 ++++++++++++++++++++++++++++++++++++++++ _episodes/01-jets101.md | 55 ++++---- index.md | 31 +++-- 3 files changed, 319 insertions(+), 43 deletions(-) create mode 100644 _customization.md diff --git a/_customization.md b/_customization.md new file mode 100644 index 00000000..e26cf1a0 --- /dev/null +++ b/_customization.md @@ -0,0 +1,276 @@ +--- +layout: page +title: Customizing Your Workshop's Website +permalink: /customization/index.html +--- + +## Table of Content + +* TOC +{:toc} + +## Configuration File `_config.yml` + +You should edit the `_config.yml` configuration file in the root directory of your workshop to +configure some site-wide variables and make the site function correctly: + +* `carpentry` - to tell us which carpentry workshop this is. Possible values are: + - `"swc"` for Software Carpentry workshops, + - `"dc"` for Data Carpentry workshops, + - `"lc"` for Library Carpentry workshops, and + - `"cp"` for general Carpentries events such as instructor trainings (for which you should use + as the website template). +* `curriculum` - to tell us which curriculum is being taught. + At the moment, applicable to Software and Data Carpentry workshops only. + Possible values are: + - `"dc-ecology"`, `"dc-genomics"`, `"dc-socsci"`, or `"dc-geospatial"` for Data Carpentry + workshops + - `"swc-inflammation"` or `"swc-gapminder"` for Software Carpentry workshops. +* `flavor` - `"r"` or `"python"` depending on which lessons are being taught at the workshop + (currently only for Data Carpentry and Software Carpentry workshops). +* `title` - overall title for the workshop. If set (i.e., different from "Workshop Title" or empty), + it will appear in the "jumbotron" (the gray box at the top of the page). This variable is also + used for the title of the extra pages. More information about extra pages are [available in the + README](https://github.com/carpentries/workshop-template#creating-extra-pages). + +For example, if the URL for the repository is `https://github.com/gvwilson/2015-07-01-miskatonic`, +the URL for the website will be `http://gvwilson.github.io/2015-07-01-miskatonic`. + +You should not need to modify any of the other variable values in `_config.yml`. + +## Home Page (`index.md`): data in the YAML header + +Your workshop's home page lives in `index.md`, +which must define the values below in its header. +If your workshop is taught online, see the +[following section](#for-online-workshops) for customization +options. + +* `layout` must be `workshop`. + +* `venue` is the short name of the institution or group hosting the + workshop, like "Euphoric State University". It should *not* + include the address or other details, since this value is + displayed in a table on websites (e.g., + ). See section + below for value to use for online workshops. + +* `address` is the workshop's address (including details like the + room number). The address should be all on one line. + See section below for value to use for online workshops. + +* `country` must be a two-letter ISO-3166 code for the country in + which the workshop is going to take place, such as "fr" (for + France) or "nz" (for New Zealand) - see [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) + for a complete list. See section below for value to use for + online workshops. + +* `language` is the language that will be used in the workshop. + It must be an [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes). + Note that two-letter codes mean different things for countries + and languages: "ar" is Arabic when used for a language, but + Argentina when used for a country. + +* `latitude` and `longitude` are the latitude and longitude of the workshop + site (so we can put a pin on our map). You can use + [this site](https://getlatlong.net/) to find these values. + See section below for value to use for online workshops. + +* `humandate` is the human-friendly start and end date for the + workshop. Please use three-letter month names and abbreviations + (e.g., `Jul` instead of `July`), since these values are displayed + in a table on our websites. (Strictly speaking this information + is redundant, since we require a machine-readable `startdate` and + `enddate`, but reliably translating those into human-readable + dates is an interesting challenge...) + +* `humantime` is the human-friendly start and end time for each day of + the workshop, e.g., "09:00 am - 4:00 pm" or "09:00-16:00". (We + recognize that we ought to allow different start or end times on + different days, but going down that path leads eventually to + embedding iCal date/time specifications in our headers, which in + turn leads to madness...) + +* `startdate` is the workshop's starting date in YYYY-MM-DD format, + such as `2015-07-01`. You must use four digits for the year and + two each for the month and day. + +* `enddate` is the workshop's ending date in the same format. If your + workshop is only one day long, the `enddate` field should be deleted. + If your workshop has a more complicated schedule (e.g., a half day a + week for four weeks), please delete the `enddate` field and only tell + us its start date. + +* `instructor` is a comma-separated list of instructor names. The + list must be enclosed in square brackets, and each name must be in + double quotes, as in `["Alan Turing","Grace Hopper"]`. Do not + include other information (such as the word "instructor") in these + values. + +* `helper` is a comma-separated list of helper names formatted in the + same way as the instructor names. If there are no helpers, use an + empty list `[]`. + +* `contact` is the contact email address to use for your workshop. + If you do not provide a contact email address, your website will + display the address for the workshop coordinators (who probably + won't be able to answer questions about the specific details of + your workshop). + +The header may optionally define the following: + +* `collaborative_notes` is the URL for the Etherpad for your workshop. + If you are not using an Etherpad, you can delete this line. You can + create a carpentries etherpad [here](https://pad.carpentries.org/). + +* `eventbrite` is the multi-digit Eventbrite registration key. If you + are using Eventbrite, the Carpentries Regional Coordinators will + give this to you. If you are using something else, you may delete + this line. Note: this value must be given as a string in double + quotes, rather than as a number. + +### For online workshops + +If the workshop is online, follow the same instructions as above with the +following modifications: + +* `venue`: Use the name of the institution that organizes the workshop and do + not include a mention that it is an online workshop. +* `address`: If you can safely share the URL for the videoconferencing, you may + list it here (it must start with `http` or `https`); if you cannot or prefer + to not share the videoconferencing information, use the value `online`. +* `country`: Please use the country associated with the host institution for the + workshop. +* `latitude` and `longitude`: if it makes sense, use the coordinates for the + host institution. If it does not, use `0` for both the latitude and the + longitude. + +By default, the Setup Instructions will list the installation instructions for the +videoconferencing service Zoom. +If you use a different videoconferencing service, +you can edit the file in `_includes/install_instructions/videoconferencing.html` +to include the relevant installation instructions. + +## Home Page: Schedule and Syllabus + +To edit the sections titled `Schedule` and `Syllabus` that appear on the website +so that they show what you are actually planning to teach and when, you need to +modify the files that are located in the appropriate workshop folder (`dc`, `lc` +or `swc`) inside the `_includes` folder. + +## Home Page: Setup Instructions + +If you need assistance with customizing the setup instructions for your website, +feel free to ask your questions in the Carpentries +[Instructors Slack channel](https://swcarpentry.slack.com/archives/C08BVNU00) +([join The Carpentries Slack workspace](https://swc-slack-invite.herokuapp.com/)). + +### Software Carpentry workshops + +#### Default settings + +For Software Carpentry workshops, +setting the `flavor` variable in `_config.yml` to `r` or `python` +will include the respective installation instructions for these tools. +Additionally, by default, the installation instructions for +a text editor, the Bash shell, and Git are included. + +#### If you need to remove tools + +If you need to remove any of the instructions for the default +set of tools, +you can delete lines that include these instructions in +the `_includes/swc/setup.html` file. + +#### If you need to add tools + +If you need to add installation instructions for other tools, +we provide installation instructions for SQL and OpenRefine. +To make them appear on your workshop website, +you can move the `{% raw %}{% include %}{% endraw %}` statements outside the comment +block in `_includes/swc/setup.html`. + +If you need to add installation instructions for other tools, +you will need to write your own. You can use installation instructions +for other tools located in the `_includes/install_instructions/` folder +as examples. + +### Data Carpentry workshops + +For Data Carpentry workshops, +installation instructions live on the workshop overview page for each curriculum. +Instead of including installation instructions in the workshop template, +the workshop template includes links to these instructions. +The correct link will be displyed +when using the appropriate combination of values +for the `curriculum` and `flavor` variables +in the `_config.yml` file. + +### Library Carpentry workshops + +By default, Library Carpentry workshop websites +include installation instructions for the Bash shell and Git. + +You may need to add installation instructions for additional tools +you will be using during your workshop +by editing the `_includes/lc/setup.html` file. +You can either write your own instructions using the ones +provided in `_includes/lc/setup.html` as an example, +or, if you are using tools that already have installation instructions +provided for Software Carpentry, +you can add `{% raw %}{% include install_instructions/ %}{% endraw %}` +where `` needs to be replaced by one of the files +in the `_includes/install_instructions` folder. + +## Homepage: who can attend? + +If you want to specify who can attend the workshop you are advertising, +there is a commented-out section in `index.md` that you can use to +inform workshop website visitors of who can attend the event. +You may want to specify that only members of your university, +department, etc. can attend or that the event is open to the public. +We don't provide templated text for this as each situation is different. +We do provide a section, called "Who can attend?" for you to specify this +information. + +To use it, move the {% raw %}{% endcomment %}{% endraw %} line above the +`

` tag marking the beginning of this section and edit the paragraph +to reflect the attendance policy for your workshop. + +## Updating the repository + +If for some reason, +such as the installation instructions having become disconnected +with the current lesson material, +you need to get changes from this repository +into the clone of it with your workshop page, +please follow the steps bellow: + +1. Add the workshop-template repository as upstream: + ~~~ + $ git remote add upstream https://github.com/carpentries/workshop-template.git + ~~~ + {: .language-bash} + +2. Fetch the data from upstream repository (also know as the workshop-template + repository): + ~~~ + $ git pull upstream + ~~~ + {: .language-bash} + +3. Address possible merge conflicts, and + ~~~ + $ git commit -a + ~~~ + {: .language-bash} + +4. Push the changes to your repository on GitHub: + ~~~ + $ git push origin gh-pages + ~~~ + {: .language-bash} + + +{% include links.md %} + diff --git a/_episodes/01-jets101.md b/_episodes/01-jets101.md index 647de51f..10ab2f21 100644 --- a/_episodes/01-jets101.md +++ b/_episodes/01-jets101.md @@ -10,9 +10,8 @@ objectives: - "Learn about jets, their properties, types and reclustering algorithms." - "Learn about the difference between gen, calo, pfjet." keypoints: -- "Jet is a physical object which represents hadronic showers that interact with our detectors. A jet is usually associated with the physical representation of quark and gluons, but they can be more than that depending of their origin and the algorithm used to define them." -- "A jet is defined by its reclustering algorithm and their constituents. In current experiments, jets are reclusted using the anti-kt algorithm. Depending on their constituents, in CMS, we called jets reclustered from genparticles as GenJets, from calorimeter clusters as CaloJets, and from particle flow candidates as PFJets." -- "Jets are stored in the different CMS data tiers (AOD, miniAOD, nanoAOD). The current recommendation in CMS is to use nanoAOD unless other variables are needed." +- "Jet is a physical object representing hadronic showers interacting with our detectors. A jet is usually associated with the physical representation of quark and gluons, but they can be more than that depending of their origin and the algorithm used to define them." +- "A jet is defined by its reclustering algorithm and its constituents. In current experiments, jets are reclusted using the anti-kt algorithm. Depending on their constituents, in CMS, we called jets reclustered from genparticles as GenJets, calorimeter clusters as CaloJets, and particle flow candidates as PFJets." --- Full set of intro slides: Slides 1-24 (FIXME) @@ -38,11 +37,12 @@ Full set of intro slides: Slides 1-24 (FIXME) > For this part, open the notebook called `Jets_101.ipynb` and run Exercise 1. {: .checklist} -This preliminary exercise will illustrate some of the basic properties of jets, like the four momentum quantiies: pt, eta, phi, mass. We will use nanoAOD files, which are currently widely used with the CMS Collaborators. For more information about nanoAOD follow [this link](https://gitlab.cern.ch/cms-nanoAOD/nanoaod-doc/-/wikis/home). At the end of the notebook you will be able to see all the quantities stored in the `Jet` collection. + +This preliminary exercise will illustrate some of the basic properties of jets, like the four-momentum quantities: pt, eta, phi, and mass. We will use nanoAOD files currently widely used with the CMS Collaborators. For more information about nanoAOD follow [this link](https://gitlab.cern.ch/cms-nanoAOD/nanoaod-doc/-/wikis/home). At the end of the notebook, you will be able to see all the quantities stored in the `Jet` collection. > ## Discussion 1.1 > -> Have you seen these jet quantities before? Where you expecting something different? +> Have you seen these jet quantities before? Were you expecting something different? {: .discussion} > ## Discussion 1.2 @@ -52,29 +52,29 @@ This preliminary exercise will illustrate some of the basic properties of jets, ## Jet Types and Algorithms -The jet algorithms take as input a set of 4-vectors. At CMS, the most popular jet type is the "Particle Flow Jet", which attempts to use the entire detector at once and derive single four-vectors representing specific particles.For this reason it is very comparable (ideally) to clustering generator-level four-vectors also. +The jet algorithms take as input a set of 4-vectors. At CMS, the most popular jet type is the "Particle Flow Jet," which attempts to use the entire detector at once and derive single four vectors representing specific particles. For this reason, it is very comparable (ideally) to clustering generator-level four-vectors. ### Particle Flow Jets (PFJets) -Particle Flow candidates (PFCandidates) combine information from various detectors to make a combined estimation of particle properties based on their assigned identities (photon, electron, muon, charged hadron, neutral hadron). +Particle Flow candidates (PFCandidates) combine information from various detectors to estimate particle properties based on their assigned identities (photon, electron, muon, charged hadron, neutral hadron). -PFJets are created by clustering PFCandidates into jets, and contain information about contributions of every particle class: Electromagnetic/hadronic, Charged/neutral etc. +PFJets are created by clustering PFCandidates into jets and contain information about contributions of every particle class: Electromagnetic/hadronic, Charged/neutral, etc. -The jet response is high. The jet pT resolution is good: starting at 15--20% at low pT and asymptotically reaching 5% at high pT. +The jet response is high. The jet pT resolution is good, starting at 15--20% at low pT and asymptotically reaching 5% at high pT. ### Monte Carlo Generator-level Jets (GenJets) -GenJets are pure Monte Carlo simulated jets. They are useful for analysis with MC samples. GenJets are formed by clustering the four-momenta of Monte Carlo truth particles. This may include “invisible” particles (muons, neutrinos, WIMPs, etc.). +GenJets are pure Monte Carlo simulated jets. They are helpful for analysis with MC samples. GenJets are formed by clustering the four-momenta of Monte Carlo truth particles. This may include “invisible” particles (muons, neutrinos, WIMPs, etc.). -As there are no detector effects involved, the jet response (or jet energy scale) is 1, and the jet resolution is perfect, by definition. +As no detector effects are involved, the jet response (or jet energy scale) is 1, and the jet resolution is perfect, by definition. -GenJets include information about the 4-vectors of the constituent particles, the hadronic and electromagnetic components of the energy etc. +GenJets include information about the 4-vectors of constituent particles, the energy's hadronic and electromagnetic components, etc. ### Calorimeter Jets (CaloJets) CaloJets are formed from energy deposits in the calorimeters (hadronic and electromagnetic), with no tracking information considered. In the barrel region, a calorimeter tower consists of a single HCAL cell and the associated 5x5 array of ECAL crystals (the HCAL-ECAL association is similar but more complicated in the endcap region). The four-momentum of a tower is assigned from the energy of the tower, assuming zero mass, with the direction corresponding to the tower position from the interaction point. -In CMS, CaloJets are used less often than PFJets. Examples of their use include performance studies to disentangle tracker and calorimeter effects, and trigger-level analyses where the tracker is neglected to reduce the event processing time. ATLAS makes much more use of CaloJets, as their version of particle flow is not as mature as CMS's. +In CMS, CaloJets are used less often than PFJets. Their use includes performance studies to disentangle tracker and calorimeter effects and trigger-level analyses where the tracker is neglected to reduce the event processing time. ATLAS makes much more use of CaloJets, as their version of particle flow is less mature than CMS's. > ## Open a notebook > @@ -83,16 +83,16 @@ In CMS, CaloJets are used less often than PFJets. Examples of their use include > ## Question 1.1 > -> After running the _Reconstructed vs. Generator-Level Jets_ part of the notebook. As you can see, the agreement between calo, gen and pfjet isn't very good! Can you guess why? +> After running the notebook's Exercise 2. As you can see, the agreement between Calo, Gen, and Pfjet could be better! Can you guess why? {: .challenge} > ## Solution 1.1 -> We need to apply the jet energy corrections (JEC), which are described in the next exercise. But before we do that, we'll go over the jet clustering algorithms used in CMS. +> We need to apply the jet energy corrections (JEC) described in the next exercise. But before doing that, we'll review the jet clustering algorithms used in CMS. {: .solution} ## Jet Clustering Algorithms -The majority of jet algorithms at CMS use a so-called "clustering sequence". This is essentially a pairwise examination of the input four-vectors. If the pair satisfy some criteria, they are merged. The process is repeated until the entire list of constituents is exhausted. In addition, there are several ways to determine the "area" of the jet over which the input constituents lay. This is very important in correcting for pileup, as we will see, because some algorithms tend to "consume" more constituents than others and hence are more susceptible to pileup. Furthermore, the amount of energy that is inside of a jet due to pileup is proportional to the area, so to correct for this effect it is very important to know the jet area. +Most jet algorithms at CMS use a so-called "clustering sequence". This is essentially a pairwise examination of the input four vectors. If the pair satisfy some criteria, they are merged. The process is repeated until the entire list of constituents is exhausted. In addition, several ways exist to determine the "area" of the jet over which the input constituents lay. This is very important in correcting pileup, as we will see, because some algorithms tend to "consume" more constituents than others and hence are more susceptible to pileup. Furthermore, the amount of energy inside a jet due to pileup is proportional to the area, so it is essential to know the jet area to correct this effect. > ## Figure 1.1 > @@ -133,11 +133,11 @@ Some excellent references about jet algorithms can be found here: ## Jet types at the LHC -Jets are reconstructed physics objects representing the hadronization and fragmentation of quarks and gluons. CMS mostly uses anti-$k_{\mathrm{T}}$ jets with a cone-size of $R=0.4$ to reconstruct this type of jet. We have algorithms that distinguish heavy-flavour (b or c) quarks (which are in the domain of the BTV POG), quark- vs gluon-originated jets, and jets from the main $pp$ collision versus jets formed largely from pileup particles. +Jets are reconstructed physics objects representing the hadronization and fragmentation of quarks and gluons. CMS primarily uses anti-$k_{\mathrm{T}}$ jets with a cone-size of $R=0.4$ to reconstruct this jet type. We have algorithms that distinguish heavy-flavour (b or c) quarks (which are in the domain of the BTV POG), quark- vs gluon-originated jets, and jets from the main $pp$ collision versus jets formed primarily from pileup particles. -However, quarks and gluons are only part of the story! At the LHC, the typical collision energy is much greater than the mass scale of the known SM particles, and hence even heavier particles like top quarks, W/Z/Higgs bosons, and heavy beyond-the-Standard-Model particles can be produced with large Lorentz boosts. When these particles decay to quarks and gluons, their decay products are collimated and overlap in the detector, making them difficult to reconstruct as individual AK4 jets. +However, quarks and gluons are only part of the story! At the LHC, the typical collision energy is much greater than the mass scale of the known SM particles, and hence, even heavier particles like top quarks, W/Z/Higgs bosons, and heavy beyond-the-Standard-Model particles can be produced with large Lorentz boosts. When these particles decay to quarks and gluons, their decay products are collimated and overlap in the detector, making them difficult to reconstruct as individual AK4 jets. -Therefore, LHC analyses use jet algorithms with a large radius parameter to reconstruct these objects, which we called "large radius" or "fat" jets. CMS uses anti-$k_{\mathrm{T}}$ jets with $R=0.8$ (AK8) as the standard large-radius jet, while ATLAS uses AK10. +Therefore, LHC analyses use jet algorithms with a large radius parameter to reconstruct these objects, called "large radius" or "fat" jets. CMS uses anti-$k_{\mathrm{T}}$ jets with $R=0.8$ (AK8) as the standard large-radius jet, while ATLAS uses AK10. You can also read these excellent overviews of jet substructure techniques: @@ -148,26 +148,27 @@ You can also read these excellent overviews of jet substructure techniques: The standard jet algorithms are all implemented in the CMS reconstruction software, [CMSSW](github.com/cms-sw/cmssw). However, a few algorithms with specific parameters (namely AK4, AK8, and CA15) have become standard tools in CMS; these jet types are extensively studied by the JetMET POG, and are highly recommended. These algorithms are included in the centrally produced CMS samples, at the AOD, miniAOD, and nanoAOD data tiers (note that miniAOD and nanoAOD are most commonly used for analysis, while AOD is much less common these days, and is not widely available on the grid). Other algorithms can be implemented and tested using the **JetToolbox** (more in the [following link](https://twiki.cern.ch/twiki/bin/viewauth/CMS/JetToolbox)). -In this part of the tutorial, you will learn how to access the jet collection included in the CMS datasets, do some comparisons of the different jet types, and how to create your own collections. +In this part of the tutorial, you will learn how to access the jet collection included in the CMS datasets, compare the different jet types, and create your own collections. ### AOD -[This twiki](https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideDataFormatRecoJets) summarizes the respective labels by which each jet collection can be retrieved from the event record for general AOD files. This format is currently been used for specialized studies, but for most of the analyses you can use the other formats. +[This twiki](https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideDataFormatRecoJets) summarizes the respective labels by which each jet collection can be retrieved from the event record for general AOD files. This format is currently used for specialized studies, but you can use the other formats for most analyses. ### MiniAOD -There are three main jet collections stored in the MiniAOD format, as described [here](https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookMiniAOD2017#Jets). - * **slimmedJets**: are AK4 energy-corrected jets using charged hadron substraction (CHS) as the pileup removal algorithm. This is the default jet collection for CMS analyses for Run II. In this collection you can find the following jet algorithms, as well as other jet related quantities: + +Three main jet collections are stored in the MiniAOD format, as described [here](https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookMiniAOD2017#Jets). + * **slimmedJets**: are AK4 energy-corrected jets using charged hadron subtraction (CHS) as the pileup removal algorithm. This is the default jet collection for CMS analyses for Run II. In this collection, you can find the following jet algorithms, as well as other jet-related quantities: * b-tagging * Pileup jet ID * Quark/gluon likelihood info embedded. * **slimmedJetsPUPPI**: are AK4 energy-corrected jets using the PUPPI algorithm for pileup removal. This collection will be the default for Run III analyses. - * **slimmedJetsAK8**: ak4 AK8 energy-corrected jets using the PUPPI algoritm for pileup removal. This has been the default collection for boosted jets in Run II. In this collection you can find the following jet algorithms, as well as other jet related quantities: + * **slimmedJetsAK8**: ak4 AK8 energy-corrected jets using the PUPPI algorithm for pileup removal. This has been the default collection for boosted jets in Run II. In this collection, you can find the following jet algorithms, as well as other jet-related quantities: * Softdrop mass * n-subjettiness and energy correlation variables * Access to softdrop subjets - * Access to the associated AK8 CHS jet four momentum, including softdrop and pruned mass, and n-subjettiness. + * Access to the associated AK8 CHS jet four-momentum, including soft drop and pruned mass, and n-subjectness. > ## Examples of how to access jet collections in miniAOD samples > Below are two examples of how to access jet collections from these samples. This exercise does not intend for you to modify code in order to access these collections, but rather for you to look at the code and get an idea about how you could access this information if needed. @@ -195,10 +196,10 @@ There are three main jet collections stored in the MiniAOD format, as described In nanoAOD, only AK4 CHS jets ( _Jet_ ) and AK8 PUPPI jets ( _FatJet_ ) are stored in Run 2. For Run 3, AK4 and AK8 jets are PUPPI jets. The jets in nanoAOD are similar to those in miniAOD, but not identical (for example, the $p_{\mathrm{T}}$ cuts might be different). A full set of variables for each jet collection can be found in this [website](https://cms-nanoaod-integration.web.cern.ch/autoDoc/NanoAODv9/2018UL/doc_TTToSemiLeptonic_TuneCP5_13TeV-powheg-pythia8_RunIISummer20UL18NanoAODv9-106X_upgrade2018_realistic_v16_L1v1-v1.html). -NanoAOD is a "flat tree" format, meaning that you can access the information directly with simple ROOT, or even simple python tools (like numpy or pandas). This format is the recommended format for analyses in CMS, unless one needs to access other variables not stored in nanoAOD. _This tutorial will only use nanoAOD files._ +NanoAOD is a "flat tree" format, meaning you can access the information directly with simple ROOT or even simple Python tools (like numpy or pandas). This format is recommended for analyses in CMS, unless one needs to access other variables not stored in nanoAOD. _This tutorial will only use nanoAOD files._ > ## Note -> There are several advanced tools on the market which allow you to do sophisticated analysis using nanoAOD format, including [RDataFrame](https://root.cern/doc/master/classROOT_1_1RDataFrame.html), [NanoAOD-tools](https://github.com/cms-nanoAOD/nanoAOD-tools), or [Coffea](https://github.com/CoffeaTeam/coffea). We excourage you to look at them and use the one you like the most. However, we are going to use coffea for this tutorial. +> There are several advanced tools on the market which allow you to do sophisticated analysis using nanoAOD format, including [RDataFrame](https://root.cern/doc/master/classROOT_1_1RDataFrame.html), [NanoAOD-tools](https://github.com/cms-nanoAOD/nanoAOD-tools), or [Coffea](https://github.com/CoffeaTeam/coffea). We encourage you to look at them and use the one you like the most. However, we are going to use coffea for this tutorial. {: .callout} diff --git a/index.md b/index.md index 0a291c10..5ea96efb 100644 --- a/index.md +++ b/index.md @@ -4,32 +4,32 @@ root: . # Is the only page that doesn't follow the pattern /:path/index.html permalink: index.html # Is the only page that doesn't follow the pattern /:path/index.html --- -This tutorial is intended to provide you with the basic you need in order to deal with jets in your analysis. We start with the basics of what is a jet, how are they reconstructed, what algorithms are used, etc. Then we give examples with scripts on how to access jets and use them in your analysis frameworks, including corrections and systematics. In the second part of the exercise, we examine jet substructure algorithms, which have many uses including identification of hadronic decays of heavy SM particles like top quarks, W, Z, and H bosons, as well as mitigation of pileup and others. +This tutorial will give you the basics you need to deal with jets in your analysis. We start with the basics of a jet, how they are reconstructed, what algorithms are used, etc. Then, we give examples with scripts on how to access jets and use them in your analysis frameworks, including corrections and systematics. In the second part of the exercise, we examine jet substructure algorithms, which have many uses, including the identification of hadronic decays of heavy SM particles like top quarks, W, Z, and H bosons, as well as mitigation of pileup and others. + +The tutorial is designed to be executed at cmslpc, following the setup step, using jupyter notebooks. On this website, you will find links to instructional slides and more information about the topics to walk you through the exercises. -The tutorial is designed to be executed at cmslpc and followed in the JMEDAS 2023 twiki page, where you find links to instructional slides and (read-only) notebooks that walk you through the exercises. _For general questions, problems, debugs, or asking for help from experts on jets and missing ET:_ [CMS Talk JetMET category](https://cms-talk.web.cern.ch/c/pog/jetmet/51) _Follow the CMS workbook on jet analysis:_ [WorkBookJetAnalysis](https://twiki.cern.ch/twiki/bin/view/CMSPublic/WorkBookJetAnalysis) -### What is this set of exercises is trying to do ? - -Give you a hands-on experience on how to access jet collection in an event, plot basic jet quantities, and apply jet energy correction. +### What is this set of exercises trying to do? - * A 101 on how to access jets in the CMS framework without assuming prior knowledge of jet analysis. +It gives you hands-on experience accessing jet collection in an event, plotting basic jet quantities, and applying jet energy correction. + * This is a 101 on accessing jets in the CMS framework without assuming prior knowledge of jet analysis. * Make you familiar with basic jet types and algorithms and how to use them in your analysis. - * Illustrate each exercise using real life example scripts. - * Give you a comprehensive reference to more advanced workbook examples, additional resources, and pedagogical documentation in one place. + * Illustrate each exercise using real-life example scripts. + * Give a comprehensive reference to more advanced workbook examples, additional resources, and pedagogical documentation in one place. -### What are these exercises NOT meant for ? +### What are these exercises NOT meant for? -To give a comprehensive summary of the CMS JetMET software machinery or of the jet analyses being performed at CMS. +To summarize the CMS JetMET software machinery comprehensively or the jet analyses performed at CMS. -### What do we expect from you ? +### What do we expect from you? - * You should have followed all the pre-exercises and have cmslpc account, grid certificate, and a current web browser at hand. - * You should work through the notebooks, making sure to understand every step and every plot. - * The exercises are prepared to be run directly from a cmslpc node, with also non-interactive notebooks to follow and discuss the exercises. + * You should have followed all the pre-exercises and have a cmslpc account, grid certificate, and a current web browser. + * It would be best if you worked through the notebooks, ensuring you understand every step and every plot. + * The exercises are prepared to be run directly from a cmslpc node, with non-interactive notebooks to follow and discuss the exercises. ### Facilitators CMSDAS LPC 2024 @@ -38,12 +38,11 @@ To give a comprehensive summary of the CMS JetMET software machinery or of the j * Clemens Lange * Chris Madrid * Connor Moore - * Grace Cummings * Henning Kirschenmann ### Introductory slides -We will start with this version of slides: [CMSDAS_Jets_intro_2023.pdf](). +We will start with this version of slides: [CMSDAS_Jets_intro_2023.pdf](). (FIXME) ### Support