Developing #143
Developing #134: Симуляция эксперимента - первое приближение
Спектр возбуждений 5H
Status: | Закрыта | Start date: | 02/18/2018 | |
---|---|---|---|---|
Priority: | Высокий | Due date: | 02/23/2018 | |
Assignee: | Mikhail Kozlov | % Done: | 100% | |
Category: | - | |||
Target version: | - |
Description
Сделать возможным задавать распределение энергии возбуждения 5H, из которой будет рассчитываться масса 5H. То есть M_h5 = M0 + M1, где M0 - масса в основном состоянии (константа), M1 - величина, случайно разыгрывающаяся из каког ото распределения, пусть для начала распределение будет состоять из двух гауссов:
1) mean"="0.4" "FWHM"="0.02355"
2)"mean"="1.2" "FWHM"="0.2355"
из получившегося распределия, M1 наверное можно будет брать методом GetRandom.
Related issues
History
#1 Updated by Sergey Belogurov over 6 years ago
Это типичный функуционал, который, как мне кажется, должен вводиться пользователем. Я бы паредложил
разыгрывать в каждом run распад с одного размазанного уровня с тем, чтобы можно было смешивать потом выходные файлы в желаемых пропорциях.
Вопрос надо переадресовать к Виталику - в каком месте кода удобнее ввести размазывание добавки к массе иона?
Далее стараться реализовать самостоятелоьно.
Монжо ди это делать прям в макросе симуляции или нужен новый интерфейс к erion?
#2 Updated by Sergey Belogurov over 6 years ago
- Assignee changed from Mikhail Kozlov to Vitaliy Schetinin
#3 Updated by Vitaliy Schetinin over 6 years ago
- Related to bugs #140: Энергия пучка added
#4 Updated by Vitaliy Schetinin over 6 years ago
- Assignee changed from Vitaliy Schetinin to Mikhail Kozlov
1) Это должен быть интерфейс класса ERDecayEXP1803. Сейчас там есть интерфейс к массе основного состояния SetH5Mass. Нужно сделать SetH5Exitation(mean,FWHM)
2) Масса, которая идет в TGenPhaseSpace реакции считает как mass5H+Gaus(exitation5Hmean,exitation5Hsigma)
3) Приятно, что в этом классе нет проблем с массой иона.
Задача возвращается Мише
#5 Updated by Ivan Muzalevsky over 6 years ago
- File Particle.h added
- File Particle.cpp added
Vitaliy Schetinin wrote:
1) Это должен быть интерфейс класса ERDecayEXP1803. Сейчас там есть интерфейс к массе основного состояния SetH5Mass. Нужно сделать SetH5Exitation(mean,FWHM)
2) Масса, которая идет в TGenPhaseSpace реакции считает как mass5H+Gaus(exitation5Hmean,exitation5Hsigma)
3) Приятно, что в этом классе нет проблем с массой иона.
Задача возвращается Мише
Виталик, интерфейс задания массы частицы (спектра возмуждения) нужно сделать таким, чтобы пользователь мог задавать массу не только из распределения гаусса, как описал ты, но и из любого другого, также задаваемого пользователем. Пример реализации этого есть тут: начинать смореть лучше всего этот метод: void Particle::GenerateMass() (525 строка particle.cpp).
#6 Updated by Vitaliy Schetinin over 6 years ago
Ivan Muzalevsky wrote:
Vitaliy Schetinin wrote:
1) Это должен быть интерфейс класса ERDecayEXP1803. Сейчас там есть интерфейс к массе основного состояния SetH5Mass. Нужно сделать SetH5Exitation(mean,FWHM)
2) Масса, которая идет в TGenPhaseSpace реакции считает как mass5H+Gaus(exitation5Hmean,exitation5Hsigma)
3) Приятно, что в этом классе нет проблем с массой иона.
Задача возвращается Мише
Виталик, интерфейс задания массы частицы (спектра возмуждения) нужно сделать таким, чтобы пользователь мог задавать массу не только из распределения гаусса, как описал ты, но и из любого другого, также задаваемого пользователем. Пример реализации этого есть тут: начинать смореть лучше всего этот метод: void Particle::GenerateMass() (525 строка particle.cpp).
Иван, это нужно в рамках симуляции данного эксперимента? Мы обязательно учтем данную функциональность при реализации general класса распада. В рамках этой задачи мы говорим о классе распада ERDecayEXP1803, который написан исключительно для этого эксперимента. Нужно ли будет в данном эксперименте симулировать с разными распределениями? или хватит гаусса?
#7 Updated by Vratislav Chudoba over 6 years ago
Для первого этапа симуляции (дизайн набора детекторов и оценка эффективности и разрешения) нам достаточно симулировать распределение с помощью гауса. Будет надо иметь возможность заложить узкий гаус, широкий гаус и также дискретную массу водорода. Для удобства будет классно иметь возможность заложить несколько дискретных состояний, но это можно обойти тем, что сделаем несколько файлов по одной энергии.
#8 Updated by Mikhail Kozlov over 6 years ago
Добавил возможность закладывать произвольное количество гауссов с весами через интерфейс:
targetDecay->SetH5Exitation(excMean, fwhm, distibWeight).
Заданные через этот метод распределения хранятся в порядке их передачи в макросе симуляции.
Выбор номера распределения в каждом событии с распадом присходит по номеру интервала, в который попадает результат равномерного разыгрывания gRandom->Uniform(0., Wsum);
Например, при следующих параметрах:
targetDecay->SetH5Exitation(0.4, 0.02355, 1);
targetDecay->SetH5Exitation(1.2, 0.2355, 1);
Равномерное распределение разыгрывается на интервале (0, 2). Результат от 0 до 1 соответсвует Гауссу с параметрами (0.4, 0.02355), а от 1 до 2 - (1.2, 0.2355) .
#9 Updated by Vratislav Chudoba over 6 years ago
- Parent task set to #134
#10 Updated by Ivan Muzalevsky over 6 years ago
Mikhail Kozlov wrote:
Добавил возможность закладывать произвольное количество гауссов с весами через интерфейс:
targetDecay->SetH5Exitation(excMean, fwhm, distibWeight).Заданные через этот метод распределения хранятся в порядке их передачи в макросе симуляции.
Выбор номера распределения в каждом событии с распадом присходит по номеру интервала, в который попадает результат равномерного разыгрывания gRandom->Uniform(0., Wsum);
Например, при следующих параметрах:
targetDecay->SetH5Exitation(0.4, 0.02355, 1);
targetDecay->SetH5Exitation(1.2, 0.2355, 1);
Равномерное распределение разыгрывается на интервале (0, 2). Результат от 0 до 1 соответсвует Гауссу с параметрами (0.4, 0.02355), а от 1 до 2 - (1.2, 0.2355) .
Миша, я не нашёл коммит с этими добавлениями.
#11 Updated by Ivan Muzalevsky over 6 years ago
- File exp1803_sim_digi.C added
В результате симуляции, не увидел распределение массы 5H, которое задавал в макросе симуляции.
Макрос симуляции прикрепляю
#12 Updated by Mikhail Kozlov over 6 years ago
- Related to bugs #164: Выполнение условий для распада в PhaseSpace . added
#13 Updated by Ivan Muzalevsky over 6 years ago
- File Kinematics5H.pdf added
- Status changed from Открыта to Закрыта
- % Done changed from 0 to 100
Задача добавления энергии возбуждения, разыгрываемой из задаваемой пользователем функции, к энергии основного состояния была решена.
Также, был обнаружен и полечен баг, связанный с записью 5H в стек. Конструктор класса ERMCTrack брал массу иона из данных FairIon и записывал её как параметр в стек. Метод SetH5Mass класса ERDecayEXP1803 позволяет изменять это значение в данных FairIon и таким образом задавать пользователем любую энергию основного состояния.
Была сделана симуляция с спектром возбуждения, аналогичным используемому в SIMONE. Источник находился в 3 см от мишени. Картинки прикреплены. Единственное, пока не до конца понятное различие:более низкое энергетическое разрешение, чем в SIMONE.