MissingETComposition Object Adam Yurkewicz (Stony Brook) Donatella Cavalli (Milan) Peter Loch (Arizona) Silvia Resconi (Milan) Rolf Seuster (MPI) Thanks also to Pierre-Antoine Delsart, Marcin Nowak, Scott Snyder Motivation for a New MissingET Data Structure • Useful to have more MissingET information available than just final sums (MET_RefEle, MET_RefJet, MET_CellOut, …) – i.e. would like to easily answer the question “What muons were used to build the MissingET muon term?” • Improve infrastructure to properly remove overlaps between different types of objects inside the MET algorithm • Provide information needed to calculate MET significance • Simplify analysis; this should usually be the one and only object users retrieve from the AOD for MissingET information 2 MissingETComposition Structure Object Pointer Weight (px) [float] Weight (py) [float] Weight (pt) [float] Status Word [Unsigned short] Jet 1 Wpx_jet_1 Wpy_jet_1 Wet_jet_1 P4SignalState:: CALIBRATED Jet 2 Wpx_jet_2 Wpy_jet_2 Wet_jet_2 P4SignalState:: CALIBRATED Muon 1 Wpx_muon_1 Wpy_muon_1 Wet_muon_1 COMBINED Muon 2 Wpx_muon_2 Wpy_muon_2 Wet_muon_2 SPECTROMETER Electron 1 Wpx_ele_1 Wpy_ele_1 Wet_ele_1 EM Cluster 1 Wpx_clus_1 Wpy_clus_1 Wet_clus_1 P4SignalState:: CALIBRATED … … … … … 3 MissingETComposition Structure • 3 weights per object are object’s contribution to MissingET, sumet – Weight is product of all differences between reconstructed object’s stored px,py,pz, and what is used by MissingET algorithm • 16-bit status word holds flags about object calibration/state information (most bits currently unused) • From the MissingETComposition object, can calculate the MET terms: /////////////////////////// const MissingETComposition *metcomp; storeGate->retrieve(metcomp,”MET_RefComposition”); MissingETComposition::const_iterator<Jet> fJet(metcomp->beginIterator<Jet>()); MissingETComposition::const_iterator<Jet> lJet(metcomp->endIterator<Jet>()); float my_METRefJet_x = 0.0; for (; fJet != lJet; fJet++) { my_METRefJet_x -= (*fJet)->px()*fJet.getParameter().wpx(); } 4 Input Electron Collection METRefEleTool Select electrons from input electron container ele_2 ele_1 ele_3 … ele_n Backnav to cells Keep incremental sums Compute weights that objects contribute to MET Set status words with calibration/state information Register information in METComposition object METRefJetTool METRef*** MET_RefEle_1 MET_RefEle MET_RefEle_1+2 Weight_1= -RefEle1/ele_1 Weight_2= [RefEle_1 –RefEle_2]/ele_2 Weight n= [RefEle_n-1 - RefEle_n]/ele_n sw_1 sw_2 sw_n METComposition Object Ele_1, weight_ele_1, status_word_ele_1 Ele_2, weight_ele_2, status_word_ele_2 …. Ele_n, weight_ele_n, status_word_ele_n Jet_1, weight_jet_1, status_word_jet_1 Jet_2, weight_jet_2, status_word_jet_2 …. Jet_n, weight_jet_n, status_word_jet_n …. 5 Current Status • Code in svn, 15.7.0 nightly – MissingET-03-02-00 – MissingETEvent-00-04-00 • METComposition object not written to ESD/AOD by default; can be switched on in job options – Muons not filled into METComposition object yet, coming soon • Size on disk: 3.1 kb/ev over 1000 J3 events, – MET_CellOut ~200 clusters/event 6 Validation Sanity check: Read back MissingETComposition map from AOD and calculate each MET term, compare to standard METRef* containers 7 Jet Weights in J3 Sample • Weights for jets with pt > 20 GeV for J3 sample • Difference from 1 from overlap removal and fact that numerical inversion not applied in MET algorithm 8 Example Usage • Run 142191, event 206357, MET_RefFinal_MET = 50 GeV • From METComposition, know 21 topo clusters contribute to MET_CellOut term (+ have all kinematic information) • 2 jets contribute to MET_RefJet term (+ have all jet info) • METComposition can be used by ATLAS event displays to show which objects contribute to MET terms (and how much) 9 Future • Finish muon tool • After that, it’s ready for use – Would like to backport into 15.6.x to make available for coming data • Provide some user-friendly access methods 10