Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемpcbec3.ihep.su
1 Анализ с использованием пакета totan А.Мягков
2 Общая мотивация Для полноценного анализа необходимо построить много (~1000) гистограмм Всегда приходится делать быстро Программы большие и трудночитаемые Хотелось бы иметь конечные распределения (эфективности, точности …)
3 Общая структура анализа Анализ как правило разбивается на независимые части (отбор электронов, мюонов, работа со струями…) Данные об изучаемых объектах (е,мю,…) – 4-вектор + дополнительная информация – заполним их в 2мерный массив …[nele][k_var_ele] Первые 8 элементов – информация о 4- векторе (Px,Py,Pz,E,m,Pt,eta,phi), далее специфическая информация
4 Что мы гистограмируем Просто гистограмма (Pt) Min(Max) var_1 Второй Min(Max) var_1 Для другой полусферы Var_1 для Min(Max) var_2 (Pt для струи с наибольшим y)
5 Что мы гистограмируем Множественность Инвариантную массу (для одинаковых объектов – струй, или разных – струю + лептон) Параметр матчирования Эффективность, чистота, точности по одной переменной в зависимости от другой
6 Заказ гистограмм Все перечисленные виды гистограмм можно описать типом Переменная для гистограммирования задается адресом в массиве данных Название гистограммы и имя объекта формируется автоматически на основании имени переменной и того, что мы гистограммируем.
7 Заказ гистограмм Бывает нужно построить гистограммы для тех же переменных повторно (например после отборов по другим переменным) – понятие level. Можно вместо переменной работать с её абсолютной величиной.
8 Варианты заказа bookan(totan *,Int_t TypeHist,Int_t IVar,Float_t XMin,Float_t XMax,Int_t KLevel); bookan2(totan *t,Int_t type,Int_t Ivar,Float_t XMin,Float_t XMax,Int_t Ivar2,Float_t XMin2,Float_t XMax2,Int_t KLevel); bookanv(totan *,Int_t TypeHist,Int_t IVar,Int_t IVara,Float_t XMin,Float_t XMax,Int_t KLevel) bookanca(totan *,Int_t TypeHist,Int_t IVar,Float_t XMin,Float_t XMax,Int_t KLevel,Int_t NCuts,const char *Namecut); bookanc(totan *,Int_t TypeHist,Int_t IVar,Float_t XMin,Float_t XMax,Int_t KLevel,Int_t NCuts,const char *Namecut); bookanvc(totan *,Int_t TypeHist,Int_t IVar,Int_t IVara,Float_t XMin,Float_t XMax,Int_t KLevel,Int_t NCuts,const char **Namecut); bookanvc(totan *,Int_t TypeHist,Int_t IVar,Int_t IVara,Float_t XMin,Float_t XMax,Int_t KLevel,Int_t NCuts,const char *Namecut)
9 Конструктор class totan : public TObject { public: totan(); totan(TString **); ~totan(); TH1F * h1[nhistot]; TH2F * h2[nhistot]; TProfile * h2p[nhistot]; TString *varl[nvmax],*hisl[10]; TString *namecut[nhistot]; TString *namelevel[nhistot]; Char_t name[nhistot]; Char_t nameo[nhistot]; Int_t ivar[nhistot],ivar2[nhistot],ivara[nhistot]; Int_t ht[nhistot]; Int_t nbin[nhistot]; Int_t nbin2[nhistot]; Int_t vabs[nhistot]; // 0 - normal,1 abs value for ivar Int_t vabs2[nhistot]; // 0 - normal,1 abs value for ivar2 (2 dim) Int_t vabsa[nhistot]; // 0 - normal,1 abs value for ivara
10 Конструктор (продолжение) Int_t acc[nhistot]; // 1 - effi, 2 -puri, 3 effi&puri Int_t acci[nhistot]; // 1 - effi, 2 -puri, 3 effi&puri Int_t acch[nhistot]; Float_t mina[nhistot],maxa[nhistot]; Float_t mina2[nhistot],maxa2[nhistot]; Int_t kmat[nhistot]; Int_t level[nhistot]; Int_t numcut[nhistot]; Int_t iopcut[nhistot][ncutmax]; Int_t andor[nhistot][ncutmax]; Int_t ivalcut[nhistot][ncutmax]; Float_t v_valcut[nhistot][ncutmax]; Float_t rmat; Int_t klevel; Int_t nhist; Int_t idebfillan; };
11 Пример задания гистограмм totan * topq; topq = new totan(); sprintf((topq->name),"%s","topq "); bookan(topq,51,0,0,0,0); // Full mult bookan(topq,60,0,0,1500,0); // Inv mass bookan(topq,0,3,0,1500,0); // E bookan(topq,0,5,0,800,0); // Pt bookan(topq,0,6,-5,5,0); // Y initan(topq);
12 Заполнение гистограмм Заполнение происходит для одного набора данных одного уровня при помощи вызова fillan (topq,nqt,&vqt[0][0],nvb,&vvb[0][0],0);
13 Запись гистограмм в файл Все гистограммы для каждого анализа записываются в отдельную директорию, TFile *rout = new TFile("fan.root","RECREATE"); writan(topq,rout);
14 Где взять? На pleiades ~miagkov/lib totan.C totan.h totan.help
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.