bugs #142
Developing #134: Симуляция эксперимента - первое приближение
bugs #170: Устранение ошибок
Позиция пучковой частицы на мишени
Status: | Закрыта | Start date: | 02/18/2018 | |
---|---|---|---|---|
Priority: | Неотложный | Due date: | 02/19/2018 | |
Assignee: | Mikhail Kozlov | % Done: | 100% | |
Category: | - | |||
Target version: | - |
Description
Если задаем пучек следующим образом
Double32_t kin_energy = kinE_MevPerNucleon * 1e-3 * A; //GeV
generator->SetKinE(kin_energy);
generator->SetPSigmaOverP(0);
generator->SetThetaRange(0., 0.);
generator->SetPhiRange(0, 360);
generator->SetBoxXYZ(x1, x2, 0, 0, beamStartPosition);
generator->SpreadingOnTarget();
то реконструкция выдает значения BeamDetTrack.fYt и BeamDetTrack.fXt на половину меньше ожидаемого.
Кроме того, не очень похоже на то, что отсеиваем события, в которых множественность сработавших проволучек на всех плоскостях равна единице.
Related issues
History
#1 Updated by Vratislav Chudoba over 6 years ago
- Description updated (diff)
- Due date changed from 02/20/2018 to 02/19/2018
#2 Updated by Sergey Belogurov over 6 years ago
- Assignee set to Mikhail Kozlov
Миш, это к вам. Нало проверить положение границ чувствительных объемов и то, что проволочка (т.е. считанна якоордината) нгаходится в середине чувствительного объема, а также то, что все элементы геометрии отцентрованы в плоскости XY/
#3 Updated by Mikhail Kozlov over 6 years ago
Отсеивание событий с множественностью больше или меньше единицы работает.
Если я правильно понял суть проблемы, то ошибка здесь:
generator->SetBoxXYZ(x1, x2, 0, 0, beamStartPosition);
Метод задает SetBoxXYZ() задает равномерное рспределение на отрезках по Х и У.
http://er.jinr.ru/doxygen/class_e_r_ion_generator.html#aa5117cb894dead1ecd31302d9c63cb81 .
Если задаться параметрами generator->SetBoxXYZ(1, 1, 1, 1, beamStartPosition) , то реконструкция следующая:
#4 Updated by Vratislav Chudoba over 6 years ago
Сейчас есть вероятность того, что позиция на мишени реконструируется правильно.
Проблема с множественностю остается. Из картинки видно, что множественность только в плоскости X1 где-то около 50 (так получилось после введения порогов с помощью функции
beamDetDigitizer->SetMWPCElossThreshold(0.000002);
в макросе. Но симмуляция настаивает на том, что в мишени видим 1000 точек из 1000 разыгранных. Возможно проблема заключается в том, что функция ERBeamDetTrack::Clear() на самом деле пустая и вызывает функцию TNamed::Clear().
#5 Updated by Vratislav Chudoba over 6 years ago
- Parent task deleted (
#135)
#6 Updated by Vratislav Chudoba over 6 years ago
- Related to Developing #135: Проверка реконструкции BeamDet added
#7 Updated by Mikhail Kozlov over 6 years ago
Ошибка была связана испульзуемым классом симуляции из-за того, что у нас в одном макросе собраны все таски от симуляции до реконструкции.
Сейчас я разделил workflow на два макроса: симуляция + диджитизация отдельно, реконструкция - отдельно.
Помимо того, что теперь корректно работает отбор по множественности, такое разделение хорошо вписывается в концепцию, при которой у нас общая процедура обработки действительна для данных полученных с реальной аппаратуры и симуляции.
Изменился способ задания массы в ERBeamDetPID. Можно использовать pid->SetIonMassNumber(A), в этом случае масса считается как произведение A*kProtonMass (масса протона из БД ROOT). Либо напрямую задавать массу через pid->SetIonMass(mass[GeV]).
#8 Updated by Vratislav Chudoba over 6 years ago
- Status changed from Открыта to Закрыта
- % Done changed from 0 to 100
#9 Updated by Vratislav Chudoba over 6 years ago
- Parent task set to #170