#ifndef Stntuple_Run1Event_hh #define Stntuple_Run1Event_hh //----------------------------------------------------------------------------- // this is the last version of UC STNTUPLE I know of: // ****************************************************************** // * Block * Entries * Unpacked * Packed * Packing Factor * // ****************************************************************** // * GENERAL * 3325 * 84 * 77 * 1.091 * // * JETS * 3325 * 4164 * Var. * Variable * // * JT1S * 3325 * 1124 * Var. * Variable * // * MET * 3325 * 108 * 108 * 1.000 * // * ELECTRON * 3325 * 1564 * Var. * Variable * // * MUONS * 3325 * 1984 * Var. * Variable * // * TAUS * 3325 * 1724 * Var. * Variable * // * DILEPTON * 3325 * 52 * 49 * 1.061 * // * PHOTONS * 3325 * 2276 * Var. * Variable * // * TAGGING * 3325 * 72 * Var. * Variable * // * VERTEX * 3325 * 268 * Var. * Variable * // * GENP * 3325 * 3204 * Var. * Variable * // * TRACK * 3325 * 11604 * Var. * Variable * // * MORETRIG * 3325 * 4 * 4 * 1.000 * // * MOREMUON * 3325 * 1864 * Var. * Variable * // ****************************************************************** //----------------------------------------------------------------------------- #ifdef __GNUG__ #pragma interface #endif #include "Rtypes.h" #include "Stntuple/obj/TStnEvent.hh" class StnGeneralBlock_t { public: Int_t Version; Int_t Run; Int_t Event; Float_t Ilum; Int_t Trigbits; UInt_t Goodrun; Int_t Brcode; UInt_t Goodtrig; Int_t Trigword; Int_t Njet10; Int_t Njet15; Int_t Njet20; Int_t Njet25; Int_t Nhpte; Int_t Nlcent; Int_t Nlplug; Int_t Nhptm; Int_t Ncmio; Int_t Ngtau; Int_t Nlepton; Float_t Etout; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: StnGeneralBlock_t () {} ~StnGeneralBlock_t() {} }; class StnJetsBlock_t { public: Int_t Njt; Float_t Jtet[20]; Float_t Jtm[20]; Float_t Jtp4[20][4]; Float_t Jteveta[20]; Float_t Jtdteta[20]; Float_t Jtphi[20]; Float_t Jtemf[20]; Int_t Jtword[20]; Float_t Jtcorfm[20]; Float_t Jtcorfd[20]; Float_t Jtcorfa[20]; Int_t Jtntr[20]; Int_t Jtntrp[20]; Float_t Jtep[20]; Int_t Jtnjtrk0[20]; Int_t Jttag[20]; Float_t Jtegrd[20]; Float_t Jvbpb[20]; Float_t Jpbpb[20]; Float_t Scbpb[20]; Float_t Scnpb[20]; Float_t Jpppb[20]; Float_t Jpnpb[20]; Float_t Jtau1[20]; Float_t Jtau2[20]; Float_t Jtzvtx[20]; Float_t Jtdzvtx[20]; Float_t Jt_ptout[20]; Float_t Jtvpt[20][20]; Float_t Jtnovpt[20]; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: StnJetsBlock_t () {} ~StnJetsBlock_t() {} }; class StnFatJetsBlock_t { public: Int_t Nj1; Float_t J1et[20]; Float_t J1m[20]; Float_t J1p4[20][4]; Float_t J1eveta[20]; Float_t J1dteta[20]; Float_t J1phi[20]; Int_t J1word[20]; Int_t J1jts[20]; Float_t J1corfm[20]; Float_t J1corfd[20]; Float_t j1egrd[20]; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: StnFatJetsBlock_t () {} ~StnFatJetsBlock_t() {} }; struct StnMetBlock_t { public: Float_t Met[5]; Float_t Metphi[5]; Float_t Metjt; Float_t Metjtphi; Float_t Metj1; Float_t Metj1phi; Float_t metc; Float_t metcphi; Float_t htc; Float_t metcf; Float_t metcfphi; Float_t htcf; Float_t Etatrks; Float_t Phitrks; Float_t Pttrks; Float_t Seedpt; Float_t Sumet; Float_t Sumetjet; Float_t Metsig; //----------------------------------------------------------------------------- // functions //----------------------------------------------------------------------------- public: StnMetBlock_t () {} ~StnMetBlock_t() {} }; struct StnElectronBlock_t { Int_t Nel; Float_t Ep4[40][4]; Float_t Eetcor[40]; Float_t Eet[40]; Float_t Echarge[40]; Float_t Edteta[40]; Float_t Eeveta[40]; Float_t Ephi[40]; Float_t Ept[40]; Float_t Estat[40]; Float_t Ezv[40]; Float_t Eep[40]; // E/p Float_t Ehadem[40]; // Had/Em energy Float_t Exces[40]; Float_t Edelx[40]; Float_t Ezces[40]; Float_t Edelz[40]; Float_t Echis[40]; Float_t Echiw[40]; Float_t Eiso[40]; Float_t Etiso[40]; Int_t Eidwrd[40]; Int_t Eiswrd[40]; Int_t Econwrd[40]; Float_t Eztrk[40]; Int_t Efid[40]; Int_t Edet[40]; Float_t Ebte[40]; Int_t Enasl[40]; Int_t Enssl[40]; Float_t eptrk[40]; Float_t elshr2[40]; Float_t echi3[40]; Float_t echid[40]; Float_t evtxocc[40]; Float_t etime[40]; Int_t etrind[40]; }; struct StnMuonsBlock_t { Int_t Nmu; Float_t Murawpt[15]; Float_t Mup4[15][4]; Float_t Mupt[15]; Float_t Muq[15]; Float_t Muhad[15]; Float_t Muem[15]; Float_t Mueveta[15]; Float_t Muphi[15]; Float_t Mustat[15]; Float_t Muzv[15]; Float_t Mud0[15]; Float_t Mudelz[15]; Float_t Mudelx[15]; Float_t Muiso[15]; Float_t Mutiso[15]; Int_t Mucray[15]; Int_t Muidwrd[15]; Int_t Muiswrd[15]; Float_t Muztrk[15]; Int_t Mufid[15]; Int_t Mudet[15]; Float_t Mubte[15]; Int_t Munasl[15]; Int_t Munssl[15]; Float_t muchz0[15]; Float_t muchd0[15]; Float_t mutime[15]; Float_t muvtxocc[15]; Float_t mudteta[15]; Int_t mutrind[15]; // track number for this muon }; struct StnTausBlock_t { Int_t Ntau; Float_t Tp4[40][4]; Float_t Tet[40]; Int_t Tq[40]; Float_t Tzv[40]; Float_t Tdteta[40]; Float_t Teveta[40]; Float_t Tphi[40]; Float_t Tpt[40]; Float_t Tptvis[40]; Float_t Tstat[40]; Float_t Tdelr[40]; Float_t Temf[40]; Float_t Tmass[40]; Float_t tpttr[40][4]; Int_t tntr10[40]; Int_t tnpi0[40]; Int_t tmustub[40]; Int_t ttrind[40][20]; }; struct StnDileptonBlock_t { Int_t Ndil; UInt_t Tzflag; Int_t Dilwrd; Float_t Metdilep; Int_t Njtdilep; Float_t Dphiminj; Float_t Dphiminl; Int_t Dilmode; Int_t Diltype1; }; struct StnMassBlock_t { Float_t Eemass; Float_t Mumumass; Float_t Taumass; Float_t Phomass; }; struct StnPhotonsBlock_t { Int_t Npho; Int_t Ncencl; Int_t Nplugcl; Int_t Nphoidl; Int_t Nphoisol; Int_t Nphoid; Int_t Nphoiso; Int_t Ncmus; Int_t Costub; Int_t Pdetect[10]; Float_t Pzv[10]; Float_t Pet[10]; Float_t Petc[10]; // corrected Et Float_t Pp4[10][4]; Float_t Pco4[10]; // energy in the cone 0.4 Float_t Pcesx[10]; Float_t Pcesz[10]; Float_t Pcpr5ph[10]; Float_t Pcpr5ps[10]; Float_t Pdteta[10]; Float_t Peveta[10]; Float_t Pcese[10]; Float_t Pphi[10]; Float_t Pco7[10]; Float_t Phadem[10]; // Had/Em Float_t Plshr[10]; Float_t Pstr2[10]; Float_t Pstre2[10]; Float_t Pwir2[10]; Float_t Pwire2[10]; Float_t Psumpt4[10]; Float_t Pvtxocc[10]; Float_t Ppt[10]; Int_t Pn3d[10]; Float_t Pchi[10]; Float_t Pchi3x3[10]; Float_t Pchieta[10]; Float_t Pchiphi[10]; Float_t Pstat[10]; Float_t pboxiso[10]; UInt_t pcesflg[10]; Float_t pe[10]; Float_t pceswht[10]; Float_t pcprwht[10]; Float_t pcesslide[10]; Int_t pwrd[10]; Float_t psth[10]; Int_t pelind[10]; Float_t pchistr[10]; Float_t pchiwir[10]; Float_t pcessig[10]; Float_t pcespg[10]; Float_t pcespb[10]; Float_t pcprpg[10]; Float_t pcprpb[10]; Float_t ppt2[10]; Int_t pntrwd3[10]; Float_t pcescprx[10]; Float_t ptkcprx[10]; Float_t ptime[10]; Float_t pvcor[10]; Float_t plcor[10]; }; struct StnTaggingBlock_t { Int_t Ntag; Int_t Btgwrd; Float_t Lxy[4]; Float_t Lxyerr[4]; Float_t Ctau[4]; Float_t Tagchi[4]; }; struct StnVertexBlock_t { Int_t Npvert; Float_t Vxprim[3]; Int_t Vclass[20]; Float_t Vz[20]; Float_t Vq[20]; Float_t ptnov; Float_t vzev; Int_t vclassev; }; struct StnGenpBlock_t { Int_t Ngenp; Int_t Ngid[100]; // CDF particle ID code of the particle Int_t Ngn[100]; // pointer to GENP bank entry of the particle Int_t Ngnp[100]; // pointer to GENP bank entry of the parent Int_t Ngpid[100]; // ID code of the particle's parent Float_t Gnp4[100][4]; // (px,py,pz,mass) of the particle }; struct StnTrackBlock_t { Int_t ntr; // number of 3D QTRK tracks (MAXIMUM NTR = 100) Int_t trvind[100]; Int_t trnsvx[100]; Int_t trnasl[100]; Int_t trnssl[100]; Float_t trcot[100]; Float_t trcurv[100]; Float_t trz0[100]; Float_t trd0[100]; Float_t trq[100]; Float_t trphi0[100]; Float_t trp4[100][4]; Float_t trpt[100]; Float_t treta[100]; Float_t trexeta[100]; Float_t trexphi[100]; Int_t trbcvind[100]; Float_t trbcz0[100]; Float_t trbcd0[100]; Float_t trbcq[100]; Float_t trbcp4[100][4]; Float_t trbcpt[100]; Float_t trbceta[100]; Float_t triso4[100]; }; struct StnMoreTrigBlock_t { }; struct StnMoreMuonBlock_t { }; class TStnRun1Event: public TStnEvent { public: int fPassed; //! used by the selection routines StnGeneralBlock_t* fGeneralBlock; StnJetsBlock_t* fJetsBlock; StnFatJetsBlock_t* fFatJetsBlock; StnMetBlock_t* fMetBlock; StnElectronBlock_t* fElectronBlock; StnMuonsBlock_t* fMuonsBlock; StnTausBlock_t* fTausBlock; StnDileptonBlock_t* fDileptonBlock; StnMassBlock_t* fMassBlock; StnPhotonsBlock_t* fPhotonsBlock; StnTaggingBlock_t* fTaggingBlock; StnVertexBlock_t* fVertexBlock; StnGenpBlock_t* fGenpBlock; StnTrackBlock_t* fTrackBlock; StnMoreTrigBlock_t* fMoreTrigBlock; StnMoreMuonBlock_t* fMoreMuonBlock; //----------------------------------------------------------------------------- // functions: //----------------------------------------------------------------------------- TStnRun1Event(); virtual ~TStnRun1Event(); // ****** setters void SetPassed(int passed) { fPassed = passed; } // ****** accessors int Passed () { return fPassed; } StnGeneralBlock_t* GeneralBlock () { return fGeneralBlock; } StnJetsBlock_t* JetsBlock () { return fJetsBlock; } StnFatJetsBlock_t* FatJetsBlock () { return fFatJetsBlock; } StnMetBlock_t* MetBlock () { return fMetBlock; } StnElectronBlock_t* ElectronBlock() { return fElectronBlock; } StnMuonsBlock_t* MuonsBlock () { return fMuonsBlock; } StnTausBlock_t* TausBlock () { return fTausBlock; } StnDileptonBlock_t* DileptonBlock() { return fDileptonBlock; } StnMassBlock_t* MassBlock () { return fMassBlock; } StnPhotonsBlock_t* PhotonsBlock () { return fPhotonsBlock; } StnTaggingBlock_t* TaggingBlock () { return fTaggingBlock; } StnVertexBlock_t* VertexBlock () { return fVertexBlock; } StnGenpBlock_t* GenpBlock () { return fGenpBlock; } StnTrackBlock_t* TrackBlock () { return fTrackBlock; } StnMoreTrigBlock_t* MoreTrigBlock() { return fMoreTrigBlock; } StnMoreMuonBlock_t* MoreMuonBlock() { return fMoreMuonBlock; } ClassDef(TStnRun1Event,0) }; #endif