GSI Forum
GSI Helmholtzzentrum für Schwerionenforschung

Home » PANDA » PandaRoot » General » Fieldmaps for the half current solenoid
Fieldmaps for the half current solenoid [message #14938] Tue, 09 July 2013 12:54 Go to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *kph.uni-mainz.de
Again, I spam both, the ticket system and forum.

https://subversion.gsi.de/trac/fairroot/ticket/103

As one should know, solenoid current will be reduced by a factor of 2 for beam energies below injection momentum what is about 3 GeV. I got tosca fem field maps from Jost Luening and translated those with my own program into panda root compatible field maps:

http://www.staff.uni-mainz.de/jasinsk/temp/solenoid_hc.tar.gz

The problem is pandaroot foresees only one solenoid field for all momenta. To my mind it should be done, like for Dipole maps. In addition we would need maps with half current for 1.5 GeV and 3 GeV and then maps for, let's say 3.1 GeV with full current. Otherwise pandaroot would try to interpolate between the lowest two maps for intermediate momentum settings for the solenoid as well, isn't it so?

I hope this isn't a big issue.
****
For the sake of completeness:

Here are the fieldmaps by Jost Luehning. Thanks for the work!

http://web-docs.gsi.de/~luehning/Maps_1301.rar
****
One possible workaround:

I have created two folders in my <pandaroot>/input directory:
solenoid_hc
solenoid_fc

I have put to both half and full current fieldmaps and linked
to the input folder what I needed

ln -sf solenoid_hc/* ./

But this is for sure only a workaround


Cheers Promme

PS: I tested the fieldmaps only for 100 events that should reach the luminosity monitor. So please inform me if you find something strange.

[Updated on: Tue, 09 July 2013 12:56]

Report message to a moderator

Re: Fieldmaps for the half current solenoid [message #14981 is a reply to message #14938] Fri, 19 July 2013 13:12 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Hi,
this would call for a change in the "field" package.
Now we call the field with:

PndMultiField *fField= new PndMultiField("FULL");


It would be possible to implement a new flag calling for half of the solenoid filed:

PndMultiField *fField= new PndMultiField("HALF");


However, one need to add:

a) one new solenoid map, with 1/2 field
b) two new sets of Transmap, one for 1.5 and the other for 3.0, used ONLY with the option "HALF"

In this way with "FULL" we use the standard maps, with half (working only between 1.5 and 3 GeV/c) we use the 1/2 field solenoid map. The code should be able to know that the solenoid field should never be interpolated. In reality neither the trans maps should be intepolated, but should be calculated each time...


I can suggest to work to implement such changes in the code, I don0t know if somebody else have smarter ideas.
Regards
Re: Fieldmaps for the half current solenoid [message #14996 is a reply to message #14981] Tue, 23 July 2013 08:57 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *kph.uni-mainz.de
Since I did not have a too deep look into the structure of reading fieldmaps, I would like to discuss this with Muhamad as well. Maybe we should have an evo meeting or so?!
Re: Fieldmaps for the half current solenoid [message #14999 is a reply to message #14996] Tue, 23 July 2013 11:22 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 2.235.190*
Mohammad should be in vacation right now, you could try yo contact him by mail and check if he answers. I believe he is the only knowing how the field package works.
Re: Fieldmaps for the half current solenoid [message #15000 is a reply to message #14999] Tue, 23 July 2013 11:40 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *kph.uni-mainz.de
Sure, I did not intend to disturb anybody during his free time. We wait.
Re: Fieldmaps for the half current solenoid [message #15294 is a reply to message #14938] Wed, 21 August 2013 16:09 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *kph.uni-mainz.de
Since there was no reply yet but we have people running simulations not exactly at 1.5 GeV, I translated the next energy Transistion field map as well:

http://www.staff.uni-mainz.de/jasinsk/temp/TransMap.0406.root

proceed like with the lower energy to get a correctly interpolated transition field map. Map is yet untested. Report any problems.
Re: Fieldmaps for the half current solenoid [message #15300 is a reply to message #15294] Thu, 22 August 2013 09:47 Go to previous messageGo to next message
Simone Esch is currently offline  Simone Esch
Messages: 37
Registered: August 2010
Location: Forschungszentrum Jülich...
continuous participant

From: *ext.kfa-juelich.de
Hello Prometeusz, Hello Pandas,

thank you for organizing the files for the half current solenoid maps.
I have just a question about there usage and implementation in my PandaRoot version. I saw that you just replaced them, but I would like to have automaticly the right files in the classe (otherwise I will screw it up for sure). And I would like to understand which one I really need.

I was told, that the Dipol- and Transitionmaps for a beammomenta of e.g. 1.6 Gev/c are an interpolation of the maps of 1.5 GeV/c and 4.06 GeV/c. So I would expect that I have to deliver maps of two momenta for the transition field for each moemtasetting of the solenoid.
You have uploaded all these files which matched with my expectation.


But if I have a look in the classes (PndTransMap and PndDipolMap), I see that the classes just load one and not two maps, what I would expect if they do an interpolation.
(the following code is out if PndTransMap)

  fType = 4;
   TString Suffix="";
   FairRunSim *fRun= FairRunSim::Instance();
   if(fRun) fBeamMom= fRun->GetBeamMom();
   
   if(fBeamMom< 3)Suffix=".0150" ;
   else if (fBeamMom< 6.0 && fBeamMom >= 3.0)Suffix=".0406";
   else if (fBeamMom< 10.0 && fBeamMom >= 6.0 )Suffix=".0890" ;
   else if (fBeamMom< 13.0 && fBeamMom >= 10.0)Suffix=".1191";
   else if (fBeamMom> 13.0) Suffix=".1500";
   
   
   TString NewName=mapName;
   NewName=mapName+Suffix;
   SetName(NewName.Data());
   TString dir = getenv("VMCWORKDIR");
   fFileName = dir + "/input/" + NewName;
   if ( fileType[0] == 'R' ) fFileName += ".root";
   else                      fFileName += ".dat";



Whith this code I would expect to just need a transition map for 1.5 GeV/c, and not 4.06 GeV/c.

So I am not sure what to do now. Which fils do I have to change for 1.6 and 1.9 GeV/c beammomenta?

Best regards

Simone

Re: Fieldmaps for the half current solenoid [message #15302 is a reply to message #15300] Thu, 22 August 2013 12:06 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *kph.uni-mainz.de
Hello,

since I never used non exact energies, so interpolated cases, I cannot help you out with an final answer. But IF interpolation is done between two field maps, you will need BOTH field maps.

Hope somebody else might confirm that interpolation is actually implemented.

Sorry
Re: Fieldmaps for the half current solenoid [message #15962 is a reply to message #14938] Fri, 14 March 2014 14:33 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi,

are there any news on the automization of the simulation with half/full current solenoid fieldmaps inside pandaroot?

Best regards,

Stefan
Re: Fieldmaps for the half current solenoid [message #15963 is a reply to message #15962] Fri, 14 March 2014 14:53 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: 88.128.80*
Currently there are no activities on this side, as far as I know.
Re: Fieldmaps for the half current solenoid [message #15966 is a reply to message #15962] Fri, 14 March 2014 20:00 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *pools.arcor-ip.net
Yes, unfortunately more constraints have to be fixed first before implementing something. But mostly time is an issue. If somebody is willing to help me out on this task I'm willing to assist with all my knowledge. Otherwise you will have to be patient. Sorry!
Re: Fieldmaps for the half current solenoid [message #15973 is a reply to message #14938] Sat, 15 March 2014 00:19 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip0.t-ipconnect.de
Hi Prome and Stefano,

The final issue for 1/2 half field map still remain due to combining two stuff between field map and accessor in my point of view.


I assume that total size of cubic(or vector) and structure must be same for half field map.
Then additional field map will be placed into the pandaroot/input/ accodring to transition region with 2 different beam momentum and one common solenoid
TransMap_Low.0150.root
TransMap_Low.0300.root
SolenoidMap_Low1.root
SolenoidMap_Low2.root
SolenoidMap_Low3.root
SolenoidMap_Low4.root


One can access reduced map via /field/PndMultiField by "Half" in user side.
I expect simply additional option "Half" with above naming scheme
Quote:

else if (Map=="Half") {
PndTransMap *map_t= new PndTransMap("TransMap_Low", "R", fBeamMom);
PndDipoleMap *map_d1= new PndDipoleMap("DipoleMap1", "R", fBeamMom);
PndDipoleMap *map_d2= new PndDipoleMap("DipoleMap2", "R", fBeamMom);
PndSolenoidMap *map_s1= new PndSolenoidMap("SolenoidMap_Low1", "R");
PndSolenoidMap *map_s2= new PndSolenoidMap("SolenoidMap_Low2", "R");
PndSolenoidMap *map_s3= new PndSolenoidMap("SolenoidMap_Low3", "R");
PndSolenoidMap *map_s4= new PndSolenoidMap("SolenoidMap_Low4", "R");
AddField(map_t);
AddField(map_d1);
AddField(map_d2);
AddField(map_s1);
AddField(map_s2);
AddField(map_s3);
AddField(map_s4);
}
....



Basically between 1.5 GeV and 3.0 GeV only one transition map should be enough.
However we have already two field map for transition region by producing from Prome.
Then field/PndTransMap.cxx have to be replaced by a piece of hanling for this two transition map.

Quote:

fType = 4;
TString Suffix="";
FairRunSim *fRun= FairRunSim::Instance();
if(fRun) fBeamMom= fRun->GetBeamMom();

//if(fBeamMom< 3.0)Suffix=".0150" ;//inactivate
if(fBeamMom>= 1.5 && fBeamMom <= 2.25)Suffix=".0150" ; //baem momentum close to the 1.5 GeV
if(fBeamMom>= 2.25 && fBeamMom <= 3.0)Suffix=".0300" ; //beam momentum clsoe to the 3.0 GeV
//actually between 1.5 and 3.0 GeV only one transition map.

else if (fBeamMom< 6.0 && fBeamMom >= 3.0)Suffix=".0406";
else if (fBeamMom< 10.0 && fBeamMom >= 6.0 )Suffix=".0890" ;
else if (fBeamMom< 13.0 && fBeamMom >= 10.0)Suffix=".1191";
else if (fBeamMom> 13.0) Suffix=".1500";


TString NewName=mapName;
NewName=mapName+Suffix;
SetName(NewName.Data());
TString dir = getenv("VMCWORKDIR");
fFileName = dir + "/input/" + NewName;
if ( fileType[0] == 'R' ) fFileName += ".root";
else fFileName += ".dat";




I think then we have no problem at all for this issue.
Do I miss somewhere else?

Best wishes,
Donghee







Re: Fieldmaps for the half current solenoid [message #15976 is a reply to message #15973] Sat, 15 March 2014 11:26 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *ip71.fastwebnet.it
Yes, the idea was exactly that. Simply we need somebody putting inside this code and doing tests....
Re: Fieldmaps for the half current solenoid [message #15977 is a reply to message #15973] Sat, 15 March 2014 11:27 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi Donghee,

yeah something like that. In my opinion, the "HALF" setting is not really required, as it should not be a choice to use the half or full current solenoid field maps. For less than 3GeV it has to be half and above the full. In case the user wants full control he can set the field maps like he wants them to (one could introduce the "HALF" setting for that case). So in principle one would just have to put the two different field maps for the solenoid and transition map for the half and full current into the input folder and then alter the code inside PndMultiField.cxx to allow for the automatic choice of the correct field maps. Then there are no changes in any macro required using the FULL setting etc. And the changes are minimal (just a few lines to edit, in case im not mistaken).

Best regards,

Stefan
Re: Fieldmaps for the half current solenoid [message #15978 is a reply to message #15977] Sat, 15 March 2014 14:36 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip0.t-ipconnect.de
Hi Stefan,

I aggree on that your suggestion is rather conveient way in user point of view.
However one more thing is still not clear to me to decide easy and best way.

Is the reduced B-field(or Half B-field) now officially adapted by all tracking group and analysis group? If yes, "Full" have to use automatically reduced field at below 3 GeV as you suggested, but I didn't hear any conclusion about it.
Quote:

For less than 3GeV it has to be half and above the full.

One more naive question is
whether all trakcing code have to be diffferent corresponding lower field below 3 GeV case or can keep all existing tracking code without any modification.
I hope that latter is the case. Smile

In any case, the implementation can be easily done without any problem by someone, and need some simulation tests with this field map.
I will try to compare full or half map with some channels, when everythings are ready, I expect that some resolution tests have to be done.

Best wishes,
Donghee
Re: Fieldmaps for the half current solenoid [message #15979 is a reply to message #15978] Sat, 15 March 2014 15:05 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *ip71.fastwebnet.it
The reduced field was never officially implemented then neither used. First one need the implementation, after we can see what will change.
For the moment we should keep both the maps for low momenta, in order to be able to compare what happens.
I have not understood who is volunteering to put inside the code the "half" map...
Re: Fieldmaps for the half current solenoid [message #15980 is a reply to message #15979] Sat, 15 March 2014 16:19 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi Stefano,

I could prepare something in case Promme and Donghee haven't done so already. I'll talk to them and then post a patch here.

Stefan
Re: Fieldmaps for the half current solenoid [message #15981 is a reply to message #15978] Sat, 15 March 2014 16:31 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi Donghee,

Quote:

I aggree on that your suggestion is rather conveient way in user point of view.
However one more thing is still not clear to me to decide easy and best way.

Is the reduced B-field(or Half B-field) now officially adapted by all tracking group and analysis group? If yes, "Full" have to use automatically reduced field at below 3 GeV as you suggested, but I didn't hear any conclusion about it.
Quote:

For less than 3GeV it has to be half and above the full.



To my knowledge, the solenoid has to be run at half current for lower than 3 GeV as the beam correction magnet of HESR cannot undo the full current effect. Hence, thats how PANDA will operate. So I would say everyone has to adjust to that fact.

As far as the tracking code changes go, I do not see any problems here, since the internal structure of the fields would be unchanged. Only the "Facade" class PndMultiField would be changed to load the correct fieldmaps depending on the momentum.

But correct me if I missed something.

Stefan
Re: Fieldmaps for the half current solenoid [message #15983 is a reply to message #15981] Sat, 15 March 2014 19:20 Go to previous messageGo to next message
Prometeusz Jasinski is currently offline  Prometeusz Jasinski
Messages: 34
Registered: January 2012
continuous participant
From: *pools.arcor-ip.net
Unfotunatelly there is also the issue of interpolation between beam energies: It is not implemented at all. In that case major changes to the classes are needed simply due to the fact that it must be possible to adapt more intermediate fieldmaps than only those first at 5 energies. It is nothing one can do in 1 or 2 days!
Re: Fieldmaps for the half current solenoid [message #15984 is a reply to message #15983] Sat, 15 March 2014 19:32 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi Promme,

Quote:

Unfotunatelly there is also the issue of interpolation between beam energies: It is not implemented at all. In that case major changes to the classes are needed simply due to the fact that it must be possible to adapt more intermediate fieldmaps than only those first at 5 energies. It is nothing one can do in 1 or 2 days!


Sure thats complicated and required, but isn't that a completely seperate story? I was just talking about having the half current field maps in as a more standard setting. In other words picking the correct field map (half or full current) root files depending on the beam energy, just as it is done for the dipole fields atm. The way we do it atm is by relinking the fieldmap files in the input directory before the simulation etc, which is kind of annoying.

Stefan
Re: Fieldmaps for the half current solenoid [message #15985 is a reply to message #15984] Sat, 15 March 2014 23:02 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *ip71.fastwebnet.it
The two things are separated. The half field should be easy to implement, the maps for intermediate energies are more complicated.
I would be happy just to see the possibility to use the half field for the moment.
Re: Fieldmaps for the half current solenoid [message #15986 is a reply to message #14938] Sun, 16 March 2014 09:53 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip0.t-ipconnect.de
Hi,

Please find the implementation for the application of half field map,F
/lustre/panda/donghee/FieldMap_Half.tar.gz ( ~ 20MB)
Hier is the procedure how configuration looks like.

I took over the field map files, what is produced by Prome and Jost Luehning.
The root files and data objected inside each file are renamed by

SolenoidMap_Half1.root
SolenoidMap_Half2.root
SolenoidMap_Half3.root
SolenoidMap_Half4.root
TransMap_Half.0150.root

The name of data object have to be also changed because that way one can avoid to touch PndSolenoidMap.cxx and PndTransMap.cxx code.

Two configurations are introduced in PndMultiField.cxx.
"HALF" is for full configuration but reduced field at below 3 GeV
"SOLENOID_HALF" is for using only solenoid also at below 3 GeV

A quick test with "HALF" has been done, the simulation works fine.
Stefano, Could you manage to put them all into the truck? README is in there.

Best wishes,
Donghee
Re: Fieldmaps for the half current solenoid [message #15987 is a reply to message #15986] Sun, 16 March 2014 14:26 Go to previous messageGo to next message
Stefan Pflueger is currently offline  Stefan Pflueger
Messages: 99
Registered: February 2012
continuous participant
From: *kph.uni-mainz.de
Hi Donghee,

Looks good, I just have one comment. I was thinking to automize this just like the dipole field maps are picked for the different momenta. So something like this:

  
  if (Map=="FULL") {
    PndDipoleMap *map_d1= new PndDipoleMap("DipoleMap1", "R", fBeamMom);
    PndDipoleMap *map_d2= new PndDipoleMap("DipoleMap2", "R", fBeamMom);

    PndTransMap *map_t;
    PndSolenoidMap *map_s1;
    PndSolenoidMap *map_s2;
    PndSolenoidMap *map_s3;
    PndSolenoidMap *map_s4;

    if(fBeamMom > 3.0) {
      map_t= new PndTransMap("TransMap", "R", fBeamMom);
      map_s1= new PndSolenoidMap("SolenoidMap1", "R");
      map_s2= new PndSolenoidMap("SolenoidMap2", "R");
      map_s3= new PndSolenoidMap("SolenoidMap3", "R");
      map_s4= new PndSolenoidMap("SolenoidMap4", "R");
    }
    else {
      map_t= new PndTransMap("TransMap_Half", "R", fBeamMom);
      map_s1= new PndSolenoidMap("SolenoidMap_Half1", "R");
      map_s2= new PndSolenoidMap("SolenoidMap_Half2", "R");
      map_s3= new PndSolenoidMap("SolenoidMap_Half3", "R");
      map_s4= new PndSolenoidMap("SolenoidMap_Half4", "R");
    }
    
    AddField(map_t);
    AddField(map_d1);
    AddField(map_d2);
    AddField(map_s1);
    AddField(map_s2);
    AddField(map_s3);
    AddField(map_s4);
}


In that way the correct fieldmaps are picked like it will be the case at PANDA without the user having to make a choice. Also no changes in macros are required for the correct setting. In case we do not want to modify the "FULL" case, I would at least make this the "AUTO" case.

Best regards,

Stefan
Re: Fieldmaps for the half current solenoid [message #15988 is a reply to message #15987] Sun, 16 March 2014 14:52 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *ip70.fastwebnet.it
For the moment I would suggest to have three options: FULL, HALF, and AUTO. Again, I believe it could be important to have the chance to compare results with half and with full, this is the reason why I would support to keep both running with the same code. Then, once everything will be set, AUTO will do the job for the user.
Re: Fieldmaps for the half current solenoid [message #15990 is a reply to message #14938] Sun, 16 March 2014 16:32 Go to previous messageGo to next message
donghee is currently offline  donghee
Messages: 385
Registered: January 2009
Location: Germnay
first-grade participant
From: *dip0.t-ipconnect.de
Hi Stefan,

That is a good idea! Probably stefano or Stefan have made some correction for code.
But as a safety, please find PndMultiField with options suggested...

"FULL" = standard field map
"HALF" = just 1/2 field map
"AUTO" = automatized field map

Let's keep above configurations and do some test before coming further modification.

Best wishes,
Donghee
Re: Fieldmaps for the half current solenoid [message #15998 is a reply to message #15990] Mon, 17 March 2014 13:16 Go to previous messageGo to next message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *ip70.fastwebnet.it
Hi,
I have just committed the code provided by Donghee.
Feel free to try it and to see if something goes wrong.

Ste
Re: Fieldmaps for the half current solenoid [message #16315 is a reply to message #15998] Tue, 15 April 2014 13:57 Go to previous message
StefanoSpataro is currently offline  StefanoSpataro
Messages: 2736
Registered: June 2005
Location: Torino
first-grade participant

From: *to.infn.it
Hi,
there was a bug on the AUTO option, now it should be fixed (in trunk and scrut14).
Previous Topic: [NOTSUPPORTED]Problem in Installation of external package dec 2013
Next Topic: Target Specifications
Goto Forum:
  


Current Time: Tue Nov 05 00:47:31 CET 2024

Total time taken to generate the page: 0.00804 seconds