Project

General

Profile

Actions

Sim-Development #1159

open

Hypernuclei transport

Added by Oleg Golosov almost 4 years ago. Updated almost 2 years ago.

Status:
Assigned
Priority:
Normal
Assignee:
Target version:
-
Start date:
10/24/2018
Due date:
% Done:

0%

Estimated time:
Spent time:

Description

Dear Florian and Volker,

As we have discussed at Software meeting last week, at the moment FairIon does not support hypernuclei, for which reason they cannot be transported using standard macro.

Our colleagues from PWG-hadron shared with us a piece of code which they use to define hypernuclei in VMC and register them in database.
For this purpose they take lifetime and decay modes from tables contained in one of KFParticle classes
(https://cbmgsi.githost.io/m.zyzak/KFParticle/blob/master/KFParticlePerformance/KFPartEfficiencies.h)
and use the following methods:

TDatabasePDG::AddParticle (const char *name,
const char * title,
Double_t mass,
Bool_t stable,
Double_t width,
Double_t charge,
const char * ParticleClass,
Int_t PDGcode,
Int_t Anti = -1,
Int_t TrackingCode = 0)

TVirtualMC::DefineParticle (Int_t pdg, const char* name,
TMCParticleType mcType,
Double_t mass, Double_t charge, Double_t lifetime,
const TString& pType, Double_t width,
Int_t iSpin, Int_t iParity, Int_t iConjugation,
Int_t iIsospin, Int_t iIsospinZ, Int_t gParity,
Int_t lepton, Int_t baryon,
Bool_t stable, Bool_t shortlived = kFALSE,
const TString& subType = "",
Int_t antiEncoding = 0, Double_t magMoment = 0.0,
Double_t excitation = 0.0)

TVirtualMC::SetDecayMode (Int_t pdg,
Float_t bratio6,
Int_t mode6[3])

There are 17 hypernuclei in their table and for each only one decay mode is defined.

We wanted to discuss the ways of introducing this (or some different?) approach to CBMROOT.

The first option is to define hypernuclei in CbmUnigenGenerator - either those contained in the current model file or all of them (I suppose that 17 entries would not overload the database).
In this case we would need to put somewhere a table with lifetimes and decay modes (KFParticle uses it's own numbering scheme for hypernuclei).

Personally I'm not sure that CbmUnigenGenerator is the best place for these definitions so another option could be doing it by default along with most trivial particles on CBMROOT level (of FAIRROOT - not sure where it actually happens).

What is your opinion on this account?
May be you can propose other ways of solving the issue.

Thank you in advance!

Actions #1

Updated by Florian Uhlig almost 4 years ago

  • Tracker changed from Development to Sim-Development
  • Project changed from CbmRoot to Simulation
  • Status changed from New to Assigned
  • Assignee changed from Florian Uhlig to Volker Friese
  • Target version deleted (OCT18)
Actions #2

Updated by Oleg Golosov over 2 years ago

At the regular PWG-COM meeting it was decided (https://indico.gsi.de/event/10410/contributions/43400/note/) to review the issue.
Iouri, could you please share the solution currently used by the hadron group to register and transport hypernuclei.

Actions #3

Updated by Florian Uhlig almost 2 years ago

Hi Oleg,

I don't recall the complete history of issue but today I checked what is available in FairRoot. In the FairParticle class there is a constructor which has a parameter for the strangeness content of the particle.

FairParticle(const char* name, Int_t z, Int_t a, Int_t s,Double_t mass , Int_t q, Bool_t stable, Double_t decaytime); 

When using the constructor the defined particles are added automatically to TDatabasePDG.

If this particle is then added also to the FairRunSim using the method AddNewParticle it will be added to the the VirtualMC using the DefineParticle method. In my opinion after this step it should be handled by the transport simulation.

Probably one has to define also the proper decay modes for the hypernuclei.

In my opinion the proper place to define the hypernuclei would be in the class CbmTransport. For test purpose I add the following code in CbmTransport. I am not sure if the definition of the hypernuclei is correct.

fRun->AddNewParticle( new FairParticle("LambdaN", 0, 2, 1, 2.05395, 0, kFALSE, 1.00e-10) );

which obviously works since I see the following output in the log of the simulation run

[INFO] Add Particle: LambdaN with PDG 1010000020
LambdaN           // const TString& name 
3           // TMCParticleType mcType 
2.05395             // Double_t mass   
0           // Double_t charge 
1e-10        // Double_t lifetime  
Ion          // const TString& pType, 
0         // Double_t width   
0         // Int_t iSpin  
0         // Int_t iParity 
0      // Int_t iConjugation  
0       // Int_t iIsospin   
0       // Int_t iIsospinZ    
0       // Int_t gParity    
0         // Int_t lepton  
0         // Int_t baryon   
0         // Bool_t stable  

Could you comment if this treatment make sense for you.

Actions #4

Updated by Oleg Golosov almost 2 years ago

Indeed, the method allows to register hypernuclei in TDatabasePDG.
Indeed, decay properties have to be set.

The problem is that it will take time to fill the lifetimes and branching ratios with expeimantaly measured values (AFAIK, some of them are not available yet and currently some assumptions have to be made).

What we thought about was some list of properties for particles by default not present in the TDatabasePDG.
Such text file would be readable and editable in case one needs to update the information or add another particle.

Putting these declarations into CbmTransport class makes us less flexible and makes the class itself look like a container for hardcoded numbers.

Actions #5

Updated by Florian Uhlig almost 2 years ago

Indeed, the method allows to register hypernuclei in TDatabasePDG.
Indeed, decay properties have to be set.

The problem is that it will take time to fill the lifetimes and branching ratios with expeimantaly measured values
(AFAIK, some of them are not available yet and currently some assumptions have to be made).

Thanks for the clarification. I though the problem was a technical one that it was not possible to create and register the particles.

What we thought about was some list of properties for particles by default not present in the TDatabasePDG.
Such text file would be readable and editable in case one needs to update the information or add another particle.

Putting these declarations into CbmTransport class makes us less flexible and makes the class itself look like a container for > hardcoded numbers.

Right. Hardcoded numbers are not flexible but on the other side they are harder to change. Anyway I think it should be possible to read such a file from CbmTransport and create the needed particles and decay modes from there.

Actions

Also available in: Atom PDF