Unknown Speaker 0:04 Great. So thanks, Matt, for doing this lesson. So, next turn. It's Matt, as you know him already, as a bass gone. Unknown Speaker 0:17 Alright, so Unknown Speaker 0:21 dear, can you hear me clear enough to think people can hear me? Yes. Okay, so we're going to go through this exercise, I'm going to probably switch back and forth between sharing screens and sharing my full desktop. So let me just bring up a screen for you to look at for the moment. Can you guys see this web page plotting and interpretation, I was just like to make sure. Um, so this was a, this was a lesson that we talked about relatively late in the process. And I hope that this will be useful for everybody to get a sense of the data and what can be done with it. In some sense, I'm going to slow down for a moment. And for some of you, you may even find this way too simple. And if you want to, if you choose to use this time to get caught up on something else, I wouldn't be hurt. But hopefully, for some of you, you find this helpful and really getting a sense of the data. Before I go further, I just want to take a moment to kind of express my appreciation for everybody who has been sticking with these exercises, who has been working with us on this workshop. We hope that this is useful for you. But this is absolutely 100% useful for us to get this feedback from everyone on how we can improve the workflow. All of us who are facilitators have gone through the same learning process that you have. And we've all also gone through the same frustration that you have, at times over the course of the CMS experiment, finding documentation running code, it works at one point in time, and then another point in time, it doesn't work. And so we empathize with everybody that's going on. And a workshop like this, you're always trying to balance delivering enough material that people can actually get work done and make things happen. But there's always a danger of, you know, doing too much. And this sweet spot of balancing the amount of material and the depth of the material is different for different people. So I know there's been some people have been struggling about with a little bit with the computing or understanding the physics or the computing environment. And again, I appreciate that everybody's working together and maintaining a positive attitude about this. This is part of the learning process, our hope is that this is a launching point, for many of you to go on. And then not only like do great analyses, but even just like over the next few weeks or a few months, continue learning about the open data. And then maybe it's you know, next year that you guys are, are discovering new physics in the data set. Okay, so that was a little bit of a orientation. So this plotting and interpretation, this could probably mean different things to different people. I'm going to talk about what you might do when you make plots. In terms of comparisons you might make or just trying to understand the data, I will not go into a huge amount of detail about the code, you'll have access to the code and you can run it all you want. And I have purposely written scripts that are hyper, hyper simple. I am still a fan of loops. Even though I know there's a lot of newer tools like data frames and stuff where you don't have to have loops. And you can do slicing and cutting. But I have written these scripts with some loops so that some of what's happening is very explicit. When we look and see what other people's experience has been with the open data, Jessie failor, his group at MIT as well as other groups, what they tend to do is they tend to run on the open data and then take the data out of the Docker or virtual machine environment, and then start analyzing with their own tools. So MIT has their own open data format. They then I can process it with C or Python or Julia, probably at MIT, they probably do some stuff with Julia, or Mathematica. And so we realize that some of you will be making plots with other tools. And that's also why I didn't want to go into a tremendous amount of detail with with the details of how to make these plots. However, I've got some examples that are using roots and the Python wrappers and you should keep in mind you can always make these plots with other tools, but I want to talk about the types of plots you might make Why you might, why you might want to make those plots. Okay? So I am going to go into the introduction, and I'm going to skip ahead for a moment, and then I'm going to come back. Unknown Speaker 5:13 And if anybody has any questions, even though I've got the little windows on the side of this, if anybody raises their hand, I should be able to see a hand. If I've talked for too long. I'm going to ask that you are one of the facilitators just like unmute, and let me know. So we're going to work with root, we're going to open a bunch of files that were produced by this. And Can anybody see that I've switched over now to this analysis of Higgs boson decays to to the tau leptons? Does anybody see this? Hopefully? Yeah, Justin. Thank you. Excellent. Thank you. Awesome. So we're gonna actually make some of these plots and talk about what they mean. So this was an analysis. Unknown Speaker 5:56 Julie talked about at the last, Unknown Speaker 5:59 the last lesson, you're looking for evidence of a Higgs decaying to to laptop leptons and the Taos can decay in different ways. We're going to use these plots, use the route files that are generated by this, but it actually takes a considerably long time to generate those root files. And so one of our one of our colleagues actually generated these root files. For us, I put them into a GitHub repository of the most ideal thing that works for what we're doing. And then we're going to run this in a route environment. Ideally, everybody has gone through the pre exercise of setting up a routes environment. And if you haven't, you might be able to get it going while we're working. So there is a link here to the route pre exercise, if you want to, Unknown Speaker 6:53 you can go to that. Unknown Speaker 6:57 And I realized that there are a few issues with running route inside Docker, and maybe even virtual, the virtual machines. One is that you're going to see these plots pop up, if you have x 11. forwarding working. If you haven't got X 11, forwarding working, you're going to copy over the images that are produced out of this virtual environment, and then to your local, laptop or desktop. And you can examine the plots however you want. I've also included the plots in the web page, so that if you just are unable to get it working, you can go back and do it. Because I've been working primarily with Docker, I do have a few Docker specific commands here. So this creates a root six environment. And then you can start it with this is what I would do. Now the reason why I'm telling you all this is because there is a git command takes a little while. So if anybody does want to skip ahead to whatever route environment works for you, maybe that's even just your local laptop. And if you can run this git clone command, it might take a few minutes, but it'll get done by the time we work. So I have this installed here. I'm going to stop sharing, and now I'm going to share my entire desktop Unknown Speaker 8:24 should work if I have wrote in my local desktop, Unknown Speaker 8:28 for example, it should so long as you've got one of the newer ish versions. I think if you have root six, I'm pretty sure this should just all work on your local machine. Unknown Speaker 8:40 Okay, great. Okay. Great. Unknown Speaker 8:44 And if it doesn't, if you can add that to the mattermost chat, because that's good to know. Okay. All right, I'm going to share my desktop. So now you can see everything that's going on, hopefully. So I'm going to come over here and I will use this lesson as my cheat sheet and you may be doing something similar here. So I'm going to start this up. Let's see Docker start that shy root six. Now I'm in this environment. Now one thing I noticed with this Docker container, and again, you may be using the virtual machine, you may be using something else is that it puts you actually at the top level directory, the slash directory. So just as I have in the notes here, and let me make this so I don't have to keep going back and forth. I'm going to CD just to get to the home directory which on here is root. If I do an ls here, I've actually already installed the the repository that we're going to use so this is workshop lesson plotting and interpretation. And I want to point out something that when you clone this when you follow these instructions, You're cloning the master branch. There's a GitHub Pages branch that actually just renders all of our web pages. It may take a few minutes, it's about 60 megabytes of files, and the majority of them are route files, which are binary. Git was not really designed for a bunch of binary files. So this is not optimal. But you know, what works for what we got going on. Okay, so let me remind you again, I'm going to read the analysis description that we have from this webpage. And lets you know, you can think about this in terms of whatever search you may want to be doing. This analysis uses data and simulation of events at the CMS experiment from 2012, with the goal to study the case of a Higgs boson into two tau leptons, in the final state of a muon leptons and hadronically, decaying tau leptons. The analysis follows loosely the setup of the official CMS analysis published in 2014. So there's a search that you're going to do you want to look in the data to see if it's there. And in order to see if it's there in the data, you're going to say, Well, look, I know that there are background processes that can contribute to to the data, it may mimic the signal that I'm looking for. And you're going to try to come up with a set of cuts and selection criteria that beat down your background, and still, you know, keep some of your signals. So if you beat down your background and signal at the same level, that's not great. But if you could push your background down, while only you know, reach slightly reducing your signal, you can make a discovery. And the first stage of all of this is you're going to start making plots to start looking at the data to see what's there. So hopefully everybody is downloading this. And ideally, when you do then you should, I'm going to go into this directory here. And there's a subdirectory. Inside there, I'll just go into the first level directory. There's a scripts and data. And then we'll go into the scripts and data. And you should see that there are primarily route files, and then a handful of Python scripts. Unknown Speaker 12:16 Now, this next section may or may not work for everybody. But I'm just going to show you what I can do. And after I do this, I will pause to see if anybody has any questions. So I'm going to type route. And then I'm going to look at one of these route files. This is the glue glue to Higgs to tau tau scam. So this is the signal, at least one of the signals that are simulated gluon fusion to Hicks. And if I type routes, and then that it opens up the SSI interpreter, and attaches this file as underscore file zero. Now there's a few things I can do, I can list it, I can print it out. But if you have x 11 forwarding, you can type T browser, B, or C or a or x or whatever you want, you're just opening this object called a route browser. And if it works for you, you get something that looks like this, you get some window that has what looks like a directory structure on the side. And then there's this empty canvas. If this worked for you, you can go to the root file, you can click on it. And you can see that there is a directory in there called events. If I click on events, I see all these different branches. And I can click on any of them. And I start seeing these plots, some of which are that interesting. Let me see if I can find something. Now. There we go. But it's like a plot. So this is a very quick way that you can open one of these files and inspect them using the route tools. Now if x 11. forwarding is not working for you, that's okay. We have other approaches that we're going to look at these files in a second and talk about the physics of them. Unknown Speaker 14:08 But yeah, Unknown Speaker 14:10 and these images are down here in the lessons to walk you through it. I'm going to quit out of that. And I'm going to stop sharing for a moment so that I can see the chat or the sorry, the participants. And I just like to see a show of hands. How many people have access to a root environment, whether it's on their laptop, or Docker container or VM. How many people right now feel they have something that they can like actually interact with these files. And if you don't, that's fine. Unknown Speaker 14:47 Three, four, excellent thought, Oh, that's nice. Good. Unknown Speaker 14:55 And if you don't, you know, you can come back to this. That's fine. How many people were able to In the process of cloning the directory, the how many people are in the process or already cloned the repository that we're going to go through one. Awesome, excellent. And again, you can come back to this, the plots are on the lesson. So we can still as a group, talk about the physics that's happening. And eventually you guys are going to, you know, run over these files, and it's going to be awesome, and you're gonna get stuff done, and you'll learn so much. Okay. Thank you very much for that feedback. I'm going to Are there any questions though? Before I go on? I mean, I haven't really done anything. But I will pause here for any questions. Unknown Speaker 15:47 lazada, did you have a question? I see your hand is up. But I don't know if that's just lingering from before. Unknown Speaker 15:52 Oh, yeah. From the floor. Unknown Speaker 15:56 Excellent. Okay, just checking. I just wanted to make sure I just didn't skip over. I thought it might be that but okay. So then, let me now go back into sharing my desktop. Unknown Speaker 16:09 Okay. Unknown Speaker 16:11 Okay, so now I'm going to the next section, we're going to make a few plots. And I've given you, I've given you a few scripts, one of which is called dump and plot, I can dump some information, it can plot stuff. And ideally, when you first have it, all it's going to do is dump some information. So if I run Python, dump some plot, dump and plot, and then I type glue glue to h town. It's just going to dump whatever the branches are. And you can go back to the open data portal, the actual, the actual documentation for this, to get a sense of what, what Unknown Speaker 16:57 what variables are in here. Unknown Speaker 17:00 You can look at the actual underlying code as well to produce this but there's information about the Jets, the jet masses, the phi, ADA, P t, I can tell you this m, this is going to be the mass of the Higgs candidate. That's one of the things we're going to look at. And there's other information in here, if you're interested, the number of entries, 8085 entries, get information about the file size, or how much the size of this branch contribute to, and so on. Now, that's not all that interesting. So why don't we make a very, very simple plot. And first thing we're going to do is we're going to comment out the line with T print, we're not as interested in that. And then there's a chunk of code in here, that creates a canvas and route goes into it divides it up, makes a histogram of 30 bins from zero to 100, gets the number of entries loops over those entries and fills the histogram. And then at the end, it draws it and then it'll save it as a dot png file. So because I have x 11, forwarding working, mine is going to pop up. But for those of you that have may not be working, you can, it'll dump an image the plots directory. So the first thing I have to do is I have to go in and I have to edit this file. And I'm going to use this trick that I like in Python, where you can comment out a large block of code. If you have three single quotes surrounding some chunk of code, what I tend to do then is I actually comment out these comments. And by doing so when I comment out these comments when I put sorry, when I comment out these comments, which is what I have shown here, I put a little hashtag in front of these comments, it actually uncomment the code block. And so now this is all live. So again, I create a canvas, I divide it, I make a histogram and I define the size of the histogram. And then I am looping over each event here. And from my tree, I'm going to fill it with the transverse momentum of one of the muons. And that's something very, very simple. There's easier ways to do this. There are more sophisticated ways like with up route or with with the our data frame. But this I can kind of see what's happening here. And so if I exit out of this, and again, you don't have to use vi if you don't want to. I won't be hurt but you could if you wanted to. You can run this now and I'm going to run the same command I'm going to run Python dump and plot and if you want the plot to Stay up, you run this with Python dash pi. And I think I've got this down here, if you want the image to stay up, Unknown Speaker 20:07 you run Python dash line. Unknown Speaker 20:13 And I have now taken one of these files that were produced, and I get some distribution here. And so this is the muon key, at least for one of the new ones. And then I can quit out of this environment, just with quit, open closed parentheses. Now again, there are different tools that you can use to make this plot. But this is something that allowed, you know, quick and dirty, these are route files, it's kind of natural to think about using route to look at these some of you may copy out the entire plot. But I see this image. And now at this point, Oh, my gosh, I get to start talking about physics and thinking about what this is right? I didn't label the the x axis here, but it's, it's transverse momentum and units of G v oversee. And it has this structure. So when I was in grad school, the postdoc that I worked with, I don't want to say that it was a game we'd play. But often what we do is like, I would produce these plots, and then I would show them to him. And he would have to like understand the context of the plots, without me explaining it to them. And so if I made a good plot, he could infer what it was referring to, without any words, and it was not always best thing. But does anybody want to try to now explain why this plot looks this way? Why does this pot and I will look for either a show of hands, or honestly, you can just start talking Why? I'm not even going to give you any leading questions. Why does this look like this? Unknown Speaker 21:50 It does a lot from this. I think it affects this scheme file. A Unknown Speaker 21:56 count has Unknown Speaker 21:59 been extracted with this new 15. Trigger. Unknown Speaker 22:03 That's why we have a sharp got Unknown Speaker 22:06 more or less 15. Unknown Speaker 22:09 Yes, that's right. That's right. So there's a cut off right here, you see that right away. And that could be because it was from the skin. Sometimes you see artifacts like this, and they're the effect of the trigger. But I think you're absolutely right. This is because in the processing, somebody made a cut. And this is something to think about when you start looking at these data, you know, these data have been calibrated and skimmed. But you know, the trigger will sculpt your data. There are other aspects of the experiments that can sculpt and carve your data. And this is something you want to start thinking about when you see things. For those of you that saw Jesse's a colloquium yesterday, he talked about this energy energy correlation that they were looking at in jets, and there's this plateau. And it's like, oh, this isn't this is an effective q CD. And I will tell you this, except for like push on statistics, there was nothing in your data that is random or magic. There is a reason why your data is shaped the way that is. And it might be because of physics. Or it might be because of the detector. And it's up to you as the experimentalists. Because now that you're playing with data, you're all experimental. It's It's up to you this experimental is to figure out what these effects are. So right, there's this cut off because of the data selection. And obviously, it will not obviously, but you have fewer muons at higher momentum because of this particular physics process, you've got to conserve energy, it would be very strange if it you know, there was more muons at higher energy, but that could be significant as well. Okay, let's take a look at a few more plots, because this is just the beginning. So I'm going to go back into this file. And I'm going to take a moment, I'm going to comment out that first block. And the way I comment this out is I delete this hashtag in front of those three quotes. I'll delete this hashtag in front of these three quotes. And now everything is commented out. Unknown Speaker 24:14 I have a second block of code Unknown Speaker 24:19 that creates four plots. It's going to be the muon, PT, ADA, phi, and charge. And I have not done this coding cleverly, on purpose. I've tried to make it very explicit, which means it's maybe worthier than it needs to be. But you know what, then we can at least talk about it. Unknown Speaker 24:45 Alright, Unknown Speaker 24:47 now I run this. And for those of you that maybe this didn't run for I have these plots down here that it produces. So I'll let you look at either one of these Unknown Speaker 25:00 There we go. Unknown Speaker 25:02 And now I have a question for you. And so again, you guys are experimentalists. I claim that there is something to be gleaned from each one of these plots. We've already talked about this muon PT, we see that there's this cut that was imposed when we skim the data. So that's why you've got this star sharp cut off. It's falling because of conservation of energy, phase space, right? You have much smaller phase space for these interactions with high PT muons. But then I have ADA, I have fi and I have charge. And maybe these are what you expect to see, maybe they are not. But these are all useful plots. When you're looking at data. And you're doing what we refer to as sanity checks. Is my code working. sanity checks for lack of a better phrase. And so again, I will take comments from everybody as to, let's say, ADA, why does this look this way? Why does this image look the way it does? Unknown Speaker 26:08 What is this peak that I'm seeing? Is this a resonance? Unknown Speaker 26:14 I mean, I'm, I'm asking very misleading questions, but that's okay. Unknown Speaker 26:17 Well, I will say that this is this means that the most of the meals are in the central Regional Director, Unknown Speaker 26:25 yes, Unknown Speaker 26:26 well, I mean, you have you have you have all of them like to spread out in right there in the central, I mean, there are two regions in the in the detector, there is our forward region and there is a central region. And all this is the distribution in the in the central region of the detector, not in the forward part of the detector. And most of them are like in the, in the ITAR bullets A minus point five. Unknown Speaker 26:52 Yes, yes. Yes. So, so So yes, and yes. And the only reason I paused at the very beginning is because I was trying to be very precise with the language, the majority of our muons were detected in the central region. Now, that could be because the majority of our muons are produced going in that region. Or there could be other effects at play. But you're absolutely right. And so if you go to you know, I asked a question about this on the web page. And I have a little hint here, which is to remind you what ADA is referring to. So I apologize, I could not see the name of who talked. But you're absolutely right, in Ada equals zero. This is in our central region. And the majority of them are between minus point five and five. And if we remind ourselves of what pseudo rapidity, how it maps on to stuff, we know that if it's very forward or backward, going here, so at 1.3, to eight, a 2.44. If I look at a cross section of CMS, we see that there is a region here, where there actually are no detectors, the beam comes in from the sides here. And so if a muon comes in this direction, at let's say, eight of three or eight of four, there's actually no no equipment, no detector, there to measure it. And you might also have, you might also have other effects where, well, if the muon does not traverse enough of some of the detectors, we will not detect it. Now, it could also be that the way the trigger works, the trigger may be is only working because it's requiring that the muon be detected in this central region. And again, that will sculpt the data. So between the trigger requirements, as well as just the the, the geometry of our detector, we get something that looks like this. And you will see this plot all the time. But it's a great check of your data. For fine, it is flat in five from negative pi to pi. And that's kind of to be expected as well, we don't really expect any asymmetry in in fi. And so you will see this diagnostic plot all the time. If you sit in on analysis working group meetings. This is a great diagnostic plot. And what about muon charge here? Do we expect the same number of plus and minus means Unknown Speaker 29:30 positive and negative. Unknown Speaker 29:32 And we do we do for this? For this we do expect roughly equal within statistical fluctuations equal amounts. We're not violating CPT symmetry or anything like that. So very, like I said, sanity check just to make sure everything. Unknown Speaker 29:51 Everything works. Okay. Unknown Speaker 29:54 Now, if I want to I could run this on a different file. I could run this on So I could run Python dash die. Dumb, I could run this on, let's say one of the jet. So I'm going to run it on w one jets to L new. So this is when you have a W boson produced in association with jets. And I can look at the same distribution. And okay, it's flat in FY. EDA is a little different. So it's not quite so much falling at the edges and the muon charges, not quite symmetric. And then the PT seems to have a different shape as well. Now, I don't know exactly why the muon, the there's a charge asymmetry where you have more positive charges, it could be that this is requiring right, this is a decay to L nu. So I don't know if some of these muons are coming from the Jets, some of the muons are coming from w positive if there's a requirement that it's a positive w boson. But there's some reason in there that this is there are other reasons, physics reasons why you might have an asymmetry, maybe not at the LHC experiments. But sometimes you do see a symmetries in reconstructed particles. And that's because there are a there are differences in the cross sections, for example. So a charged pions have a different cross section interacting with material. If it's positive or negative, it's just a different. It's a different cross section. And so you can find that one or the other positive or negative ions will re scatter more often, depending on the energy. And so the detection efficiency may change. And so there are these very subtle effects. Now, you might say to yourself, okay, well, I'd like to compare this How different is this? How different is this than from one another from these different data sets. So again, as an analyst, you want to run over your data and take a look at these things and compare them. And so I have for you another script. That is compared to files, I apologize, I'm not interesting when it comes to naming these things. I'm I'm pretty just straightforward. And this is a this is a very explicit in how it's written out. There's nothing clever, I just make a bunch of different histograms. I loop over my files, I fill them and I plot them. And so I think I give you an example here to run, where I'm comparing the signal the glue glue to Higgs, with that one w plus jet. In FY, who everything looks pretty much the same, they both have a pretty flat distribution. So I think the black in this case is that one w plus jets. The red is the is the Higgs. And you can see that there are differences between these most likely as a result of the physics themselves. They're both going through the CMS detector. And so any differences that we see must be because of the physical effects. And you can play around with this if you want. You know, I think I always like doing this when I'm working with some new data set, just to see what things look like. Let me see this one here. What was I doing in this one I was comparing Oh, Drell Yan process to TT bar. Unknown Speaker 33:36 Oh, look at this. So the The first one is drill Yon. So this the red, this peaks at lower momentum, on average nuans coming from the TT bar, tend to populate higher momentum, on average, you know, because it's higher momentum that might account for this distribute this change in distribution in ADA. Because remember, you're affected by the geometry of the detector, it's not just what angle the particles start to come out at, but what their momentum is. And so lower momentum tracks will be more affected by the magnetic field. And so there's probably some effect in the momentum distributions that's affecting how they are detected. And it's probably also a combination of what was mentioned earlier, the physics process that throws the moment the muons, either in different parts of the detector versus the efficiency of detector to detect them. And I know that many of you, you know, know these these concepts and ideas, but now that you're playing with data, I think it's really useful to think about it. Now I've made these plots so that the areas under the curve normalized because each one of these data files has a different number of events in them. And so if you're interested, you can look at the code to see how I normalize them. If you're using matplotlib, you might use a different coding approach to normalizing them. But it's something that you generally always do when you're doing these types of comparisons. Unknown Speaker 35:06 Okay? Unknown Speaker 35:09 So stop there for a second. Right? So we're getting to talk about physics, we're going to talk about the effects of the detector. I'm going to stop sharing for a second so I can see better. Any hands that are raised. But does anybody have any questions about this? Or if anybody's taking a look at the code, does anybody have any questions about how these scripts are written? Unknown Speaker 35:36 I know that some of you are thinking about asking question, and then I'll just post it to mattermost, which is fine. Okay, Unknown Speaker 35:46 good. All right. Unknown Speaker 35:47 So let me go back now. Unknown Speaker 35:56 Again, all these data are here, you can go back to them, you can use them, modify them, improve them if you want. Okay, so again, I encourage you, as you're running all of these scripts, you know, when you start producing root files with all of these tools that we're giving you, you know, feel like you can go ahead and start looking at them and probing them and asking questions, what does this variable mean? What is this variable, maybe by making these plots, it actually helps you understand the variables, or at least that's the hope. So let me return to what the point of this actual exercise was. So in the Higgs, the tau tau analysis, you have to run over the background Monte Carlo Carlo samples, you have to run over the signal Monte Carlo samples. And then what we're going to do is you're going to stack them, and you're going to see if it compares to the data, you're going to then also make the plot of the collision data. And then you're going to compare about 30 observables. And you're going to see if the sum of all your Monte Carlo is an agreement with data, right? Is your data well described by some standard model processes, which are not the Higgs and then you'll see if there is a disagreement, which could be improved if you assume that there's been a Higgs produced. In order to compare them. Again, Julie referenced this before you need to know what integrated luminosity was the data represent? And then you're going to need to know how many Monte Carlo events were produced? What's the cross section for the background Monte Carlo samples? Or what is the integrated luminosity that those Monte Carlo samples are indicative of, and then you can scale them together, right? Off times, we will produce more Monte Carlo than the integrated luminosity. And this is to beat down systematics are a statistical uncertainty, sorry, statistical uncertainties. We have quite a few. If I look over here at our files, so if I just look at the route files, right, so there's glue glue to Higgs, there's a couple of data files, the TT bar, but we have, let's see, 12345 different background channels, two different data files, two different skims No, sorry, I have one. Yeah, five different backgrounds, two data files, two signal files. And we've got to keep track of everything. The code that I'm about to show you the scripts, you're welcome to go through them at your leisure, I think me walking through them line by line is not the most effective way. But I'm trying to give you a sense of everything that you have to keep track of there is but I will just go through the high points of it, there is a histogram.py. script. And you can see in here that what they've done is they already know what all the variables are. So this is this is basically the exact same thing, as is in the open data. analysis here, I've taken this from here. And I've made very, very minimal changes. So this is all from this. You can go through it. So what they've done is they've taken all that information. And then I think it's in here maybe it's in the skim, they've actually put in the weights, they've actually before they when they ran over the route files, sorry, when they produce the route files, which you have access to when you download it this directory, it has in there information about the weights. Notice that it has little shorthand there because you're gonna have to make start making plots for for the route file that is glue glue to h tau tau. There's a little GG h that'll get used later. There are filters that are done in here, but they've set this up so that it runs over everything and it runs pretty quick. So I will run it for you. And some of you may be doing this as well. So there's Python histograms that py is only going to produce a single file, it's not going to actually pop up any thoughts at this point. And you should get a bunch of output. If you're like me, when I ran it, I got a bunch of warnings at the beginning, but otherwise, it was basically okay. There's some output information, it's telling you how much passes certain cuts are requiring an isolated muon, opposite charge for the signal region. Transcribed by https://otter.ai