ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/JetIDMVA.cc
(Generate patch)

Comparing UserCode/MitPhysics/Utils/src/JetIDMVA.cc (file contents):
Revision 1.1 by pharris, Wed Mar 21 18:56:25 2012 UTC vs.
Revision 1.2 by pharris, Wed Apr 4 07:57:01 2012 UTC

# Line 187 | Line 187 | Bool_t JetIDMVA::pass(const PFJet *iJet,
187    return true;
188   }
189   //--------------------------------------------------------------------------------------------------
190 + Bool_t JetIDMVA::pass(const PFJet *iJet,const Vertex *iVertex) {
191 +  if(!JetTools::passPFLooseId(iJet))                 return false;
192 +  if(iJet->Pt() < fJetPtMin && iJet->TrackCountingHighEffBJetTagsDisc() == -100) return false; //This line is a bug in the Met training
193 +  if( fabs(JetTools::impactParameter(iJet,iVertex,true)) < 0.2) return true;
194 +  double lMVA = MVAValue(iJet,iVertex);
195 +  if(lMVA < -0.8)                            return false;
196 +  if(lMVA < -0.5 && fabs(iJet->Eta()) > 3.0) return false;
197 +  return true;
198 + }
199 + //--------------------------------------------------------------------------------------------------
200   Double_t JetIDMVA::MVAValue(const PFJet *iJet,const Vertex *iVertex, //Vertex here is the PV
201                              FactorizedJetCorrector *iJetCorrector,
202                              const PileupEnergyDensityCol *iPileupEnergyDensity,
# Line 232 | Line 242 | Double_t JetIDMVA::MVAValue(const PFJet
242  
243    fDRLC1        = MathUtils::DeltaR(iJet->Mom(),lLead  ->Mom());
244    fDRLS1        = MathUtils::DeltaR(iJet->Mom(),lSecond->Mom());
245 +  fDRM1         = JetTools::dRMean (iJet,-1);
246 +  fDRNE1        = JetTools::dRMean (iJet, 5);
247 +  fDREM1        = JetTools::dRMean (iJet, 4);
248 +  fDRCH1        = JetTools::dRMean (iJet, 1);
249 +
250 +  double lMVA = fReader->EvaluateMVA( fMethodName );
251 +  
252 +  if (printDebug == kTRUE) {
253 +    std::cout << "Debug Jet MVA: "
254 +              << fNPV    << " "
255 +              << fJPt1   << " "
256 +              << fJEta1  << " "
257 +              << fJPhi1  << " "
258 +              << fJD01   << " "
259 +              << fJDZ1   << " "
260 +              << fJM1    << " "
261 +              << fNPart1 << " "
262 +              << fLPt1   << " "
263 +              << fLEta1  << " "
264 +              << fLPhi1  << " "
265 +              << fSPt1   << " "
266 +              << fSEta1  << " "
267 +              << fSPhi1  << " "
268 +              << fNEPt1  << " "
269 +              << fNEEta1 << " "
270 +              << fNEPhi1 << " "
271 +              << fEMPt1  << " "
272 +              << fEMEta1 << " "
273 +              << fEMPhi1 << " "
274 +              << fChPt1  << " "
275 +              << fChPhi1 << " "
276 +              << fLFr1   << " "
277 +              << fDRLC1  << " "
278 +              << fDRLS1  << " "
279 +              << fDRM1   << " "
280 +              << fDRNE1 << " "
281 +              << fDREM1  << " "
282 +              << fDRCH1  << " "
283 +              << " === : === "
284 +              << lMVA << " "    
285 +              << std::endl;
286 +  }
287 +
288 +  return lMVA;
289 + }
290 + Double_t JetIDMVA::MVAValue(const PFJet *iJet,const Vertex *iVertex, //Vertex here is the PV
291 +                            Bool_t printDebug) {
292 +  
293 +  if (!fIsInitialized) {
294 +    std::cout << "Error: JetIDMVA not properly initialized.\n";
295 +    return -9999;
296 +  }
297 +  if(!JetTools::passPFLooseId(iJet)) return -2.;
298 +
299 +  //set all input variables
300 +  fJPt1      = iJet->Pt();
301 +  fJEta1     = iJet->RawMom().Eta();
302 +  fJPhi1     = iJet->RawMom().Phi();
303 +  fJM1       = iJet->Mass();
304 +
305 +  const mithep::PFCandidate *lLead     = JetTools::leadCand(iJet,-1);
306 +  const mithep::PFCandidate *lSecond   = JetTools::leadCand(iJet,-1,true);
307 +  const mithep::PFCandidate *lLeadNeut = JetTools::leadCand(iJet ,5);
308 +  const mithep::PFCandidate *lLeadEm   = JetTools::leadCand(iJet ,4);
309 +  const mithep::PFCandidate *lLeadCh   = JetTools::leadCand(iJet ,1);
310 +
311 +  fJD01         = JetTools::impactParameter(iJet,iVertex);  
312 +  fJDZ1         = JetTools::impactParameter(iJet,iVertex,true);
313 +  fNPart1       = iJet->NPFCands();
314 +  fLPt1         = lLead    ->Pt();
315 +  fLEta1        = lLead    ->Eta();
316 +  fLPhi1        = lLead    ->Phi();
317 +  fSPt1         = lSecond  ->Pt();
318 +  fSEta1        = lSecond  ->Eta();
319 +  fSPhi1        = lSecond  ->Phi();
320 +  fNEPt1        = lLeadNeut->Pt();
321 +  fNEEta1       = lLeadNeut->Eta();
322 +  fNEPhi1       = lLeadNeut->Phi();
323 +  fEMPt1        = lLeadEm  ->Pt();
324 +  fEMEta1       = lLeadEm  ->Eta();
325 +  fEMPhi1       = lLeadEm  ->Phi();
326 +  fChPt1        = lLeadCh  ->Pt();
327 +  //fChEta1       = lLeadCh  ->Eta();
328 +  fChPhi1       = lLeadCh  ->Phi();
329 +  fLFr1         = lLead->Pt()/iJet->RawMom().Pt();
330 +
331 +  fDRLC1        = MathUtils::DeltaR(iJet->Mom(),lLead  ->Mom());
332 +  fDRLS1        = MathUtils::DeltaR(iJet->Mom(),lSecond->Mom());
333    fDRM1         = JetTools::dRMean (iJet,-1);
334    fDRNE1        = JetTools::dRMean (iJet, 5);
335    fDREM1        = JetTools::dRMean (iJet, 4);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines