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

Comparing UserCode/MitPhysics/Utils/src/MuonTools.cc (file contents):
Revision 1.6 by loizides, Fri Nov 28 09:13:35 2008 UTC vs.
Revision 1.25 by sixie, Sun Apr 15 12:07:00 2012 UTC

# Line 3 | Line 3
3   #include "MitPhysics/Utils/interface/MuonTools.h"
4   #include <TFile.h>
5  
6 + ClassImp(mithep::MuonTools)
7 +
8   using namespace mithep;
9  
10   //--------------------------------------------------------------------------------------------------
# Line 91 | Line 93 | void MuonTools::DeleteHistos()
93   Double_t MuonTools::GetCaloCompatability(const Muon *iMuon,
94                                           Bool_t iEMSpecial, Bool_t iCorrectedHCAL) const
95   {
96 <  // todo
96 >  // Get calo compatibility value for given muon based on calorimeter templates.
97 >  // If iEMSpecial is true, then a use different arrangement of ECAL for compatibility.
98  
99    Double_t lEta = iMuon->Eta();
100    Double_t aEta = TMath::Abs(lEta);
# Line 144 | Line 147 | Double_t MuonTools::GetCaloCompatability
147  
148    if (aEta < 1.1) {
149      if(iCorrectedHCAL)    
150 <      lHad *= TMath::Sin(2*TMath::ATan(TMath::Exp(lEta))); //todo ask!
150 >      lHad *= TMath::Sin(2*TMath::ATan(TMath::Exp(lEta)));
151      lTPionHad  = fpion_had_etaB;
152      lTMuonHad  = fmuon_had_etaB;
153    }
# Line 276 | Line 279 | Bool_t MuonTools::IsGood(const mithep::M
279        return iMuon->PromptTight(Muon::kAny);
280        break;
281      case kTMOneStationLoose:
282 <      return iMuon->TMOneStation(99999,999999);
282 >      return iMuon->TMOneStation(999999,999999);
283        break;
284      case kTMOneStationTight:
285        return iMuon->TMOneStation();
# Line 298 | Line 301 | Bool_t MuonTools::IsGood(const mithep::M
301        break;
302    }
303  
304 <  Double_t lVal = 1.2*GetSegmentCompatability(iMuon);
305 <  if (lVal/1.2 == 0.5)
304 >  Double_t lVal = GetSegmentCompatability(iMuon);
305 >  if (lVal == 0.5) // exclude this border case
306      return kFALSE;
307  
308 +  lVal *= 1.2;
309    lVal += 0.8*GetCaloCompatability(iMuon,kTRUE,kTRUE);
310    if (lVal > tm2dcut)
311      return kTRUE;
312 +
313    return kFALSE;
314   }
315  
316   //--------------------------------------------------------------------------------------------------
317   Double_t MuonTools::GetSegmentCompatability(const mithep::Muon *iMuon) const
318   {
319 <  // todo
319 >  // Get segment compatability for given muon based on likelihood of well defined
320 >  // track through chambers.
321  
322    Int_t lNStationsCrossed = 0;
323    Int_t lNStationsSegment = 0;
# Line 332 | Line 338 | Double_t MuonTools::GetSegmentCompatabil
338      } else
339        lStCrossed[i0]  = 0;
340  
341 <    if(iMuon->GetDX(i0) < 999999.) { //Use iMuon->GetSegmentX--> CHECK
341 >    if(iMuon->GetDX(i0) < 999999.) {
342        lNStationsSegment++;
343        lStSegmentmatch[i0] = 1;
344      } else
# Line 422 | Line 428 | TH2D *MuonTools::LoadHisto(const char *n
428    ret->SetDirectory(0);
429    return ret;
430   }
431 + //--------------------------------------------------------------------------------------------------
432 + Bool_t MuonTools::PassD0Cut(const Muon *mu, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex)
433 + {
434 +  Bool_t d0cut = kFALSE;
435 +  const Track *mt = mu->BestTrk();
436 +  if (!mt) return kFALSE;
437 +
438 +  Double_t d0_real = 1e30;
439 +  if(nVertex >= 0) d0_real = TMath::Abs(mt->D0Corrected(*vertices->At(nVertex)));
440 +  else            {
441 +    Double_t distVtx = 999.0;
442 +    Int_t closestVtx = 0;
443 +    for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){
444 +      double dz = TMath::Abs(mt->DzCorrected(*vertices->At(nv)));
445 +      if(dz < distVtx) {
446 +        distVtx    = dz;
447 +        closestVtx = nv;
448 +      }
449 +    }
450 +    d0_real = TMath::Abs(mt->D0Corrected(*vertices->At(closestVtx)));
451 +  }
452 +  if(d0_real < fD0Cut) d0cut = kTRUE;
453 +  
454 +  return d0cut;
455 + }
456 +
457 + //--------------------------------------------------------------------------------------------------
458 + Bool_t MuonTools::PassD0Cut(const Muon *mu, const BeamSpotCol *beamspots, Double_t fD0Cut)
459 + {
460 +  Bool_t d0cut = kFALSE;
461 +  const Track *mt = mu->BestTrk();
462 +  if (!mt) return kFALSE;
463 +
464 +  // d0 cut
465 +  Double_t d0_real = 99999;
466 +  for(UInt_t i0 = 0; i0 < beamspots->GetEntries(); i0++) {
467 +    Double_t pD0 = mt->D0Corrected(*beamspots->At(i0));
468 +    if(TMath::Abs(pD0) < TMath::Abs(d0_real)) d0_real = TMath::Abs(pD0);
469 +  }
470 +  if(d0_real < fD0Cut) d0cut = kTRUE;
471 +  
472 +  return d0cut;
473 + }
474 +
475 + //--------------------------------------------------------------------------------------------------
476 + Bool_t MuonTools::PassDZCut(const Muon *mu, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex)
477 + {
478 +  Bool_t dzcut = kFALSE;
479 +  const Track *mt = mu->BestTrk();
480 +  if (!mt) return kFALSE;
481 +
482 +  Double_t distVtx = 999.0;
483 +  if(nVertex >= 0) distVtx = TMath::Abs(mt->DzCorrected(*vertices->At(nVertex)));
484 +  else {
485 +    for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){
486 +      double dz = TMath::Abs(mt->DzCorrected(*vertices->At(nv)));
487 +      if(dz < distVtx) {
488 +        distVtx = dz;
489 +      }
490 +    }
491 +  }
492 +
493 +  if(distVtx < fDZCut) dzcut = kTRUE;
494 +  
495 +  return dzcut;
496 + }
497 +
498 + //--------------------------------------------------------------------------------------------------
499 + Bool_t MuonTools::PassSoftMuonCut(const Muon *mu, const VertexCol *vertices, const Double_t fDZCut,
500 +                                  const Bool_t applyIso)
501 + {
502 +  if(mu->Pt() <= 3.0) return kFALSE;
503 +
504 +  if(!mu->IsTrackerMuon()) return kFALSE;
505 +  
506 +  if(!mu->Quality().Quality(MuonQuality::TMLastStationAngTight)) return kFALSE;
507 +
508 +  if(mu->BestTrk()->NHits() <= 10) return kFALSE;
509 +
510 +  if(!PassD0Cut(mu, vertices, 0.2, 0)) return kFALSE;
511 +
512 +  if(!PassDZCut(mu, vertices, fDZCut, 0)) return kFALSE;
513 +
514 +  if(applyIso == kTRUE){
515 +    Double_t totalIso = 1.0 * mu->IsoR03SumPt() +
516 +                        1.0 * mu->IsoR03EmEt() +
517 +                        1.0 * mu->IsoR03HadEt();
518 +    if (totalIso < (mu->Pt()*0.10) && mu->Pt() > 20.0) return kFALSE;
519 +  }
520 +
521 +  return kTRUE;
522 + }
523 +
524 + Double_t MuonTools::MuonEffectiveArea(EMuonEffectiveAreaType type, Double_t Eta,
525 +                                      EMuonEffectiveAreaTarget EffectiveAreaTarget) {
526 +
527 +  Double_t EffectiveArea = 0;
528 +  if (fabs(Eta) < 1.0) {
529 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
530 +    if (type == kMuNeutralIso03) EffectiveArea = 0.080;
531 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
532 +    if (type == kMuNeutralIso04) EffectiveArea = 0.163;
533 +    if (type == kMuHadEnergy)    EffectiveArea = 0.000;
534 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
535 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
536 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.016;
537 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
538 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
539 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
540 +    if (type == kMuEMIso03)      EffectiveArea = 0.080;
541 +    if (type == kMuHadIso03)     EffectiveArea = 0.025;
542 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
543 +    if (type == kMuEMIso05)      EffectiveArea = 0.290;
544 +    if (type == kMuHadIso05)     EffectiveArea = 0.091;
545 +  } else if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) {
546 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
547 +    if (type == kMuNeutralIso03) EffectiveArea = 0.083;
548 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
549 +    if (type == kMuNeutralIso04) EffectiveArea = 0.168;
550 +    if (type == kMuHadEnergy)    EffectiveArea = 0.005;
551 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
552 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
553 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.041;
554 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
555 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
556 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
557 +    if (type == kMuEMIso03)      EffectiveArea = 0.043;
558 +    if (type == kMuHadIso03)     EffectiveArea = 0.028;
559 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
560 +    if (type == kMuEMIso05)      EffectiveArea = 0.184;
561 +    if (type == kMuHadIso05)     EffectiveArea = 0.106;
562 +  } else if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) {
563 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
564 +    if (type == kMuNeutralIso03) EffectiveArea = 0.060;
565 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
566 +    if (type == kMuNeutralIso04) EffectiveArea = 0.131;
567 +    if (type == kMuHadEnergy)    EffectiveArea = 0.020;
568 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
569 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
570 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.072;
571 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
572 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
573 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
574 +    if (type == kMuEMIso03)      EffectiveArea = 0.025;
575 +    if (type == kMuHadIso03)     EffectiveArea = 0.036;
576 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
577 +    if (type == kMuEMIso05)      EffectiveArea = 0.124;
578 +    if (type == kMuHadIso05)     EffectiveArea = 0.140;
579 +  } else if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.25 ) {
580 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
581 +    if (type == kMuNeutralIso03) EffectiveArea = 0.066;
582 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
583 +    if (type == kMuNeutralIso04) EffectiveArea = 0.149;
584 +    if (type == kMuHadEnergy)    EffectiveArea = 0.056;
585 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
586 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
587 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.148;
588 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
589 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
590 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
591 +    if (type == kMuEMIso03)      EffectiveArea = 0.025;
592 +    if (type == kMuHadIso03)     EffectiveArea = 0.050;
593 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
594 +    if (type == kMuEMIso05)      EffectiveArea = 0.120;
595 +    if (type == kMuHadIso05)     EffectiveArea = 0.186;
596 +  } else if (fabs(Eta) >= 2.25 && fabs(Eta) < 2.4 ) {
597 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
598 +    if (type == kMuNeutralIso03) EffectiveArea = 0.098;
599 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
600 +    if (type == kMuNeutralIso04) EffectiveArea = 0.200;
601 +    if (type == kMuHadEnergy)    EffectiveArea = 0.093;
602 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
603 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
604 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.260;
605 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
606 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
607 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
608 +    if (type == kMuEMIso03)      EffectiveArea = 0.027;
609 +    if (type == kMuHadIso03)     EffectiveArea = 0.060;
610 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
611 +    if (type == kMuEMIso05)      EffectiveArea = 0.139;
612 +    if (type == kMuHadIso05)     EffectiveArea = 0.228;
613 +  }
614 +
615 +
616 +  //NoCorrections
617 +  if (EffectiveAreaTarget == kMuEANoCorr) {
618 +    return 0.0;
619 +  }
620 +  //2011 Data Effective Areas
621 +  if (EffectiveAreaTarget == kMuEAData2011) {
622 +    if (type == kMuGammaIsoDR0p0To0p1) {
623 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
624 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
625 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.002;
626 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
627 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
628 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.005;
629 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
630 +    }
631 +    if (type == kMuGammaIsoDR0p1To0p2) {
632 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.011;
633 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
634 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.005;
635 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
636 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.008;
637 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.011;
638 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
639 +    }
640 +    if (type == kMuGammaIsoDR0p2To0p3) {
641 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
642 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.016;
643 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.010;
644 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.014;
645 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.017;
646 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.021;
647 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
648 +    }
649 +    if (type == kMuGammaIsoDR0p3To0p4) {
650 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.036;
651 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
652 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
653 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.023;
654 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.028;
655 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.032;
656 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.030;
657 +    }
658 +    if (type == kMuGammaIsoDR0p4To0p5) {
659 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.051;
660 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.037;
661 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.028;
662 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
663 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.042;
664 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.052;
665 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.054;
666 +    }
667 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
668 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
669 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.001;
670 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.001;
671 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.001;
672 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.005;
673 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.007;
674 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
675 +    }
676 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
677 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
678 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
679 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
680 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
681 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
682 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.014;
683 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.008;
684 +    }
685 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
686 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.010;
687 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
688 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
689 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.017;
690 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
691 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
692 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.022;
693 +    }
694 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
695 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.015;
696 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
697 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.024;
698 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
699 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.038;
700 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.038;
701 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.077;
702 +    }
703 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
704 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.020;
705 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
706 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.033;
707 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.045;
708 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.051;
709 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.114;
710 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.195;
711 +    }
712 +  }
713 +
714 +  //Summer11 MC Effective Areas
715 +  else if (EffectiveAreaTarget == kMuEASummer11MC) {
716 +    //Fall11 MC Effective Areas
717 +    if (type == kMuGammaIsoDR0p0To0p1) {
718 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.000;
719 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.000;
720 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
721 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
722 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
723 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.006;
724 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.017;
725 +    }
726 +    if (type == kMuGammaIsoDR0p1To0p2) {
727 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
728 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
729 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
730 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
731 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
732 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.015;
733 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.007;
734 +    }
735 +    if (type == kMuGammaIsoDR0p2To0p3) {
736 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
737 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.018;
738 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.013;
739 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
740 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.024;
741 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.036;
742 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.030;
743 +    }
744 +    if (type == kMuGammaIsoDR0p3To0p4) {
745 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.038;
746 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.027;
747 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.019;
748 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
749 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.041;
750 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.062;
751 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.058;
752 +    }
753 +    if (type == kMuGammaIsoDR0p4To0p5) {
754 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.055;
755 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.038;
756 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.032;
757 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.052;
758 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.066;
759 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.093;
760 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.074;
761 +    }
762 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
763 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
764 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.005;
765 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
766 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
767 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
768 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.003;
769 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
770 +    }
771 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
772 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
773 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.006;
774 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
775 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
776 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.009;
777 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.013;
778 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.012;
779 +    }
780 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
781 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
782 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.013;
783 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.015;
784 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
785 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.020;
786 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
787 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.017;
788 +    }
789 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
790 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
791 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.019;
792 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.021;
793 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.025;
794 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.030;
795 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.044;
796 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.082;
797 +    }
798 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
799 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.016;
800 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
801 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.030;
802 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.038;
803 +     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.048;
804 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.118;
805 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.168;
806 +    }
807 +  }
808 +
809 +  //Fall11 MC Effective Areas
810 +  else if (EffectiveAreaTarget == kMuEAFall11MC) {
811 +    //Fall11 MC Effective Areas
812 +    if (type == kMuGammaIsoDR0p0To0p1) {
813 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
814 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
815 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.003;
816 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
817 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.003;
818 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.011;
819 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.003;
820 +    }
821 +    if (type == kMuGammaIsoDR0p1To0p2) {
822 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
823 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
824 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
825 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.012;
826 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
827 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
828 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.021;
829 +    }
830 +    if (type == kMuGammaIsoDR0p2To0p3) {
831 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.026;
832 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.020;
833 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.012;
834 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.022;
835 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.027;
836 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.034;
837 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.055;
838 +    }
839 +    if (type == kMuGammaIsoDR0p3To0p4) {
840 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.042;
841 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.033;
842 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.022;
843 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.036;
844 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.059;
845 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.068;
846 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.083;
847 +    }
848 +    if (type == kMuGammaIsoDR0p4To0p5) {
849 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.060;
850 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.043;
851 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.036;
852 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.055;
853 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.092;
854 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.115;
855 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.128;
856 +    }
857 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
858 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
859 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.004;
860 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.004;
861 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.004;
862 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
863 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.014;
864 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
865 +    }
866 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
867 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
868 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
869 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
870 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
871 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.015;
872 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.017;
873 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.014;
874 +    }
875 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
876 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
877 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
878 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.016;
879 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.018;
880 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.022;
881 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.026;
882 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.021;
883 +    }
884 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
885 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.013;
886 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
887 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.026;
888 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
889 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.037;
890 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.042;
891 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.086;
892 +    }
893 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
894 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.017;
895 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
896 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.035;
897 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.046;
898 +     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.063;
899 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.135;
900 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.200;
901 +    }
902 +  }
903 +
904 +  return EffectiveArea;
905 + }
906 +
907  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines