GSI Forum - RDF feed
type: channel
description: GSI Helmholtzzentrum für Schwerionenforschung
items: genfit in pandaroot - trunk rev 25180: test macros
items: Re: genfit in pandaroot - trunk rev 25180: test macros

genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Dear Gianluigi et all, I would like to do some tests for comparison in pandaroot, when using genfit (trunk version 25180) and the new vesion of genfit which Johannes and me just introduced in pandaroot. You can find the code here: https://subversion.gsi.de/trac/fairroot/browser/pandaroot/development/ge nfit2/genfit_brach this is a full branch development. The packages which had to change/add/modify to make genfit2 runing smooth in pandaroot are in: https://subversion.gsi.de/trac/fairroot/browser/pandaroot/development/pr encipe/ I tried some bacis test amcros in analysis/rho. They look running without main troubles. Then, I tried to run some macros from /macro/stt/ but I found problems. In particular, two of thiose: /macro/stt/chechgenfit.C /macro/stt/checkdedx_helixhit.C Could you suggest to me what shall I do in order to run those macros, please? these are exactly the tests which I would like to perform. I need to check the resolution/pull of the trackign parameters. Maybe they are not updated to the trunk version rev 25180. Could you provide help, please, and try to update/run those and see what is needed to correct them, in order to make them working? Do you have any suggestion, any standard macro existing which I can use to make standard test, in pandaroot? Thank you very much for your very useful help! cheers Elisabetta
creator: Elisabetta Prencipe (2)
date: 2014-05-29T13:30:48-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Elisabetta Prencipe (2) wrote on Thu, 29 May 2014 15:30 Dear Gianluigi et all, I would like to do some tests for comparison in pandaroot, when using genfit (trunk version 25180) and the new vesion of genfit which Johannes and me just introduced in pandaroot. You can find the code here: https://subversion.gsi.de/trac/fairroot/browser/pandaroot/development/ge nfit2/genfit_brach this is a full branch development. The packages which had to change/add/modify to make genfit2 runing smooth in pandaroot are in: https://subversion.gsi.de/trac/fairroot/browser/pandaroot/development/pr encipe/ I tried some bacis test amcros in analysis/rho. They look running without main troubles. Then, I tried to run some macros from /macro/stt/ but I found problems. In particular, two of thiose: /macro/stt/chechgenfit.C /macro/stt/checkdedx_helixhit.C Could you suggest to me what shall I do in order to run those macros, please? these are exactly the tests which I would like to perform. I need to check the resolution/pull of the trackign parameters. Maybe they are not updated to the trunk version rev 25180. Could you provide help, please, and try to update/run those and see what is needed to correct them, in order to make them working? Do you have any suggestion, any standard macro existing which I can use to make standard test, in pandaroot? Thank you very much for your very useful help! cheers Elisabetta Seher gelibte Elisabetta, first of all, if you want to run tests without the Mvd hits (only the Stt hits), there are two options as far as the Pattern Recognition is concerned: 1- in the simulation phase you use the Mvd system but you declare it passive, so that no Mvd hits are produced. If you do so then you can run all the rest of the pattern recognition + PID etc. normally, without doing anything special. At the end of the PR you will obtain PndTrackCand etc. in the usual way; 2- you have already simulated the Mvd hits (ie you don't want to rerun the simulation) and now you want to analy…
creator: Gianluigi Boca
date: 2014-05-29T15:13:32-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Hi Gianluigi! good news! it is not needed for now that I run stt hits without mvd its. So, image that I already simulated and digitized and reconstructed events, for whatever physics channel. All detectors are in. PID is also in. Or maybe I can use Box Generator, and I have one single pion, p=1 GeV/c. Now I am in the situation to check what is the d0, z0, tanLambda....distributions for the tracks which I have reconstructed. I wish to test if the width of the kalman parameter distributions is 1. I guess, you have already written macros which I can use, without I do it myself. I would like to show at the upcoming collaboration meeting differences between genfti1 and genfit2 performancess (momentum resolution for different track momentum, pull distributions, de/dx maybe) So if I can run your macros, it would be awsome. So, we can do tests on the same observables. I agree with you, the macros in stt/ or /mvd in the folder /macro/ , are obsolete. So, which ones can I use? Could you please say to me, without I write something myself, if something exists and where it is and and how I can use it? I would really appreciate, and it would save my time. Thank you again for your kind help and for your macros, Elisabetta
creator: Elisabetta Prencipe (2)
date: 2014-05-29T15:31:00-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: A first check could be just to run the standard reconstruction macro in macro/run, and compare the momentum distribution with genfit1 and with genfit2. This could give a hint on the resolution and efficiency.
creator: StefanoSpataro
date: 2014-05-30T07:16:50-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Hi Stefano and Gianluigi, the analysis macros available in /macro/run give no troubles. I have access to all information as for my analysis on DsJ( momentum, vertex position, angular distributions; and of course resolution of those). I have a question related to how to get access to the informations like GetZ0(), GetRadius(), GetTanL(), ..., which I see are accessible by mean of PndTrkTrack objects, or PndTrackCand. The question is the following: after I run sim-, digi-, reco-, pid-, I can write in a macro something like this: TClonesArray* cand_array=new TClonesArray("PndPidCandidate"); tree->SetBranchAddress("PidChargeCandidate", &cand_array); [..] for (Int_t pp=0; pp<track_array->GetEntriesFast(); pp++) { PndPidCandidate * mytrack = (PndPidCandidate*)cand_array->At(pp); rec_mom = mctrack->GetMomentum().Mag(); rec_theta = mctrack->GetMomentum().Theta()*TMath::RadToDeg(); rec_phi = mctrack->GetMomentum().Phi()*TMath::RadToDeg(); cand_mult++; // end of candidate loop } ***** This works (thank you Susanna for this macro!). It is available in the macro/pid/track_check.C However, a PndPidCandidate gives access to limited informations, compared to the most generic PndTrkTrack candidates. But if I try: TClonesArray* track_array=new TClonesArray("PndTrkTrack"); tree->SetBranchAddress("Track", &track_array); for (Int_t pp=0; pp<track_array->GetEntriesFast(); pp++) { PndTrackCand * mytrack = (PndTrackCand*)track_array->At(pp); cout<<"Could you eneter in the loop?"<<endl; //rec_d0 = mytrack->GetDist(); rec_z0 = mytrack->GetZ0(); rec_tanL = mytrack->GetTanL(); rec_R = mytrack->GetRadius(); cout<<"test = "<<mytrack->GetZ0()<<endl; rec_charge = -(Int_t) mytrack->GetCharge(); double rec_pt = mytrack->GetRadius()*0.006; double rec_pl = mytrack->GetRadius()*rec_tanL*0.006; rec_mom = TMath::Sqrt(rec_pt*rec_pt + rec_pl*rec_pl); if(rec_mom!=0) rec_omega = rec_charge / rec_mom; // } cand_mult++; } // end of candidate loop ***** I cannot enter neither in the loop. What am I doing wrong…
creator: Elisabetta Prencipe (2)
date: 2014-05-30T09:37:52-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Tracks are in the reco file, which you need to add as a friend: tree->AddFriend("cbmsim",inRecoFile);
creator: StefanoSpataro
date: 2014-05-30T09:49:33-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: Thank you Stefano. This helps, but does not answer to my question completely. And my question is: if I wish to test the pull of the tracking distributions, such as Z0(), Dist(), Radius(), TanL(), without recalculating in my analysis macro, which are available and I can get from the class tracking/PndTrkTrack.h, how can I introduce this information in the /macro/reco__complete.C? Clearly, if the info is not in the macro reco_complete.C, I cannot take it and work on that in a modified version of macro/pid/track_check.C. I hope this would explain better my problem. If anybody has any idea or any macro doing this, please I am interested in that. Thank you in advance for your help, and have a nice weekend! cheers, Elisabetta
creator: Elisabetta Prencipe (2)
date: 2014-05-30T17:37:38-00:00

Re: genfit in pandaroot - trunk rev 25180: test macros
type: item
description: You have to calculate them by yourself, since we don't use such parametrization. The PndTrack contains the parameters at the first hit, FairTrackPar, and you can have them with the parabolic parametrization P or the helix H. You can check the corresponding classes o the documentation provided in the Turin Computing week.
creator: StefanoSpataro
date: 2014-05-30T18:04:21-00:00