Warning, /estarlight/BackwardsProduction.md is written in an unsupported language. File is not indexed.
0001 # Backwards Production
0002
0003 ## $\omega \rightarrow \pi^0+\gamma$ Decay
0004 Default decay for $\omega$ is $\omega \rightarrow 2\pi$ with branch ratio 0.0153
0005 $\omega \rightarrow \pi^0+\gamma$ decay (branching ratio 0.0828) can be enabled with `PROD_PID = 223022`
0006 This neutral decay of the $\omega$ currently assumes an unpolarized $\omega$, as it is not clear whether $s$-channel helicity conservation holds in backwards production. This assumption can be changed in `src/gammaavm.cpp`
0007
0008
0009 ## Added Code
0010 Added check in `src/e_narrowResonanceCrossSection.cpp` for backwards production.
0011
0012 Switched to two vertices, gamma and electron, in `src/hepmc3writer.cpp`
0013
0014 Added targetBeam, electronBeam and backwards_production tag for slight.in `src/inputParameters.cpp` and `include/inputParameters.h`
0015 (Removed TAU+TAU decay)
0016
0017 Changed `src/starlightpythia.cpp` to produce eXEvent instead of UPCEvent
0018
0019 Backwards Production Code in `src/gammaavm.cpp`
0020 ```
0021 if (_backwardsProduction) {
0022 //Fill the intial state in the lab frame
0023 double pz_tar_i_lab = -1.0*target_pz; //Flip the pz of the target
0024 double E_tar_i_lab = sqrt(pow(target_pz,2) + pow(starlightConstants::protonMass,2.)); //Calculate proton energy
0025 double pz_gam_i_lab = Egam; //Photon energy
0026 double E_gam_i_lab = Egam; //Photon energy
0027
0028 //Calculate the final state target energy and pz
0029 double pz_tar_f_lab = (pz_tar_i_lab + pz_gam_i_lab) - pz;
0030 double E_tar_f_lab = sqrt( pow(pz_tar_f_lab,2) + pow(starlightConstants::protonMass,2.) );
0031
0032 //Calculate the boost (beta,gamma) to the center of mass frame
0033 double beta = (pz_tar_i_lab + pz_gam_i_lab)/(E_gam_i_lab + E_tar_i_lab);
0034 double lorentzGamma = 1.0/sqrt( 1 - pow(beta,2.));
0035
0036 //Boost to the final state target to the CM frame
0037 double cm_frame_target_pz = lorentzGamma*( pz_tar_f_lab + beta*E_tar_f_lab );
0038 double cm_frame_gamma_pz = lorentzGamma*( pz + beta*pz );
0039
0040 //Recalculate target energy in the CM frame (assign to VM)
0041 double vm_mass = sqrt( E*E - ( px*px + py*py + pz*pz ) );
0042 double vm_E_cm = sqrt( vm_mass*vm_mass + px*px + py*py + cm_frame_target_pz*cm_frame_target_pz);
0043
0044 //Calcuate photon energy in CM frame (assign to target)
0045 double cm_E = sqrt( pow(starlightConstants::protonMass,2.) + pow(t_px,2.) + pow(t_py,2.) + pow(cm_frame_gamma_pz,2.));
0046 //Boost photon and target back to lab frame
0047 //target:
0048 t_pz = lorentzGamma*(cm_frame_gamma_pz - beta*cm_E);
0049 t_E = lorentzGamma*(cm_E - beta*cm_fame_gamma_pz);
0050 //Photon:
0051 pz = lorentzGamma*(cm_frame_target_pz - beta*vm_E_cm);
0052 E = lorentzGamma*(vm_E_cm - beta*cm_frame_target_pz);
0053
0054 //Calculate the rapidity
0055 Y = 0.5*std::log( (E+fabs(pz))/(E-fabs(pz)) );
0056 }
0057 ```
0058
0059 ## Removed STARlight Code (Conflicted with backwards production)
0060 ### DPMJET
0061 Removed the option to include DPMJET in `CMakeLists.txt`
0062 ### BeamSystem
0063 Changed the beam1/beam2 -> electronBeam/targetBeam. Defined in `include/beambeamsystem.h`
0064 ### UPCEvent
0065 Removed all references to UPCEvents in:
0066 ```
0067 include/e_starlightStandalone.h
0068 include/e_starlight.h
0069 include/eventchannel.h
0070 include/eventfilewriter.h
0071 include/filewriter.h
0072 include/gammaavm.h
0073 include/starlightpythia.h
0074 include/pythiadecayer.h
0075 ```
0076 ### Updated kinematics:
0077 ```
0078 src/gammaavm.cpp
0079 ```