Выбор условного перехода ROOT

У меня есть ROOT-файл. Я могу прочитать дерево и выбрать данные внутри его определенной ветки, называемой, например, "branch_name_1". Теперь я хочу выбрать данные в этой ветке с определенным условием в другой ветке. Позвольте мне привести пример. Мне нужны все записи «название_ветви_1» с условием, что значение «название_ветви_2» больше 10. Как я могу это сделать?

EDIT: на самом деле у меня есть дерево с именем «дерево», две ветви «b1» и «b2». Символически я хочу получить стандартное отклонение гистограммы «b1» для разных значений «b2». Например, где «b1>1», «b1>2» и так далее.


person heaven-of-intensity    schedule 01.07.2017    source источник
comment
Как вы пытаетесь получить доступ к веткам? Трудно догадаться без явного примера. если вы используете TTree::Draw, то вы можете указать выбор TCut в качестве аргумента, см. doc< /а>. Если вы зацикливаетесь на элементах дерева, вы, вероятно, захотите использовать TEventList   -  person user2148414    schedule 01.07.2017
comment
@ user2148414 Я отредактировал свой вопрос. пожалуйста, взгляните   -  person heaven-of-intensity    schedule 01.07.2017


Ответы (1)


Не на 100% уверен, что это то, о чем вы спрашиваете, но все же:

tree.Draw("b1 >> h01(100, -10, +10)", "b2 > 1.0")
tree.Draw("b1 >> h02(100, -10, +10)", "b2 > 2.0")
tree.Draw("b1 >> h03(100, -10, +10)", "b2 > 3.0")
print("b1 RMS for b2 > 1.0: ",h01.GetRMX())
print("b1 RMS for b2 > 2.0: ",h02.GetRMX())
print("b1 RMS for b2 > 3.0: ",h03.GetRMX())
person user2148414    schedule 03.07.2017