GSI Helmholtzzentrum für Schwerionenforschung
Vertex fitter(s) and B field setting in pandaroot release.
Dear all, I found a tricky problem with the PndKinVtFitter, when I submitted my jobs to the Prometheus queues (I am using the release /oct14; but the same problem occured with /scrut14). What happens is that the chi2 values of the fit is always 0 (unreasonably) and the prob_chi2 is a plot not filled at all. Indeed, I never experienced this problem when running interactively my jobs, on my pc, in the same release. The problem, actually, is not the fitter; but the B field setting, which is different in /macro/run/ana*.C, compared to /macro/prod/prod_ana.C. In fact, when I run interactively my jobs for a test, using /macro/run/ana_complete.C, I see: RhoCalculationTools::ForceConstantBz(20.0); while in /macro/prod/prod_ana.C (the one that is suggested for a job submission to the queues), I see: //---------------------Create and Set the Field(s)---------- PndMultiField *fField= new PndMultiField("FULL"); fRun->SetField(fField); //RhoCalculationTools::ForceConstantBz(20.0); Can anyobody explain why the B field setting is different in those 2 analysis macro, and what is the correct B field setting to use? Other question: how/why the PndKinVtxFitter is affected from the B field setting change? I found also that if I try to use the 4C fitter (e.g. PndKinFitter fitter(mylist[j]); fitter.Add4MomConstraint(ini) ; ), the chi2 and prob plots are filled, but with unreasonable values ( e.g. chi2 is always >10 0000; almost all entries of prob_chi2 are cented in 0) . This is something that I cannot understand. Any feedback is more than welcome! One more thing: in /macro/prod/prod_sim.C, the B field setting is: "FULL" //---------------------Create and Set the Field(s)---------- PndMultiField *fField= new PndMultiField("FULL"); fRun->SetField(fField); while in /macro/run/sim_complete.C, the B field setting is: "AUTO" //---------------------Create and Set the Field(s)---------- PndMultiField *fField= new PndMultiField("AUTO"); fRun->SetField(fField); What is the official reccommendation for running analysis simulations? Thank you in advance for your useful suggestions and help, Elisabetta
Re: Vertex fitter(s) and B field setting in pandaroot release.
Hi Elisabetta, The line RhoCalculationTools::ForceConstantBz(20.0); tells the analysis framework (Rho) to assume an artificial, constant B-field. Every fitter which needs the B-field (i.e. all vertexers!) will see the constant B_z, if enabled. I would not recommend using it unless you don't have your magnetic field parameter file on hand. I strongly encourage to use the very same field settings in the whole chain of processing. Which one to pick, Stefono should tell you. Cheers Ralf
The standard chain is the usual one in macro/run. And in macro/run/ana_complete.C there is no line RhoCalculationTools::ForceConstantBz(20.0);
Dear Stefano and Ralph, in /macro/run/ana.C the default B field setting is the constant B field. This is why I am wondering. You probably agree, all people running simulations right now are using the default settings of the analysis macros. So, if one submits jobs at Prometheus, he/she runs the "FULL" B field option by default; if one runs /macro/run/ana.C or /tutorial/rho/ana.C, he/she runs the constant B field. Did I understood correctly? I do hope I have misunderstood something here....I mean, why do we have some analysis macros with the constant B field, and some others with the "Full" or "Auto" map? and why the vertex fitters look working only with the constant B field ? We urgently need to discuss this issue. Please, your feedback is more than welcome! Looking forward to hear from you, and thank you once again for your feedback. Elisabetta
Dear Elisabetta, in oct14 as well as in the trunk, in macro/run/ana_complete.c, there is no option about the field: https://subversion.gsi.de/trac/fairroot/browser/pandaroot/release/oct14/ macro/run/ana_complete.C Why do you say that the B is constant? I cannot see any single line with field. In macro/run/sim_complete.C the field option for simulation is: PndMultiField *fField= new PndMultiField("AUTO"); fRun->SetField(fField); AUTO means that the solenoid field is 2T for pbar momentum > 3 GeV/c and 1T for pbar momentum < 3 GeV/c. If you have p higher than 3 GeV/c as I presume AUTO and FULL provide exactly the same magnetic field inside the central part. Last point: the vertex fitters are assuming that the particle is produced close to the IP where the field is constant. Then, if the first hit is a MVD one, they approximate the trajectory as a helix with a constant value of the field, neglecting field inhomogenity and energy loss. But the field value is loaded from the magnetic map, and it is the field value at the first hit of the track if I remember correctly. The ForceConstant option is to force to use a well defined value, and if you put 2T you will have the same value as w/o that option for p bar momentum > 3GeV. If you run < 3GeV/c then you will have a discrepancy, IF you force the field value to 2T. This is the reason why Ralf suggests not to use that option. All the other macros in the repository are not the standard one and are maintained by the package experts, it is possible they they are not the last version and keep some old settings. Macro/run is the default way.
Hi Elisabetta, After thinking about it, you should not create a magnetic field during Analysis. The FairRunAna will read the magnetic field from the parameters file, created at simulation time. Please remove that part from your analysis macro and the Vertexer should work again. Cheers Ralf
Hello Stefano and Ralf, thank you for your detailed information. Of course, I think that the correct feature is to use the full B field map, and not to force it to 2 T (constant B field). Actually this was not my idea: that line was in the tutorial analysis macro of some older trunk revisions, and I inherited in my analysis macro, when doing the upgrade of my trunk revision. I discovered that in the most recent releases/trunk revisions, the line forcing the B field to be constant, is not any further (fortunately!). I used last summer for my simulations (rev 25375, if I am not mistaken), just because it was in the default setting. For some reasons, if now I comment it out, the vertex fitter(s) get crazy, in particular the 4C fitter. So, I assume that some more settings were changed, since last summer. I'll try to run my analysis macro as in /macro/run/ana_complete.C (release oct14), and modify it according to my analysis, again. Then, if any trouble, I'll come back to this forum. Thank you again, Elisabetta