#ifndef TMBJets_H #define TMBJets_H ////////////////////////////////////////////////////////////////////////// // // // TMBTree Jets class // // // ////////////////////////////////////////////////////////////////////////// #include "tmb_tree/TPhysObj.hpp" // #ifndef ROOT_TRef #include "TRef.h" #endif #ifndef ROOT_TRefArray #include "TRefArray.h" #endif #include "TArrayI.h" #include "TString.h" class TMBTrks; class TMBVrts; class TMBJets : public TPhysObj { private: Float_t _px; // px of Jet Float_t _py; // py of Jet Float_t _pz; // pz of Jet Float_t _E; // E of Jet Float_t _pT; // pT of Jet Float_t _phi; // phi of Jet Float_t _eta; // eta of Jet Float_t _q; // charge of Jet: sum of charge of associated charged particles Float_t _dphi; // PT weighted location in terms of iphi Float_t _deta; // PT weighted location in terms of ieta Float_t _emf; // ET fraction in layers 1-7 Float_t _em1f; // ET fraction in layers 1 Float_t _em2f; // ET fraction in layers 2 Float_t _em3f; // ET fraction in layers 3 Float_t _ccmg; // ET fraction in the CC massless gap Float_t _icdf; // ET fraction in the ICD Float_t _ecmg; // ET fraction in the EC massless gap Float_t _icrf; // icdmgETfraction() Float_t _fh1f; // ET fraction in Fine Hadronic 1 Float_t _fh2f; // ET fraction in Fine Hadronic 2 Float_t _fh3f; // ET fraction in Fine Hadronic 3 + 4 Float_t _chf; // ET fraction in Coarse Hadronic layers Float_t _emcc; // ET fraction in the EM part of the central calorimeter Float_t _hadcc; // ET fraction in the hadronic part of the central calorimeter Float_t _emec; // ET fraction in the EM part of the endcap calorimeter Float_t _hadec; // ET fraction in the hadronic part of the endcap calorimeter Float_t _hot; // ratio of hottest to next-hottest cell Float_t _mxET; // hottest cell ET Float_t _cpsE; // de-ghosted associated CPS energy Float_t _etaW; // eta RMS width Float_t _phiW; // phi RMS width Float_t _sET; // Scalar ET Float_t _vPT; // vector PT Float_t _iPT; // initialET : valid only for cone jets (otherwise 0.); jet ET before split/merge Float_t _seedET; // seedET : valid only for cone jets (otherwise 0.) Int_t _ntrk; // _trackindex.size() Int_t _nps; // _CPSindex.size()+_FPSindex.size() Int_t _Nitems; // number of towers Int_t _n90; // number of towers w/ 90\% of PT Int_t _split_merge_word; // split/merge word: valid only for cone jets (otherwise 0) TString _algoname; // algorithm name as JCCA, JCCB, etc. TRefArray _tracks; //tracks associated to the jet TRef _vtxref; // pointer to vertex associated with the jet // L1 energy in 0.5 cone Float_t _l1set; /// JES correction factor Float_t _jes_C; /// JES correction factor stastistical errors Float_t _jes_dC_stat; /// JES correction factor systematic errors Float_t _jes_dC_sys; /// JES correction for MET Float_t _jes_metC; /// JES correction for MET stastistical errors Float_t _jes_metdC_stat; /// JES correction for MET systematic errors Float_t _jes_metdC_sys; public: TMBJets &operator=( TMBJets &orig) { return *this; } TMBJets &operator=(const TMBJets &orig) { _px = orig._px; _py = orig._py; _pz = orig._pz; _E = orig._E; _pT = orig._pT; _phi = orig._phi; _eta = orig._eta; _q = orig._q; _dphi = orig._dphi; _deta = orig._deta; _emf = orig._emf; _em1f = orig._em1f; _em2f = orig._em2f; _em3f = orig._em3f; _ccmg = orig._ccmg; _icdf = orig._icdf; _ecmg = orig._ecmg; _icrf = orig._icrf; _fh1f = orig._fh1f; _fh2f = orig._fh2f; _fh3f = orig._fh3f; _chf = orig._chf; _emcc = orig._emcc; _hadcc = orig._hadcc; _emec = orig._emec; _hadec = orig._hadec; _hot = orig._hot; _mxET = orig._mxET; _cpsE = orig._cpsE; _etaW = orig._etaW; _phiW = orig._phiW; _sET = orig._sET; _vPT = orig._vPT; _iPT = orig._iPT; _seedET= orig._seedET; _ntrk = orig._ntrk; _nps = orig._nps; _Nitems= orig._Nitems; _n90 = orig._n90; _split_merge_word = orig._split_merge_word; _algoname = orig._algoname; _vtxref = orig._vtxref; _l1set = orig._l1set; _jes_C=orig._jes_C; _jes_dC_stat=orig._jes_dC_stat; _jes_dC_sys=orig._jes_dC_sys; _jes_metC=orig._jes_metC; _jes_metdC_stat=orig._jes_metdC_stat; _jes_metdC_sys=orig._jes_metdC_sys; _tracks.Clear(); for (Int_t i=0; i