double correction( PseudoJet &iJet,FactorizedJetCorrector *iJetCorr,double iRho) { iJetCorr->setJetPt (iJet.pt()); iJetCorr->setJetEta(iJet.eta()); iJetCorr->setJetPhi(iJet.phi()); iJetCorr->setJetE (iJet.e()); iJetCorr->setJetA (iJet.area()); iJetCorr->setRho(iRho); iJetCorr->setJetEMF(-99.0); double jetcorr= iJetCorr->getCorrection(); return jetcorr; }
float PhiLab( const PseudoJet& jet, Double_t PzInLepton, Double_t PzInHadron, TLorentzVector electron ) { TLorentzVector p; p . SetPxPyPzE( jet.px(), jet.py(), jet.pz(), jet.e() ); TObjArray InputCand; InputCand.Add( &p ); TObjArray OutputCand; Dijets::BreitBoost( InputCand, OutputCand, PzInLepton, PzInHadron, electron, 2 ); OutputCand.SetOwner(); float phi = (static_cast<TLorentzVector*>(OutputCand.At(0))) -> Phi(); OutputCand.Clear(); return phi; }