TABLE OF CONTENTS
- 1. /Rho0Finder
- 1.1. Rho0Finder/readInput
- 1.2. Rho0Finder/FindRho0
- 1.2.1. FindRho0/CalculateDecayAngle
/Rho0Finder [ Modules ]
NAME
module Rho0Finder
PURPOSE
This module includes routines, which try to identify rho0 from charged particles in a particle vetor.
INPUTS
(none)
Rho0Finder/readInput [ Subroutines ]
[ Top ] [ Rho0Finder ] [ Subroutines ]
NAME
subroutine readInput
PURPOSE
Read in namelist
Rho0Finder/FindRho0 [ Subroutines ]
[ Top ] [ Rho0Finder ] [ Subroutines ]
NAME
subroutine FindRho0(PartsIn,PartsOut,momIn,ProbIn)
PURPOSE
This routine implements a rho0 finding process as in experiments. Given the list of detected particles in a specific event, it returns a particle list of (possible) reconstructed rho0.
If the particles have a detection probability less than 1, the probability of the rho0 is the product of the two decay candidates. One has the option to multiply this probability with 1 minus the detection probability of every other particle.
INPUTS
- type(tParticleList) :: PartsIn -- particles produced in the event
- real, dimension(0:3) :: momIn -- momentum used for calculation of missing mass, e.g. p+q, i.e. photon + proton momenta
- real, dimension(:), OPTIONAL :: ProbIn -- Array of detection probabilities (AccWeight)
OUTPUT
- type(tParticleList) :: PartsOut -- list of possible rho0
NOTES
- At the moment, this routine just implements the method used by the Hermes experiment, cf. M.Tytgat, PhD thesis (Diffractive production of rho0 and omega mesons at Hermes), p.116f. A more general definition with some steering parameters (maybe via jobCard) is anticipated.
- This routine allocates memory for the rho0. Therefore it is necessary that you clean up the particle list in the calling routine after use via call ParticleList_CLEAR(PartsOut,.true.)
- In order to complete the Tytgat analysis, an additional cut on -t is necessary
- In order to get comparable results as in experiments, Kaons should be instable in calculations and decay into pions.
- We abuse many of the variables of the type to store information different to their intention. We list them in the following:
- Abuse: x-position --> missing mass M_X
- Abuse: y-position --> Delta E
- Abuse: z-position --> DecayTime
- Abuse: scaleCS --> probability, that the pions really come out of a decay (1.0, if both pions are stored in PIL_rho0Dec and 0.5, if only one pion is stored and 0, if we constructed a rho0, which does not stem from a decay [or we forgot to switch on storeRho0Info in collisionterm]).
- Abuse: offShellParameter --> Decay angle theta (cf. CalculateDecayAngle)
FindRho0/CalculateDecayAngle [ Subroutines ]
[ Top ] [ FindRho0 ] [ Subroutines ]
NAME
subroutine CalculateDecayAngle(theta)
PURPOSE
Calculate the decay angle theta in the "s-channel helicity system", i.e. the angle between the positive z-axis and the pi+ momentum in the rest frame of the rho (-z axis defined by recoil particle)
The angle phi (i.e. the azimuthal angle of the pi+ in respect of the photon-recoil plane) is not calculated
INPUTS
- momIn
- pNode1%V%mom,pNode2%V%mom
- momRho
OUTPUT
- real :: theta -- the angle (in degrees)