Initial import of MVA-based B->K*mumu line
MVA-based HLT2 line for B->K*mumu.
For muons, kaons, pions, dimuon, K* rdbuilder_thor definitions are used
Ideally Kstar and dimuon builders will use MVA selections but currently it isn't possible to use the CHILD functor for MVA input variables
B builder uses MVA selection, may add isolation variables as inputs if this becomes possible with ThOr functors, and may also add outputs of dimuon/K* MVA as input variables (requires CHILD functor)
The MVA selection seems to work with the TMVA.h file (Rec!2588 (merged)) - this will be needed for testing, as well as lhcb-datapkg/ParamFiles!37 (closed) for the weights file.
Merge request reports
Activity
added RTA label
added selection label
assigned to @rmurta
unassigned @rmurta
requested review from @elsmith
assigned to @rmurta
121 # Config={ 122 # 'XMLFile': dimuon_XMLFile, 123 # 'Name': 'BDT', 124 # 'TMVAOptions': 'Silent', 125 # }, 126 # Inputs=dimunon_BDTInputs 127 #) > 0.1) 128 129 return ParticleCombiner([muons, muons], 130 name=name, 131 DecayDescriptor=DecayDescriptor, 132 CombinationCut=combination_code, 133 CompositeCut=vertex_code) 134 135 136 B0_XMLFile = 'add filename here' I think that all BDT xml files should go to https://gitlab.cern.ch/lhcb-datapkg/ParamFiles/-/tree/master. Let me check with @mvesteri and @poluekt if there is no difference for Run3.
changed this line in version 8 of the diff
9 # or submit itself to any jurisdiction. # 10 ############################################################################### 11 """ Definition of MVA-based B -> K* Mu Mu HLT2 line """ 12 13 from Moore.config import register_line_builder 14 from Moore.lines import Hlt2Line 15 16 from RecoConf.reconstruction_objects import upfront_reconstruction 17 18 from Hlt2Conf.lines.rd.builders import mva_builder 19 20 all_lines = {} 21 22 23 @register_line_builder(all_lines) 24 def BdToKstarMuMu_line(name="Hlt2RD_BdToKstarMuMu_Line", prescale=1): changed this line in version 8 of the diff
- Resolved by Miroslav Saur
64 # 'TMVAOptions': 'Silent', 65 # }, 66 # Inputs=Kstar_BDTInputs 67 #) > 0.1) 68 69 vertex_code = require_all(F.CHI2DOF < vchi2pdof_max, F.PT > kstar0_pt_min) 70 return ParticleCombiner([kaons, pions], 71 name=name, 72 DecayDescriptor=descriptor, 73 CombinationCut=combination_code, 74 CompositeCut=vertex_code) 75 76 77 dimuon_XMLFile = '' 78 dimuon_BDTInputs = { 79 #"log_mu_plus_MINIPCHI2_": F.CHILD(1,F.MINIPCHI2(pvs)), To be exact here, CHILD is not available for V2 particles, but works well for V1 particles. For details see: Rec#221 (closed)
So for now I can't use the dimuon BDT inputs I've defined here. I think either I can train a BDT using just muon variables, and another one using just the dimuon variables, and then I can still have MVA-selected muons/dimuon, or I could use the rdbuilder_thor definitions for the muons/dimuon (or some combination of this).
changed this line in version 13 of the diff