Home » PANDA » PandaRoot » Tracking » B field scaling for PANDA
B field scaling for PANDA [message #7769] |
Thu, 29 January 2009 09:48 |
Aleksandra Wronska
Messages: 38 Registered: May 2006 Location: Cracow
|
continuous participant |
From: *if.uj.edu.pl
|
|
Dear all,
I am now trying to set up simulations for tracking TDR and have my first problems with it. It concerns scaling of the B-field.
The current default for PANDA FS is the so-called chicane option, which requires that B-field of the dipole scales with the beam momentum, reaching its max. value of 1 T at pbeam=15 GeV/c.
For realistic simulations, I load three field maps:
1) SolenoidMap - for which scaling factor should be always 1, because this field does not affect beam direction
2) DipoleMap - which should scale with pbeam to keep the beam on the same position
3) TransMap - with which I have actually a problem, because this is a summed up fringe field of the dipole (which scales) and the solenoid (which is constant). Thus, the best solution that I see here is to have several maps for this region generated for different beam momenta (i.e. different dipole fields) such, that one can make reasonable interpolation between them to the simulated beam momentum.
Another issue is who and where should take care of that scaling stuff in the simulation macro. As I see it, the user should define one parameter of CbmRun, namely beam momentum, and the rest could be done for him/her in the CbmRun->SetField() function or a similar place. It should be possible everywhere in the code (also in the detector- and tracking-specific tasks) to ask the current run what its beam momentum is.
Write me (a.s.a.p. because of TDR time pressure) what you (in particular Mohammad) think about it. Perhaps some of the features are already there, just that I have not found them.
Thanks in advance,
ola
|
|
|
Re: B field scaling for PANDA [message #7771 is a reply to message #7769] |
Thu, 29 January 2009 16:45 |
Mohammad Al-Turany
Messages: 518 Registered: April 2004 Location: GSI, Germany
|
first-grade participant |
From: *gsi.de
|
|
Hallo Ola,
At the moment, each field map has a scale factor which can be set in the ASCII file, and I will provide a set method or additional parameter in the ctor to scale the existing map by a factor, So this is not a problem!
Quote: | 3) TransMap - with which I have actually a problem, because this is a summed up fringe field of the dipole (which scales) and the solenoid (which is constant). Thus, the best solution that I see here is to have several maps for this region generated for different beam momenta (i.e. different dipole fields) such, that one can make reasonable interpolation between them to the simulated beam momentum.
|
As far as I know this can only be done on TOSCA level, the maps that I get where generated with both Solenoid and Dipole together, and then exported as single files, So here we should contact Lars and Jost if this is possible within few days from now!
about the beam momenta, does it have any other use here except the correlation with the scale of the map? and what about having this as a run parameter? I am planning to add a RunInfo class which should hold all run parameters (cuts, processes, event generators and so on! )
do you think it will be enough to have it there?
regards
Mohammad
|
|
|
|
|
|
|
Re: B field scaling for PANDA [message #7794 is a reply to message #7792] |
Mon, 02 February 2009 14:40 |
Aleksandra Wronska
Messages: 38 Registered: May 2006 Location: Cracow
|
continuous participant |
From: *if.uj.edu.pl
|
|
Dear all,
I think Lars's proposal is reasonable. Thus, whatever dipole currents they correspond to, we would like to have Dipole and Trans maps for the beam momenta listed by Lars.
Concerning the representation of the beam momentum and B field in our data I see the following aspects:
1) most likely, in real experiment we will run with the fixed beam momentum and fixed beam quality (spreads in p and x,y). Beam momentum is directly related to the dipole B-field, which we should probably set once for the whole simulation, i.e. load the field maps once. Thus I think those numbers, along with the target mass, belong to the RunInfo.
2) on the other hand in every event we can have some spatial offsets (measured in the experiment on the pellet basis or set in the simulations). Those offsets clearly belong to the EventInfo.
3)-MINOR I can also imagine that at some point PANDA will start measurments "on ramping", with changing beam momentum and dipole field. The question is, however, if we want to prepare PandaRoot to simulate such runs or we think about it when there is a need for that
cheers,
ola
|
|
|
|
|
|
Re: B field scaling for PANDA [message #7882 is a reply to message #7805] |
Mon, 16 February 2009 14:05 |
Mohammad Al-Turany
Messages: 518 Registered: April 2004 Location: GSI, Germany
|
first-grade participant |
From: *gsi.de
|
|
Hi,
It is now implemented and available in SVN, Jost has generated the maps for different beam energies, namely:
15.0 GeV/C
11.91 GeV/C
8.90 GeV/C
4.06 GeV/C
1.5 GeV/C
the corresponding maps are:
The dipole itself:
DipoleMap1.1500.root
DipoleMap1.1191.root
DipoleMap1.0890.root
DipoleMap1.0406.root
DipoleMap1.0150.root
in front of the dipole:
DipoleMap2.1500.root
DipoleMap2.1191.root
DipoleMap2.0890.root
DipoleMap2.0406.root
DipoleMap2.0150.root
and the region between dipole and Solenoid:
TransMap.1500.root
TransMap.1191.root
TransMap.0890.root
TransMap.0406.root
TransMap.0150.root
The beam energy can be set in sim macro with:
FairRunSim::SetBeamEnergy(Double_t Energy /** GeV/c */ )
according to the energy the field is selected, for now the selection is as following:
BeamEnergy < 2.0 Map 0150
BeamEnergy < 5.0 Map 0406
BeamEnergy < 10.0 Map 0890;
BeamEnergy < 12.0 Map 1190
otherwise Map 1500;
An example for using this can be found in macro/run/run_sim.C and macro/emc/sim_emc.C
setting this in a simulation session, the RuntimDB will take care that the reconstruction get the proper fields!
regards
Mohammad
[Updated on: Mon, 16 February 2009 14:21] Report message to a moderator
|
|
|
|
Re: B field scaling for PANDA [message #7949 is a reply to message #7948] |
Thu, 26 February 2009 13:26 |
Mohammad Al-Turany
Messages: 518 Registered: April 2004 Location: GSI, Germany
|
first-grade participant |
From: *gsi.de
|
|
Hi,
Sorry I forget to add the beam momentum to the parameters! any way later it will go to the run info. For now I just add it to the FairBaseParSet. In an analysis or reconstruction run you can do:
FairRuntimeDb* rtdb = fRun->GetRuntimeDb();
FairBaseParSet* par=(FairBaseParSet*)
(rtdb->findContainer("FairBaseParSet"));
Double_t BeamMom= par->GetBeamMom();
this will give you the momentum setted in the simulation run, these lines can be added to the task Init.
Mohammad
|
|
|
Goto Forum:
Current Time: Thu Nov 28 03:29:12 CET 2024
Total time taken to generate the page: 0.00856 seconds
|