ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbb/interface/VHbbNameSpace.h
(Generate patch)

Comparing UserCode/VHbb/interface/VHbbNameSpace.h (file contents):
Revision 1.5 by nmohr, Thu Jan 17 16:32:37 2013 UTC vs.
Revision 1.6 by nmohr, Thu Mar 14 14:21:36 2013 UTC

# Line 1 | Line 1
1   #include "TLorentzVector.h"
2   #include "TVector3.h"
3 + #include "TVector2.h"
4   #include "TMath.h"
5 + /*#if !defined(__CINT__) && !defined(__MAKECINT__)
6 + #include "CondFormats/JetMETObjects/interface/JetCorrectorParameters.h"
7 + #include "CondFormats/JetMETObjects/interface/JetCorrectionUncertainty.h"
8 + #endif*/
9  
10   namespace VHbb {
11 +  
12  
13    double deltaPhi(double phi1,double phi2)
14    {
# Line 165 | Line 171 | namespace VHbb {
171          return phi2;
172   }
173  
174 + TVector2 metType1Reg(double met, double metphi, double corr1, double corr2, double pt1, double eta1, double phi1, double e1, double pt2, double eta2, double phi2, double e2)
175 + {
176 +    double metx = met * cos(metphi);
177 +    double mety = met * sin(metphi);
178 +    TLorentzVector j1;
179 +    TLorentzVector j2;
180 +    j1.SetPtEtaPhiE(pt1,eta1,phi1, e1 );
181 +    j2.SetPtEtaPhiE(pt2,eta2,phi2, e2 );
182 +    metx += j1.Px()*(1-corr1);
183 +    metx += j2.Px()*(1-corr2);
184 +    mety += j1.Py()*(1-corr1);
185 +    mety += j2.Py()*(1-corr2);
186 +    TVector2 corrMET(metx, mety);
187 +     return corrMET;
188 + }
189 +
190 + double metType1Phi(double met, double metphi, double corr1, double corr2, double pt1, double eta1, double phi1, double e1, double pt2, double eta2, double phi2, double e2){
191 +    return metType1Reg(met, metphi, corr1, corr2, pt1, eta1, phi1, e1, pt2, eta2, phi2, e2).Phi();
192 +
193 + }
194 + double metType1Et(double met, double metphi, double corr1, double corr2, double pt1, double eta1, double phi1, double e1, double pt2, double eta2, double phi2, double e2){
195 +    return metType1Reg(met, metphi, corr1, corr2, pt1, eta1, phi1, e1, pt2, eta2, phi2, e2).Mod();
196 +
197 + }
198 +
199 +
200 +   double met_MPF(double met, double metphi, double pt, double phi)
201 + {
202 +    return 1.+met*pt*std::cos( deltaPhi(metphi,phi) ) / (pt*pt);
203 +
204 + }
205 +
206   double resolutionBias(double eta)
207   {
208   // return 0;//Nominal!
209 < if(eta< 1.1) return 0.05;
210 < if(eta< 2.5) return 0.10;
211 < if(eta< 5) return 0.30;
212 < return 0;
209 >  if(eta< 0.5) return 0.052;
210 >  if(eta< 1.1) return 0.057;
211 >  if(eta< 1.7) return 0.096;
212 >  if(eta< 2.3) return 0.134;
213 >  if(eta< 5) return 0.28;
214 >  return 0;
215   }
216  
217   double evalJERBias( double ptreco, double ptgen, double eta1){
# Line 180 | Line 220 | double evalJERBias( double ptreco, doubl
220    if ((fabs(ptreco - ptgen)/ ptreco)<0.5) { //Limit the effect to the core
221       cor = (ptreco +resolutionBias(eta) *(ptreco-ptgen))/ptreco;  
222    }
223 <  return ptreco*cor;
223 >  if (ptgen > 0.) return ptreco*cor;
224 >  else return ptreco;
225   }
226  
227   double evalEt( double pt, double eta, double phi, double e){
# Line 196 | Line 237 | double evalMt( double pt, double eta, do
237    return j.Mt();
238  
239   }
240 + /*double evalJECUnc( double pt, double eta){
241 + // Total uncertainty for reference
242 + JetCorrectionUncertainty *total = new JetCorrectionUncertainty("/shome/nmohr/CMSSW_5_2_6_patch1/src/UserCode/VHbb/data/START53_V15MC_Uncertainty_AK5PFchs.txt");
243 +
244 + total->setJetPt(pt);
245 + total->setJetEta(eta);
246 + double uncert =  total->getUncertainty(true);
247 + delete total;
248 + return uncert;
249 + }*/
250 +
251 +
252  
253   }
254  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines