//------------------------------------------------------------------- // L3Results stntuple class // These are the L3 object quantites, available since Jan '03. // Oct '03 - RLC //------------------------------------------------------------------- #include "Stntuple/obj/TL3SummaryBlock.hh" #include #include ClassImp(TL3SummaryBlock) //_____________________________________________________________________________ TL3SummaryBlock::TL3SummaryBlock() { fEm = new TClonesArray("TL3Em",10); fMuon = new TClonesArray("TL3Muon",10); fJet4 = new TClonesArray("TL3Jet",10); fJet7 = new TClonesArray("TL3Jet",10); fCotTrack = new TClonesArray("TL3Track",100); fSvtTrack = new TClonesArray("TL3Track",50); fMet = new TClonesArray("TL3Met",1); fTau = new TClonesArray("TL3Tau",10); fEm->BypassStreamer(kFALSE); fMuon->BypassStreamer(kFALSE); fJet4->BypassStreamer(kFALSE); fJet7->BypassStreamer(kFALSE); fCotTrack->BypassStreamer(kFALSE); fSvtTrack->BypassStreamer(kFALSE); fMet->BypassStreamer(kFALSE); fTau->BypassStreamer(kFALSE); return; } //_____________________________________________________________________________ TL3SummaryBlock::~TL3SummaryBlock() { } //_____________________________________________________________________________ void TL3SummaryBlock::Streamer(TBuffer &R__b){ if (R__b.IsReading()) { Version_t R__v = R__b.ReadVersion(); if (R__v) { } if(R__v<=2) { // these used to be the counters, written out incorrectly // skip over them now int skip; R__b >> skip; R__b >> skip; R__b >> skip; R__b >> skip; R__b >> skip; R__b >> skip; R__b >> skip; R__b >> skip; } fEm->Streamer(R__b); fMuon->Streamer(R__b); fJet4->Streamer(R__b); fJet7->Streamer(R__b); fCotTrack->Streamer(R__b); fSvtTrack->Streamer(R__b); fMet->Streamer(R__b); fTau->Streamer(R__b); fNEm = fEm->GetEntries(); fNMuon = fMuon->GetEntries(); fNJet4 = fJet4->GetEntries(); fNJet7 = fJet7->GetEntries(); fNCotTrack = fCotTrack->GetEntries(); fNSvtTrack = fSvtTrack->GetEntries(); fNMet = fMet->GetEntries(); fNTau = fTau->GetEntries(); } else { R__b.WriteVersion(TL3SummaryBlock::IsA()); fEm->Streamer(R__b); fMuon->Streamer(R__b); fJet4->Streamer(R__b); fJet7->Streamer(R__b); fCotTrack->Streamer(R__b); fSvtTrack->Streamer(R__b); fMet->Streamer(R__b); fTau->Streamer(R__b); } return; } //_____________________________________________________________________________ void TL3SummaryBlock::Clear(Option_t* opt) { fNEm = 0; fNMuon = 0; fNJet4 = 0; fNJet7 = 0; fNCotTrack = 0; fNSvtTrack = 0; fNMet = 0; fNTau = 0; fEm->Clear(); fMuon->Clear(); fJet4->Clear(); fJet7->Clear(); fCotTrack->Clear(); fSvtTrack->Clear(); fMet->Clear(); fTau->Clear(); return; } //----------------------------------------------------------------------------- void TL3SummaryBlock::Print(Option_t* opt) const { std::cout << "------------------ L3SummaryBlock -------------------- " << std::endl; TL3Em e; TL3Muon m; TL3Jet j; TL3Track t; TL3Met q; TL3Tau z; e.Print("h"); fEm->Print(); m.Print("h"); fMuon->Print(); j.Print("h"); fJet4->Print(); j.Print("h"); fJet7->Print(); t.Print("h"); fCotTrack->Print(); t.Print("h"); fSvtTrack->Print(); q.Print("h"); fMet->Print(); z.Print("h"); fTau->Print(); return; }