Developing #66

Updated by Vitaliy Schetinin over 7 years ago

<p>Необходимо разработать класс ERBeamDetPID(particle identification) для идентификации парамеров частицы, летящей в BeamDet.<br />
Результатом работы будет один объект класса будут два объекта типа ERBeamDetParticle - fProjectile.<br ERBeamDetParticle(fProjectile, fCM0).&lt;br />
Компонентами ERBeamDetParticle являются 4-x вектор ее состояния (TLorentzVector),PDG код,probability - вероятность того, что мы угодали частицу правильно.</p>

<p>PDG и probability:<br />
Пользователь подразумевает какую частицу(ион) он должен регистрировать, поэтому PDG код необходимо сделать интерфейсом.<br />
Для идентификации частицы используется tof и dE в TOF.<br />
tof - время пролета между пластиками, dE - суммарная энергия оставшаяся на них.<br />
Для задания отбора по этим параметрам необходимо сделать интерфейс: SetBoxPID(tof1,dE1,tof2,dE2). Probability=1, когда tof между tof1, tof2, tof1&lt;=tof&lt;=tof2, dE1 &lt;= dE между dE1 и dE2, если не попало в границе probability = 0<br &lt;= dE2&lt;br />
В дальнейшем понадобится такой же отбор, но с заданием границ как эллипс.<br />
Нужно ННужно сделать интерфейс probability threshold. Если probability получилось ниже, чем probability threshold, то писать event в выходной файл не нужно по умолчанию равен нулю.</p>

<p>TLorentzVector состояния на мишени<br />
Мы определяем Энергию иона по времени пролета:<br />
1)tof = tof1-tof2 + tof_offset<br />
tof_offset - каллибровочный параметр. Задается пользователем, нужен интерфейс.</p>

<p>2)Высчитываем beta фактор иона<br />
beta = расстояние между tof(из BeamDetSetup)/tof/C (C - скорость света)</p>

<p>3) делаем отбор событий на абсурдность. Если не прошли - не пишем в файл.<br />
beta между 0 и 1</p> beta&gt;=0.&amp;&amp;beta&lt;=1.&lt;/p&gt;

<p>4) Считаем гамма фактор и модуль импульса<br />
gamma= 1./sqrt(1.-beta*beta);<br />
p= beta*Mprojectile*gamma; (Mprojectile из TDatabasePDG и знания PDG)</p>

<p>5) По имульсу и знания направления на мишени формируем TLorentzVector состояни на мишени и сам объект fProjectile(выходной объект таска в этом событии)<br fProjectile&lt;br />
Px = p*sin(theta)*cos(phi)<br />
Py = p*sin(theta)*sin(phi)<br />
Pz = p*cos(theta)<br />
E = гуглим как из импульса и массы получить полную энергию</p>

&lt;p&gt;6) Создаем частицу target&lt;br /&gt;
импульс нулевой, в энергии только масса (из BeamDetSetup)&lt;/p&gt;

&lt;p&gt;7) Создаем частицу fCMO - центр масс реакции. (PDG = -1)&lt;br /&gt;
Четырех вектор fCMO равен сумме четырехвекторов fTarget и fProjectile. Данный объект будет необходим после, для переходов систему ЦМ реакции и обратно.&lt;/p&gt;

Back