Ntuples Dmytro Kovalskyi May 24 2007 Dmytro Kovalskyi

  • Slides: 6
Download presentation
Ntuples Dmytro Kovalskyi May 24, 2007 Dmytro Kovalskyi

Ntuples Dmytro Kovalskyi May 24, 2007 Dmytro Kovalskyi

Goals • Provide a simple flat ntuples • Allow for easy integration with the

Goals • Provide a simple flat ntuples • Allow for easy integration with the standard CMS root files, i. e. all ntuples can be added as extra information to edm ROOT file keeping the same structure and names • Provide an option to store ntuples with single entry per candidate instead of per event. May 24, 2007 Dmytro Kovalskyi 2

Goals non-trivial - code is complicated You do need to know C++ to understand

Goals non-trivial - code is complicated You do need to know C++ to understand how everything works, but do you really need to know how your car works to drive it and change oil once in a while? ! • There are 3 base types in the ntuples: float, int, p 4. Adding another one is close to impossible • Ntuples are filled by dedicated streamers that can split composite complicated classes in basic types in whatever way you design. The streamers operate on as single object. • Scalar. User. Block and Vector. User. Block are template classes that take care of collections of objects and multiple candidate per events. • Black Boxes fill reference collections (tracks, muons, electrons) • Di. Lepton. User. Block takes care of hypothesis staff and calculation of indices to the reference collections May 24, 2007 Dmytro Kovalskyi 3

Track Streamer • Stores the following information – p 4, d 0, z 0,

Track Streamer • Stores the following information – p 4, d 0, z 0, chi 2, n. Do. F, #valid. Hits, #lost. Hits, d 0 Err, z 0 Err, pt. Err, eta. Err, phi. Err – MC matched partner: p 4, PDG id. • Takes input in the form of: – reco: : Track – reco: : Candidate – Streamer. Arguments (special class that can pass information) May 24, 2007 Dmytro Kovalskyi 4

Jet Streamer • Stores the following information – p 4, em fraction, charge fraction

Jet Streamer • Stores the following information – p 4, em fraction, charge fraction – MC matched Gen. Jet: p 4, em. Energy, had. Energy, invisible energy, other energy – MC matched Gen. Particle: p 4, PDG id • Takes input in the form of: – reco: : Calo. Jet – reco: : Candidate – Streamer. Arguments (special class that can pass information) May 24, 2007 Dmytro Kovalskyi 5

So what do we have inside • Candidate block (hyp_*) – – – –

So what do we have inside • Candidate block (hyp_*) – – – – • Track. Streamer: hyp_lt – tight lepton Track. Streamer: hyp_ll – loose lepton Jet. Streamer: hyp_jets Jet. Streamer: hyp_other_jets P 4: hyp_p 4 Float: hyp_met. Phi Int: hyp_type (defined in the dilepton candidate class) Int: hyp_njets Int: hyp_nojets Int: hyp_lt_index – muon or electron index in the reference collection Int: hyp_ll_index – muon or electron index in the reference collection Int: hyp_lt_id – PDG id Int: hyp_ll_id – PDG id Event block (evt_*) – – – – Track. Streamer: trks Track. Streamer: mus Track. Streamer: els Int: evt_ntrks Int: evt_nmus Int: evt_nels Int: run Int: event May 24, 2007 Dmytro Kovalskyi 6