“…The process initializes the histograms, opens a ROOT data file with a TTree particle list, loops over the events, {{"analysis":{"neve":"50000","first":"0","print":"0","datasource":"2", "list":{"combiner":{"list1":{"selector":{"list1":"","charge":"-1", "pid":"PION","histogram":{"h1d":{"varname":"GetMass","name":"pion Mass", "nbins":"100","min":"0","max":"1"}} }} ,"list2":{"selector":{"list1":"", "charge":"1","pid":"PION","histogram":""}} ,"sameparticles":"0", "pid":"KAON","m0":"0","m1":"1","histogram":{"h1d":{"varname":"GetMass", "name":"pipi Mass;GeV/c;N","nbins":"400","min":"0","max":"1"}} }} }} combines the particles and fills the histograms. The histograms are converted at the end of execution to JSON strings and returned back to the web client where they are displayed by JSROOT JavaScript library [8].…”