#include "Stntuple/run1/StnRun1InitDataBlocks.hh" #include "Stntuple/run1/TStnRun1Event.hh" #include "Stntuple/obj/TStnMuon.hh" #include "Stntuple/obj/TStnMuonBlock.hh" //_____________________________________________________________________________ Int_t StnRun1InitMuon(TStnMuon* Muon, const StnMuonsBlock_t* R1Muon, Int_t I) { // init muon object from a UC standard Ntuple Muon->fMomentum.SetXYZT(R1Muon->Mup4[I][0],R1Muon->Mup4[I][1], R1Muon->Mup4[I][2],R1Muon->Mup4[I][3]); Muon->fCharge = R1Muon->Muq[I]; Muon->fRawpt = R1Muon->Murawpt[I]; Muon->fEHad = R1Muon->Muhad[I]; Muon->fEEm = R1Muon->Muem[I]; Muon->fEveta = R1Muon->Mueveta[I]; Muon->fPhi = R1Muon->Muphi[I]; Muon->fStat = R1Muon->Mustat[I]; Muon->fZv = R1Muon->Muzv[I]; Muon->fD0 = R1Muon->Mud0[I]; Muon->fCmuDelZ = R1Muon->Mudelz[I]; Muon->fCmuDelX = R1Muon->Mudelx[I]; Muon->fIso = R1Muon->Muiso[I]; Muon->fTiso = R1Muon->Mutiso[I]; Muon->fCray = R1Muon->Mucray[I]; Muon->fIdwrd = R1Muon->Muidwrd[I]; Muon->fIswrd = R1Muon->Muiswrd[I]; Muon->fZtrk = R1Muon->Muztrk[I]; Muon->fFid = R1Muon->Mufid[I]; Muon->fDet = R1Muon->Mudet[I]; Muon->fBte = R1Muon->Mubte[I]; Muon->fChi2z0 = R1Muon->muchz0[I]; Muon->fChi2d0 = R1Muon->muchd0[I]; Muon->fTime = R1Muon->mutime[I]; Muon->fVtxocc = R1Muon->muvtxocc[I]; Muon->fDteta = R1Muon->mudteta[I]; Muon->fTrind = ( (R1Muon->mutrind[I] ) & 0xffff) + (R1Muon->Munasl [I] << 16) + (R1Muon->Munssl [I] << 20); return 0; } //_____________________________________________________________________________ int StnRun1InitMuonBlock(TStnDataBlock* Block, TStnEvent* Event, int Mode) { // initialize muon data block starting from Run1 UC Stntuple TStnRun1Event* event = (TStnRun1Event*) Event; TStnMuonBlock* blk = (TStnMuonBlock*) Block; blk->Clear(); StnMuonsBlock_t* r1muon = event->MuonsBlock(); StnGeneralBlock_t* r1header = event->GeneralBlock(); StnPhotonsBlock_t* r1phot = event->PhotonsBlock(); blk->fNHptm = r1header->Nhptm; blk->fNCmio = r1header->Ncmio; blk->fNCmus = r1phot->Ncmus; blk->fCostub = r1phot->Costub; for (int i=0; iNmu; i++) { TStnMuon* muon = blk->NewMuon(); StnRun1InitMuon(muon,r1muon,i); } return 0; }