Developing #86
дижитизация ND
Status: | Закрыта | Start date: | 11/07/2017 | |
---|---|---|---|---|
Priority: | Низкий | Due date: | ||
Assignee: | Vitaliy Schetinin | % Done: | 0% | |
Category: | - | |||
Target version: | v-1.0 |
Description
Макрос создания геометрии ND причесан Егором. Сейчас там один детектор, но в комментариях есть возможность размножения.
Дижитизация дожна быть простой 1) суммирование энерговыделений и световыходов в пойнтах (не знаю стоит ли суммирование LY добавить в "простую" дижитизацию) 2) размытие с известной нам трехкомпонентной формулой. 3) размытие времени пойнта с заданной сигмой . Пока что так.
History
#1 Updated by Vitaliy Schetinin about 7 years ago
У нас рагьше была еще формула neutron probability. Она не нужна?
#2 Updated by Sergey Belogurov about 7 years ago
Да нужна, тлолько сейчас она считается по каждому пойнту, а надо на основе суммирования всех пойнтов в данном детекторе. Кроме того, мы договорились использовать понятие дижитизации вместо хита. Надо бы изменить имя класса. И еще добавить стандартное независимое трехкомпонентное размытие не только к суммарному ( по всем пойнтам) eloss, но и к суммарному LY. Еще надо бы пояснить, где-то в комментах, как передаются параметры, необходимые для расчета neutron probability
#3 Updated by Vitaliy Schetinin about 7 years ago
Размытие в кристалах задается для каждого поинта или для суммы? Мне кажется что по логике надо задавать для каждого поинта
#4 Updated by Vitaliy Schetinin about 7 years ago
Сигма размытий времения раньше задавалась как Sqrt(a/lightYield). Точно меняем на константу?
#5 Updated by Sergey Belogurov about 7 years ago
Размытие по энергии надо задавать для суммы энерговыделений . Я правильно написал в задаче. Даже в ГАДСТ мы делали размытие не по пойнтам, а по суммам в кубических ячейках. Так правильно, потому что тогда константы сопоставимы с тем, что люди измеряют в экспериментах. Размытие по времени, вы правильно написали, как Sqrt(a/lightYield). Это я поспешил. Еще момент. Просьба подготовить мне расчет в котором я смогу пулять прямо в кристал протоны с энергиями по списку (точек 10 примерно). Не знаю, как лучше - отдельные запуски или один, в котором в каждом событии получается одна энергия из списка с равной вероятностью. Это для того, чтоб я мог подогнать Биркс под экспериментальные кривые количества света от энергии протонов. Для анализа, наверное, удобно все в одном файле. Нейтронная вероятность в первых расчетах будет не нужна, позже понадобится.
#6 Updated by Vitaliy Schetinin about 7 years ago
Закончил.
1) Дидижитиазция теперь настраивается так:
ERNDDigitizer* digitizer = new ERNDDigitizer(1); digitizer->SetEdepError(0.0,0.01,0.01); digitizer->SetLYError(0.0,0.01,0.01); digitizer->SetTimeError(0.1); digitizer->SetQuenchThreshold(0.005); digitizer->SetLYThreshold(0.004); digitizer->SetProbabilityB(0.1); digitizer->SetProbabilityC(0.3); fRun->AddTask(digitizer);
Парметры в интерфейсе SetEdepError(a,b,c)
SetTimeError(a)
Методы соответвенно: параметризация ошибки edep: sigma = a+b*sqrt(edep)+c*edep, ly также, time как опимано выше, параметризация Neutron probability. кто/что видно в коде в соответсвующей ветке
2) Добавил макрос для множественного запуска с разными энергиями для фитирования з. Биркса. Лежит в /macro/ND/bircks/
run.C - запускает для конкретной энергии и симуляцию и диджитизацию.
run.sh - савит параллельный рсчет нескольких энергий. Пример:
root -l -q "run.C(1000,0.2)" > 2.dat 2> 2.dat & root -l -q "run.C(1000,0.1)" > 1.dat 2> 1.dat &
что значит будет запущено два процесса на 1000 событий для 0.1 GeV и для 0.2 Gev протонов. Протон бьет точно в центр детектора.
Результаты симуляции и диджитизации будут лежать соответсвенно в файлах run0.10.root и run0.20.root.
#7 Updated by Sergey Belogurov about 7 years ago
Виталик! Пожалуйста обновите в ND параметры для закона Биркса. В комментариях напишите, что Birks constants from
Craun, R. L.; Smith, D. L. NIM 80,2, p. 239, 1970
И значения такие dP=0.97; BirkC1 = 0.00856/dP; BirkC2 = 4.99e-6/(dP * dP);
А-а-а-а! здесь должно быть квадратичное сложение! Float_t lySigma = fLYErrorA + fLYErrorB*TMath::Sqrt(ly) + fLYErrorC*ly;
Чтобы fLYErrorB имело смысл процентов, деленых на корень из Edep, выраженных в МэВ, как оно обычно дается, надо придать соответствущему члену в квадратичном сложении вид : fLYErrorB*TMath::Sqrt(ly/1000.) тога при Ly=0.001 (т.е. 1 МэВ) сигма будет 0.04*0.001 в ГэВ, т.е. 0.04МэВ.
вот это поясните, вообще не понял!
//@TODO it must be in ERNDHitFinder and by digi
//calc digi position by first point
#8 Updated by Vitaliy Schetinin about 7 years ago
Поправил, проверяйте
#9 Updated by Sergey Belogurov about 7 years ago
для ближайшей статьи о ND требуется геометрия с двумя модулями, с основаниями в одной плоскости и начальным расстоянием между осями 20 см. Далее нужен генератор, который независимо пускает в каждом событии два гамма кванта с разной энергией (1.117, 1.33 МэВ), независимо изотропно распределенными каждый в своем диапазон тэта и фи (один облучает один детектор, другой - другой. Источник точечный в плоскости оснований детекторов , посредине между ними). Далее дижитизация должна корректно это обрабатывать.
#10 Updated by Vitaliy Schetinin about 7 years ago
Добавил макросы. Пока вижу что такие гаммы shell не проходят. Уходят в фотоэффект
Процессы:
*********************************************************************************************************
* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 0
*********************************************************************************************************
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 0 0 0 0.00133 0 0 0 cave initStep
1 -52.2 -4.08 14.5 0.00133 0 54.3 54.3 housingVol Transportation
2 -52.2 -4.08 14.5 0 0.000851 0.000668 54.3 housingVol phot
*********************************************************************************************************
* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0
*********************************************************************************************************
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 0 0 0 0.00112 0 0 0 cave initStep
1 52.2 4.57 20.7 0.00112 0 56.3 56.3 housingVol Transportation
2 52.2 4.57 20.7 0 0.000851 7.1e-05 56.3 housingVol phot
*********************************************************************************************************
* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1
*********************************************************************************************************
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 52.2 4.57 20.7 0.000266 0 0 0 housingVol initStep
1 52.2 4.57 20.7 0 0.000266 4.45e-06 4.45e-06 housingVol eIoni
*********************************************************************************************************
* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2
*********************************************************************************************************
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 -52.2 -4.08 14.5 0.000479 0 0 0 housingVol initStep
1 -52.2 -4.08 14.5 0 0.000479 7.52e-06 7.52e-06 housingVol eIoni
#11 Updated by Vitaliy Schetinin about 7 years ago
Поправил энергию. все взлетело. Правда событий в которых загорелись оба примерно 5%
#12 Updated by Elvira Gazeeva about 7 years ago
- File Снимок экрана от 2017-12-11 12-36-01.png added
Виталик, проверь, пожалуйста, как заполняется время в NDPoint. Мы ожидаем разброс, соответствующий пробегу гамма-кванта через размер кристалла, а видим одинокую палку. Смотри картинку.
#13 Updated by Vitaliy Schetinin about 7 years ago
Поправил, обновляйся
#14 Updated by Elvira Gazeeva about 7 years ago
- File create_ND_geo.C added
- File ERND.cxx added
- File g4config.in added
- File run.C added
Привет, Виталик!
При создании пучка электронов с энергией 10 МэВ. В NDDigi какая-то ошибка с Eloss, он соответствует 5.1 МэВ, а ожидается увидеть 10 МэВ. Проверь, пожалуйста, что там такое. Я прикрепляю все файлы, которые исправляла.
В ERND.cxx коэффициенты для Биркса изменены + добавлена строчка gMS->SetMaxStep(0.01)
рутовский файл отправлю почтой. Превышает максимальный размер.
#15 Updated by Vitaliy Schetinin about 7 years ago
на eventDisplay вижу, что есть события в которых электорон проходит насквозь. То есть не вся кин энергия высаживается в материале. Сделал длину кристала в 10 раз больше - пик в 10 МэВ
#16 Updated by Sergey Belogurov about 7 years ago
По https://physics.nist.gov/PhysRefData/Star/Text/ESTAR.html получается, что для 10 МэВ элеткронов пробег 5.3 см, т.е какая-то часть должна оставаться поkностью внутри. У нас там 5 cм толщина нет ли у нас вылета вторичных за пределы или еще какой лажи?
#17 Updated by Vitaliy Schetinin almost 7 years ago
- Status changed from Открыта to Закрыта
- Target version set to v-1.0