1 / 16

Physics list update

Physics list update. CERN 31/3 -04 Rikard Sandström Geneva University. Purpose. Make sure all relevant particles are simulated. Make sure all relevant processes to these particles are simulated. Use the correct energy scale for our purposes.

Download Presentation

Physics list update

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Physics list update CERN 31/3 -04 Rikard Sandström Geneva University

  2. Purpose • Make sure all relevant particles are simulated. • Make sure all relevant processes to these particles are simulated. • Use the correct energy scale for our purposes. • Optimize performance -> Not simulate particles and processes that does not improve results but still uses computing resources.

  3. Structure of PhysicsList.cc • First the “old” code, treating in turn • gamma • e- • e+ • mu+ • mu- • Then mesons • pi+ • pi- • Next baryons • proton • antiproton • Neutron • Last ions

  4. Lepton & gamma processes • Lepton and gamma processes left as is, to most extent • Changes in muon decay • For optical photons, tried to add • G4Cerenkov • G4Scintillation • G4OpAbsorption • G4OpRayleigh • G4OpBoundaryProcess as is done in Geant4 examples but failed.

  5. Meson processes • For all mesons • Decay • Ionisation (if charged) • For pi+ and pi- • Multiple scattering • Elastic processes • Low E inelastic processes

  6. Hadronic processes • For all hadrons • Decay (if unstable) • Ionisation (if charged) • For proton, antiproton • Multiple scattering • Elastic processes • Low E inelastic processes • (no annihilation for antiproton) • For neutron • Elastic processes • Low E inelastic processes • Neutron capture

  7. Ionic processes • Treating all ions and atoms as generic ions • Decay (if unstable) • Ionisation (if charged)

  8. MICEStepStatistics • In order to make an inventory of processes and particles a class was created that handles the information at each step for a track. • It keeps track of • To what type of particle does this track belong? • What process is this particular step? • This gives an array of step statistics, written to file “StepStat.out”. • The statistitics collection is activated by the dataCard parameter • StepStatisticsOutput 1 (default unactivated)

  9. 1. Ionisaton, e- (843.4) 2. Ionisaton, mu+ (418.5) 3. Transportation, mu+ (236.6) 4. Transportation, gamma (10.42) 5. MSC, e- (6.154) 6. Transportation, e- (5.599) 7. Ionisation, e+ (5.476) 8. Ionisation, proton (1.604) 9. Photoelectric effect, gamma (1.093) 10. Bremsstrahlung, e- (0.9616) 11. Transportation, e+ (0.8046) 12. Compton scattering, gamma (0.5706) 13. Bremsstahlung, e+ (0.3177) 14. MSC, e+ (0.1036) 15. Transportation, nu_e (0.1544) 16. Transportation, anti nu_mu (0.1554) 17. Ionisation, pi+ (0.154) 18. Ionisation, K+ (0.08336) 19. Annihilatioin, e+ (0.07114) 20. E-pair conversion, gamma (0.05019) Top 20 particles and processes (TPG detOnly:)

  10. Cuts • Support added for cuts per G4Region • I suggest this kind of code in the DetectorConstuctor classes for every object in G4MICE that needs it: // // Regions // // Individual logical volumes are // registered as "root logical volume" so that all daughter volumes in // these logical volumes are also affected by the corresponding regions. // std::vector<G4LogicalVolume*> logVols; logVols.push_back(fLogicGasVolumeTPG); //contains also HV-plane and GEMs // ...add more logical volumes here to the array of logical volumes int size = logVols.size(); for (int i = 0; i < size; i++) { G4Region* aRegion = new G4Region(logVols[i]->GetName()); logVols[i]->SetRegion(aRegion); aRegion->AddRootLogicalVolume(logVols[i]); }

  11. Cuts (cont.) • The cuts per G4Region is then invoked in MICEPhysicsList.cc: if (MyDataCards.fetchValueString("TrackerOption") == "TPG") { // This is the sensitive gas region of the TPG and the volumes inside it. G4Region* reg = G4RegionStore::GetInstance()->GetRegion("lGasVolumeTPG"); G4ProductionCuts* cuts = new G4ProductionCuts; cuts->SetProductionCut(0.5*mm); reg->SetProductionCuts(cuts); } • Parameters in dataCards should be used for setting the cuts in these special regions (here hard coded). • The cuts can be checked with DumpCutValuesTable();

  12. GEANT 4 Interactive commands • /process/list gives list of processes used • /process/dump hIoni lists all particles using this process • /process/inactivate MuIoni inactivate muon ionisation • /process/activate hIoni proton activate ionisation for protons • /particle/list lists all particles used • /particle/select e- selects e- as active particle • /particle/process/dump prints process information for particle • /particle/property/dump prints particle attributes • /run/dumpCouples list all regions with cuts and thresholds • /run/setCut 1 cm set default cut to 1cm • /run/setCutForRegion lGasVolumeTPG 1 set cut to 1mm for TPG gas

  13. Proposals, cuts & thresholds • We set a fairly high default cut value. • Detectors that need lower energy simulation defines regions (as in the example), and PhysicsList reads in the special cut values from dataCards.

  14. Proposals, particles & processes • Keep particles needed to avoid crashes (ions, anti protons) • Keep processes needed to avoid crashes (no ionisation for pi+ causes crash for example) • We set general switches in dataCards to control processes. Now I have as example • HadronScatteringOption (None/All/Meson/Hadron) • HadronIonisationOption (None/All/Meson/Hadron/Ion) • HadronDecayOption None (None/All/Meson/Hadron/Ion) • Detailed process switches can be controlled by macrofiles/interactive commands.

  15. To discuss • What should be controlled by dataCards and what by macrofiles (interactive commands)? • What should the default cut value be? • What interface should be used to turn on/off processes? • What processes should be on by default? • Should we use low energy version of the processes everywhere?

  16. Still to do • Add Cherenkov etc if need be. • Run the tests with cooling channel on. (Still problem with what I think is the reference particle, which also prevents me from examining RF background behaviour.) • Once we can run with cooling channel, look in detail on the interesting processes to verify validity. • Have a closer look on leptons. Will confirm with theory, and fix if necessary. Possibly the process ordering is vital here.

More Related