Edgar Carrera: Alright cool so.
Edgar Carrera: So we are back, we are going to work on the new on subjects now and for this.
Edgar Carrera: will be picking up from where we left, so I have to ask you to download these files, the poet file that we modified during the last episode.
Edgar Carrera: And the electron analyzer just for completeness, so it doesn't break and the bill file will already include the view, so it may be already the bill file includes the strands in tracks.
Edgar Carrera: library and the IP tools library that we use in order to to get the parameter impact parameter in three dimensions.
Edgar Carrera: Okay, so make sure you download these files and I will do the same, although I already did.
Edgar Carrera: Because we're going to use them okay.
Edgar Carrera: So just as an overview for the moon reconstruction, as you know, the m is the.
Edgar Carrera: meals, are the M and cms because our name is compact me on solenoid, and this is important because me on sorry constructed essentially taking all the information from the different subsystems.
Edgar Carrera: And perhaps is nicely summarized and this extract from this article, which is saying something like.
Edgar Carrera: We.
Edgar Carrera: We take we construct nuance using information from the tracking system like you see here also from the color emitters because me neurons pass through them.
Edgar Carrera: And then the main the position of energy happens in the moon chambers, the moon chambers or neon spectrometer in general have different technologies.
Edgar Carrera: And the tracks that we find for nuance can be global tracks, meaning that they are found along the whole trajectory or.
Edgar Carrera: outer tracks, just as part of the new on a spectrometer or internal tracks, meaning that it just they formally in the tracker.
Edgar Carrera: They can be a combination as well, so depending on depending on which sub detector is used to reconstruct meals, you can look at come across and different pieces of code with this kind of naming so you have local nuance.
Edgar Carrera: tracker muon stand alone me on a column yawns are gullible means, and I think I have mentioned, why these names.
Edgar Carrera: Are the way they they are.
Edgar Carrera: Of course, the the Code and the classes for immune reconstruction are available in cms is w in some doctor patient can also be found in the CNS open data guide, but for us.
Edgar Carrera: I think, for now, that it's a nice summary.
Edgar Carrera: And so, as the other particles means share many features with electrons and other particles in terms of the.
Edgar Carrera: methods and the way that we identify them, but at the new analyzer class in this point repository has other variables that are.
Edgar Carrera: Separate or that are.
Edgar Carrera: uniquely determined for for me ions so let's explore the moon ED analyzer let's open it first so that's what i'm going to do.
Edgar Carrera: i'm going to open the moon and aleister it leaves where the rest of the analyzers are, as you saw already the moon analyzer is in the source directory.
Edgar Carrera: And again, it repeats right all these analyzers repeat themselves, you have to import this class which comes from the bad candidates, as the main source of information.
Edgar Carrera: And then we also need the vertex glasses, so we add them here again because of the tracking properties, we need this vertex and the same The rest is pretty much the same as the rest, except that the variable some of the variables are explicit or.
Edgar Carrera: exclusive for me yawns like this one's here.
Edgar Carrera: Okay, so.
Edgar Carrera: let's look at.
Edgar Carrera: So, so, by the way, I suppose you you already noticed this.
Edgar Carrera: When we were discussing this in the pre exercises, but just to repeat.
Edgar Carrera: You essentially have to create some objects, where you store the collections of neurons that you're interested in right or any collection that you're interested in and then from, then you can obtain the information.
Edgar Carrera: And there's the retrieval of these objects can be configured and you do this in the constructor so from the configuration file, you can extract the arguments as needed.
Edgar Carrera: Again, you save you you you book this variables, the containers and the branches for the for the root file and then you loop over the events under these analyze class, so the structure is pretty much the same as any other ED analyzing so let's look at some.
Edgar Carrera: let's look at some immune identification and isolation variables again the variables related to the.
Edgar Carrera: tracking are the same, we have them une de X, Y as before noon dizzy as the impact parameters in this dimensions, with their respective uncertainties.
Edgar Carrera: We also.
Edgar Carrera: yeah for accessing them, we need the the primary vertex position, as you can see here.
Edgar Carrera: And we have this this method called me on best track with which gives you the the track of the moon essentially as something similar, as for the electrons before.
Edgar Carrera: You have the same containers that need to be clear, before we start information.
Edgar Carrera: And finally, regarding these isolation variables.
Edgar Carrera: We have some some of them that.
Edgar Carrera: whose names suggests how they are formed again the concept of isolation is the same across different objects, and it is likewise for for me ones.
Edgar Carrera: But some of these variables, the implementation of some of these variables are explicit in the code so let's look at those.
Edgar Carrera: You may notice that, in the code, you have this ISO 03 and ISO 04 and.
Edgar Carrera: Four from the implementation, you can see that that these are isolation variables that are relative, so this is what I was mentioning before essentially what you do is to check the energy around the particle in a cone of.
Edgar Carrera: Point three or point four right, this is a Cone in in angular Cone and then compare it to the energy of the particle itself and of course that's a relative variable and that's how you form these isolation variables relative isolation bibles.
Edgar Carrera: Okay, so.
Edgar Carrera: For this lesson I hope it's a.
Edgar Carrera: little bit less intense, we have two activities, the first one.
teeba: is to.
Edgar Carrera: align the.
Edgar Carrera: me one.
Edgar Carrera: analyzer with the electron analyzer remember that we added this SP as IP 3D variable the significance of the 3D impact parameter.
Edgar Carrera: And we needed for the new ones as well, because for the analysis that we are doing on Wednesday, we need this variable in both of these lessons electrons and nodes that's that's the goal.
Edgar Carrera: And so the first test.
Edgar Carrera: Now that you know how to do it is to look at the electron analyzer.
Edgar Carrera: Do something.
Edgar Carrera: Almost exactly similar for the new one and implement the the S IP 3D for the moon analyzer so that's our task some i'm going to try to do this, along with you.
Edgar Carrera: But if you want to do this faster than I can then you're very welcome to to go ahead, so I have my electron analyzer open here and my new an analyzer and all right i'm going to try to do this.
Edgar Carrera: What is the best way.
Edgar Carrera: yeah well, the first thing you know as.
Edgar Carrera: is to add the the the libraries, that we need so here are the libraries, I think I forgot to mention this before, but.
Edgar Carrera: But we needed this transition track the libraries and the IP tools libraries, that you so we were extracting this information with.
Edgar Carrera: So i'm going to add them also for the nuance and that's going to be at here.
Edgar Carrera: Okay i'm going to copy that here, and then remember that we booked some of these variables, a couple of these new variables so i'll do the same, but I have to change the name.
Edgar Carrera: Of course you can download the.
Edgar Carrera: solution but that's not fun.
Edgar Carrera: I can do it by myself i'll just have to change a few things i'll rename this as new on.
Edgar Carrera: Instead of an electron I give them the same name for the variables that's fine and then nothing to touch here, except that I need to make room in my route file and now create a couple of branches for this.
Edgar Carrera: And I have to rename them, of course.
Edgar Carrera: And here i'll have to replace the electron.
VU- Andrius Juodagalvis: That I.
VU- Andrius Juodagalvis: don't share your screen.
Oh.
Edgar Carrera: matt you didn't.
Edgar Carrera: You didn't alert me.
Edgar Carrera: Okay sorry i'll repeat this right so we're trying to do what we're trying to do is, you can see now right.
Edgar Carrera: Well, thanks for thanks for letting me know.
Edgar Carrera: yeah.
Edgar Carrera: yeah so so again for those who may be joining later didn't follow we're trying to add again had this variable that we added for electrons we were going to try to we're trying to do this.
Edgar Carrera: The same for me once.
Edgar Carrera: And now we know how to do it so.
Edgar Carrera: we'll just replicate what we did for electron So the first thing that I did.
Edgar Carrera: was to copy the the heather the the actual heather that I need for getting the transcript tracks and the IP tools together into the mian so I just copied that and then I added these two variables here for the nuance I changed the name and I booked.
Edgar Carrera: Space in my life in my root file by adding these branches and some description of them, and I was about to change the name of these ones, I have to change them to new on, and I will do that right now for this one and essentially all the ones that follow so that's right.
Edgar Carrera: Then.
Edgar Carrera: If I go if I keep going.
Edgar Carrera: right if I keep going.
Edgar Carrera: I remember that.
Edgar Carrera: We had to get some sort of primary vertex.
Okay.
Edgar Carrera: We have to get the the primary vertex because the.
Edgar Carrera: Remember the.
Edgar Carrera: This is.
Edgar Carrera: Absolute impact the render method takes the primary vertex as the reference point that's the does the issue.
Edgar Carrera: And so.
Edgar Carrera: forth fortunately for news is a little bit easier because the primary vertex is already there, so this is the same this primary vertex already works for us, so we don't have to recalculate it, it was already needed for some of the.
Edgar Carrera: variables that are obtain here, for instance, this lose medium and.
Edgar Carrera: tight variable that refer to the same things that we discussed for.
Edgar Carrera: electrons okay and alright so so that is done I don't have to worry about that I already have my primary vertex and the next thing is just to get the information.
Edgar Carrera: So i'll recap be or copy this tracked.
Edgar Carrera: Here and i'll put it, a similar place just underneath to maintain the order.
Edgar Carrera: Again I create an object which has.
Edgar Carrera: Which is called the truck builder essentially.
Edgar Carrera: obtains all the information that he needs for the events from the event setup essentially that's what it what it do what it does and.
Edgar Carrera: And yeah with this thing you can you can create the transient truck builder.
Edgar Carrera: That creates your transit trucks that you need to determine for determining this this parameter that we need and.
Edgar Carrera: It does it by starting from the track of the object so here, I have to pass the track of the object the track of the object is me on course, but it's not called GS F tracks like have to check how it is called, and.
Edgar Carrera: I suppose is me on best track, as you can see here.
Edgar Carrera: Okay, so I guess.
Edgar Carrera: I can just.
Edgar Carrera: add this as me on best track that will give me the.
Edgar Carrera: Best drug for the moon.
Edgar Carrera: And the absolute impact that under will take care of building the measure this pair object for me if I give the transient track and the primary vertex but my primary vertex as so above is called PV so i'll just give it that.
Edgar Carrera: And the rest, should be the same, except that i'm calling my variables me on and me on here and not electron.
Edgar Carrera: And that's that should be at.
Edgar Carrera: I can compare with the answer, or you can download the answer if you feel more comfortable that way, but let me then me check that.
Edgar Carrera: That I did everything correctly.
Edgar Carrera: So my answer should be here.
Edgar Carrera: Oh, see I forgot to clear my.
I think.
I forgot.
Edgar Carrera: yeah well it doesn't make too much difference if you declare it as a double or as a float for our purposes, but I suppose in my answer, I was using float.
Edgar Carrera: That doesn't really matter, but I did forget to.
Edgar Carrera: I did forget to clear this variable so that's a good thing, remember, I have to.
Edgar Carrera: Just copy them from here.
Edgar Carrera: Okay.
Edgar Carrera: Alright that's nothing that's good.
Edgar Carrera: So I save it and I have to recombine.
Edgar Carrera: Okay, it looked like it compile and now I have to run it again to check that my variables are being written.
Edgar Carrera: Under the nuance branch.
Edgar Carrera: Or the meals directory inside my fire.
Edgar Carrera: Alright, so I opened this.
Edgar Carrera: I check my nuance and the variable should be there.
Edgar Carrera: And there you go the variable exists, and I think i'm happy.
Edgar Carrera: Okay, so.
Edgar Carrera: I don't know if you were able to follow.
Edgar Carrera: If not.
Edgar Carrera: The solution is.
Edgar Carrera: is right there, as you can see.
Edgar Carrera: You should point you to.
Edgar Carrera: To a file that can be saved as me on analyzer that's you see.
Edgar Carrera: And it's your run.
Edgar Carrera: Okay, and i'm gonna let you do this one done look at the solution Okay, because it's just one liner.
Edgar Carrera: But it's a little bit interesting to see whether you, you get the feeling of where to look.
Edgar Carrera: This is another variable that was used in his analysis that we pretend to reproduce say it is a variable that we don't currently have, in the version of our immune analyzer and it is a, it is very similar is an isolation variable but it takes another.
Edgar Carrera: parameter here, which is related to the contamination due to pile up Okay, so you can read the description here, it says essentially.
Edgar Carrera: says that let's see.
Edgar Carrera: Well, I read it, I read the whole thing right, so it says the moon isolation is based on the some of the PT of the charge and neutral hydrants.
Edgar Carrera: And gay, so you have here the the charge and you draw hydrants I may have, I may have.
Edgar Carrera: This correct.
Excellent.
well.
Edgar Carrera: Well, anyway.
Edgar Carrera: What will check later But OK, so the.
Edgar Carrera: yeah it says that the moon isolation is based on the sum of the beauty of the charge and neutral headroom as well as photons reconstructed in a Cone.
Edgar Carrera: of R equals 0.4 around the me one.
Edgar Carrera: As you notice this is already done here right because this isolation variable takes already.
Edgar Carrera: takes care of the of the charge hydrants then neutral hydrants and the and the, the photons right so so that's not news.
Edgar Carrera: And they say the some of the beauty of the charge had runs associated to vertices other than the primary vertex is a use the correct for pileup contamination in the total flux of neutrals found in the neon isolation Cone.
Edgar Carrera: that's what it's telling us and it tells us that a factor of beta 0.5 is used to scale this contribution, so the expression that.
Edgar Carrera: manifests this statement here is this one that you can find.
Edgar Carrera: Here, so this is the isolate the relative isolation very so you some these quantities in in a cone of 04 and then you divided by the beauty of the of the party.
Edgar Carrera: And we don't have this variable, and so we need to implement, so your task is to.
Edgar Carrera: is to.
Edgar Carrera: To to check this to check how to do this, and for that I have put some hints here, by the way, we're calling this variable.
Edgar Carrera: PF realize oh zero for the core i'm not exactly sure why you know why but anyway.
Edgar Carrera: that's how we are calling this and.
Edgar Carrera: And so, there are some hints here at first, we already have most of this variable implemented implemented under very similar ice variables, as I showed you here right, so this is very, very similar but it's eventually missing some.
Edgar Carrera: Some term and and some function inside.
Edgar Carrera: You can see that.
Edgar Carrera: From this object these ISO 04 object which essentially.
Edgar Carrera: So this is a little bit trickier because it has this aura c++ function sure so out of auto.
Edgar Carrera: Type deaths are very nice because they work fast, but when you read the code, it takes more time to figure out what type, they are right, so you have to find a way to figure out what kind of object these uptick this but it's easy if you consider which.
Edgar Carrera: method you are reading from and so these ISIS 04 object is evidently given this information about the some of the charge hydrants.
Edgar Carrera: Okay, and everything else, so my guess because I haven't tried this I just implemented the solution that new dish made and I haven't looked really but my My suspicion is that.
Edgar Carrera: There is a similar method that this object is given, which is related to the pilot contamination that they talked about here okay.
Edgar Carrera: And we find it, and that would be this one, now that they call by lab charge by lab or something we find this, then we can construct this expression and replace it and make a new variable and.
Edgar Carrera: And added here as a new variable here, of course, you need to save this variable make room for this right, so the clarity here and then make room in the root file clear it and then get the information and you're done.
Edgar Carrera: So is this is this clear.
Edgar Carrera: This is.
Edgar Carrera: This is like one liner here is just one line that you have to implement.
Edgar Carrera: very similar to this isolation variables that we just were seeing here.
Edgar Carrera: So i'll give you.
Edgar Carrera: So what time do we have for this.
Edgar Carrera: yeah.
Edgar Carrera: yeah 40 minutes right then 10 minutes yeah.
Edgar Carrera: yeah so i'll give you five minutes and and, if not you're allowed to look at the solution and see how we implemented it, so the one thing i'm gonna guide you through is try to get this information from this object that that I can do so when I see is that this meal on.
Edgar Carrera: is getting this information, using this method Okay, and I know what these millionaires I know exactly because this is my bad my bad noon that's what we have been using all along.
Edgar Carrera: it's my bad noon, and of course the main class that gives me this bad me on is this this class, so I have to look somehow at this class the bad candidates class.
Edgar Carrera: And I always find everything object related under data formats that's a common thing for cms is w and so i'll just jump really quick to cms is w on get.
Edgar Carrera: And and go to the data format.
Edgar Carrera: Data formats.
Edgar Carrera: Right and look for bad candidates.
Edgar Carrera: So i'll go for bad candidates where's the bad candidates.
Edgar Carrera: Here, and they interfaces the headers of the different classes and hear everything lives in here, you know the electrons the me on the jets everything so.
Edgar Carrera: This is the first place, you went to look, if you want to add more information to these different objects because it's very likely that the information that you need is already food as as a method here.
Edgar Carrera: So you come to the meal on, and you have all the information that you can extract from these New York and and look.
Edgar Carrera: So these object is essentially taking advantage of this and getting this information from a method called PF isolation and our 0404 Cone and that's what i'm going to search for but I need to look under the correct version, which is the set.
Edgar Carrera: I guess it's the seven six X.
Edgar Carrera: Okay.
Edgar Carrera: and
Edgar Carrera: yeah but sometimes the way that it works is.
Edgar Carrera: That these.
Edgar Carrera: These variables are so general that they don't really belong to the moon itself right, so they have to be one level up.
Edgar Carrera: And if you don't find it here, so you can find all these different methods, but these variable is apparently more general than just for me on.
Edgar Carrera: And, and it should be, it should be gotten from perhaps one of these classes so which one is it.
Edgar Carrera: pretty sure it should be or my feeling is that it should be under the general ledger right because New York has a laptop and if I try to find some general information about a laptop then it may be, is here.
Edgar Carrera: unless someone knows exactly from cms where it is I haven't I haven't done this, I don't want to do it live but let's see.
Edgar Carrera: let's see.
Edgar Carrera: Here, neither.
Edgar Carrera: Oh man amen.
Edgar Carrera: it's not right it's not very easy to find it.
Edgar Carrera: yeah.
Edgar Carrera: that's what I meant about detective work.
Edgar Carrera: We don't usually find this.
Edgar Carrera: We usually find this much easier.
Edgar Carrera: Oh.
Edgar Carrera: I think I think this is the one right interface isolated BF.
This is a.
Edgar Carrera: particle flow.
Edgar Carrera: Article flow can date.
Edgar Carrera: and
Edgar Carrera: Isolated particle flow candidate, I hope it is here.
Edgar Carrera: Oh.
Edgar Carrera: Mr.
Edgar Carrera: There is a prize that dinner some it.
Edgar Carrera: First.
Edgar Carrera: I wish my dish was here.
Edgar Carrera: should be there them.
Edgar Carrera: I know what to do.
Edgar Carrera: Right broken.
Edgar Carrera: Sorry search for this method instead.
Edgar Carrera: Okay, it looks like.
Edgar Carrera: It comes from here.
Edgar Carrera: yeah well.
Edgar Carrera: Not very evident.
Edgar Carrera: But it looks so.
Edgar Carrera: yeah, this is the thing that gives you this methods.
Edgar Carrera: So it's actually it's much more general than a particle of flow or.
Edgar Carrera: See.
yeah.
Edgar Carrera: It it comes from this right, and so you have all these methods for this object and voila we we found our.
Edgar Carrera: Our guilty subject So you see here that this is the sum of charged particles, not from the TV exactly as what the information that we had from the analysis tell us that we need to add this with this factor of 0.5.
Edgar Carrera: To our definition so that's why we did.
Edgar Carrera: So if you download so see it's not an easy task task, sometimes to find information, but one way or another, you can explore the code and try to navigate through it and, eventually, you can find it so.
Edgar Carrera: So let's let's implement while we don't have time to do it live, but what we what we will do is to compare the original file to this solution that I have put somewhere here, and you will see that that's essentially the.
Edgar Carrera: The modification that we needed to do so i'll compare these two versions of the file I put it.
Edgar Carrera: here.
Edgar Carrera: And it will show so.
Edgar Carrera: So yes, so here is the.
This is a bit difficult to.
Edgar Carrera: I guess i'll just copy that.
Edgar Carrera: I just download the solution.
Edgar Carrera: and show it to you.
Okay.
Edgar Carrera: So.
Edgar Carrera: They should be the updated updated version already, and here it is so the rest is the same, you know the booking of the of the variables in such is the same, but this is the show line where we extract information so once we found the guilty suspect, you know this term that gives us the.
Edgar Carrera: The some pilot beauty which corrects for the pile up, we can add it following the expression that was given g.
Edgar Carrera: We can add this variable to our collection of variables, and it is formed in a very, very, very similar way, of the other pileup sorry the isolation variables, but taking the Max value of this some okay.
Edgar Carrera: that's that's the that's the implementation of this new variable and, of course, after you do, that some you have to divided by the PT of the particle itself in this case the moon and that's relative variable.
Edgar Carrera: All right, and I think that's all for now I hope that you have gotten feeling of what it takes to get information from different kind of objects, we have treated to essentially electrons and nuance.
Edgar Carrera: We have gotten the variables that we need for our analysis on Wednesday so we're good to go for electrons and neurons and now i'm going to hand over to to Julie, who I hope is connected, but first we need to stop the recording.
Edgar Carrera: And how are we going to do this.