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.26 by fabstoec, Tue Apr 24 11:45:53 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 +  if( nVertex >= (int) vertices->GetEntries() )
439 +    nVertex = vertices->GetEntries() - 1;
440 +
441 +  Double_t d0_real = 1e30;
442 +  if(nVertex >= 0) d0_real = TMath::Abs(mt->D0Corrected(*vertices->At(nVertex)));
443 +  else            {
444 +    Double_t distVtx = 999.0;
445 +    Int_t closestVtx = 0;
446 +    for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){
447 +      double dz = TMath::Abs(mt->DzCorrected(*vertices->At(nv)));
448 +      if(dz < distVtx) {
449 +        distVtx    = dz;
450 +        closestVtx = nv;
451 +      }
452 +    }
453 +    d0_real = TMath::Abs(mt->D0Corrected(*vertices->At(closestVtx)));
454 +  }
455 +  if(d0_real < fD0Cut) d0cut = kTRUE;
456 +  
457 +  return d0cut;
458 + }
459 +
460 + //--------------------------------------------------------------------------------------------------
461 + Bool_t MuonTools::PassD0Cut(const Muon *mu, const BeamSpotCol *beamspots, Double_t fD0Cut)
462 + {
463 +  Bool_t d0cut = kFALSE;
464 +  const Track *mt = mu->BestTrk();
465 +  if (!mt) return kFALSE;
466 +
467 +  // d0 cut
468 +  Double_t d0_real = 99999;
469 +  for(UInt_t i0 = 0; i0 < beamspots->GetEntries(); i0++) {
470 +    Double_t pD0 = mt->D0Corrected(*beamspots->At(i0));
471 +    if(TMath::Abs(pD0) < TMath::Abs(d0_real)) d0_real = TMath::Abs(pD0);
472 +  }
473 +  if(d0_real < fD0Cut) d0cut = kTRUE;
474 +  
475 +  return d0cut;
476 + }
477 +
478 + //--------------------------------------------------------------------------------------------------
479 + Bool_t MuonTools::PassDZCut(const Muon *mu, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex)
480 + {
481 +  Bool_t dzcut = kFALSE;
482 +  const Track *mt = mu->BestTrk();
483 +  if (!mt) return kFALSE;
484 +
485 +  if( nVertex >= (int) vertices->GetEntries() )
486 +    nVertex = vertices->GetEntries() - 1;
487 +
488 +  Double_t distVtx = 999.0;
489 +  if(nVertex >= 0) distVtx = TMath::Abs(mt->DzCorrected(*vertices->At(nVertex)));
490 +  else {
491 +    for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){
492 +      double dz = TMath::Abs(mt->DzCorrected(*vertices->At(nv)));
493 +      if(dz < distVtx) {
494 +        distVtx = dz;
495 +      }
496 +    }
497 +  }
498 +
499 +  if(distVtx < fDZCut) dzcut = kTRUE;
500 +  
501 +  return dzcut;
502 + }
503 +
504 + //--------------------------------------------------------------------------------------------------
505 + Bool_t MuonTools::PassSoftMuonCut(const Muon *mu, const VertexCol *vertices, const Double_t fDZCut,
506 +                                  const Bool_t applyIso)
507 + {
508 +  if(mu->Pt() <= 3.0) return kFALSE;
509 +
510 +  if(!mu->IsTrackerMuon()) return kFALSE;
511 +  
512 +  if(!mu->Quality().Quality(MuonQuality::TMLastStationAngTight)) return kFALSE;
513 +
514 +  if(mu->BestTrk()->NHits() <= 10) return kFALSE;
515 +
516 +  if(!PassD0Cut(mu, vertices, 0.2, 0)) return kFALSE;
517 +
518 +  if(!PassDZCut(mu, vertices, fDZCut, 0)) return kFALSE;
519 +
520 +  if(applyIso == kTRUE){
521 +    Double_t totalIso = 1.0 * mu->IsoR03SumPt() +
522 +                        1.0 * mu->IsoR03EmEt() +
523 +                        1.0 * mu->IsoR03HadEt();
524 +    if (totalIso < (mu->Pt()*0.10) && mu->Pt() > 20.0) return kFALSE;
525 +  }
526 +
527 +  return kTRUE;
528 + }
529 +
530 + Double_t MuonTools::MuonEffectiveArea(EMuonEffectiveAreaType type, Double_t Eta,
531 +                                      EMuonEffectiveAreaTarget EffectiveAreaTarget) {
532 +
533 +  Double_t EffectiveArea = 0;
534 +  if (fabs(Eta) < 1.0) {
535 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
536 +    if (type == kMuNeutralIso03) EffectiveArea = 0.080;
537 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
538 +    if (type == kMuNeutralIso04) EffectiveArea = 0.163;
539 +    if (type == kMuHadEnergy)    EffectiveArea = 0.000;
540 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
541 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
542 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.016;
543 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
544 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
545 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
546 +    if (type == kMuEMIso03)      EffectiveArea = 0.080;
547 +    if (type == kMuHadIso03)     EffectiveArea = 0.025;
548 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
549 +    if (type == kMuEMIso05)      EffectiveArea = 0.290;
550 +    if (type == kMuHadIso05)     EffectiveArea = 0.091;
551 +  } else if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) {
552 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
553 +    if (type == kMuNeutralIso03) EffectiveArea = 0.083;
554 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
555 +    if (type == kMuNeutralIso04) EffectiveArea = 0.168;
556 +    if (type == kMuHadEnergy)    EffectiveArea = 0.005;
557 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
558 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
559 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.041;
560 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
561 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
562 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
563 +    if (type == kMuEMIso03)      EffectiveArea = 0.043;
564 +    if (type == kMuHadIso03)     EffectiveArea = 0.028;
565 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
566 +    if (type == kMuEMIso05)      EffectiveArea = 0.184;
567 +    if (type == kMuHadIso05)     EffectiveArea = 0.106;
568 +  } else if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) {
569 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
570 +    if (type == kMuNeutralIso03) EffectiveArea = 0.060;
571 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
572 +    if (type == kMuNeutralIso04) EffectiveArea = 0.131;
573 +    if (type == kMuHadEnergy)    EffectiveArea = 0.020;
574 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
575 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
576 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.072;
577 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
578 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
579 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
580 +    if (type == kMuEMIso03)      EffectiveArea = 0.025;
581 +    if (type == kMuHadIso03)     EffectiveArea = 0.036;
582 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
583 +    if (type == kMuEMIso05)      EffectiveArea = 0.124;
584 +    if (type == kMuHadIso05)     EffectiveArea = 0.140;
585 +  } else if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.25 ) {
586 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
587 +    if (type == kMuNeutralIso03) EffectiveArea = 0.066;
588 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
589 +    if (type == kMuNeutralIso04) EffectiveArea = 0.149;
590 +    if (type == kMuHadEnergy)    EffectiveArea = 0.056;
591 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
592 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
593 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.148;
594 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
595 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
596 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
597 +    if (type == kMuEMIso03)      EffectiveArea = 0.025;
598 +    if (type == kMuHadIso03)     EffectiveArea = 0.050;
599 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
600 +    if (type == kMuEMIso05)      EffectiveArea = 0.120;
601 +    if (type == kMuHadIso05)     EffectiveArea = 0.186;
602 +  } else if (fabs(Eta) >= 2.25 && fabs(Eta) < 2.4 ) {
603 +    if (type == kMuChargedIso03) EffectiveArea = 0.000;
604 +    if (type == kMuNeutralIso03) EffectiveArea = 0.098;
605 +    if (type == kMuChargedIso04) EffectiveArea = 0.000;
606 +    if (type == kMuNeutralIso04) EffectiveArea = 0.200;
607 +    if (type == kMuHadEnergy)    EffectiveArea = 0.093;
608 +    if (type == kMuHoEnergy)     EffectiveArea = 0.000;
609 +    if (type == kMuEmEnergy)     EffectiveArea = 0.000;
610 +    if (type == kMuHadS9Energy)  EffectiveArea = 0.260;
611 +    if (type == kMuHoS9Energy)   EffectiveArea = 0.000;
612 +    if (type == kMuEmS9Energy)   EffectiveArea = 0.000;
613 +    if (type == kMuTrkIso03)     EffectiveArea = 0.000;
614 +    if (type == kMuEMIso03)      EffectiveArea = 0.027;
615 +    if (type == kMuHadIso03)     EffectiveArea = 0.060;
616 +    if (type == kMuTrkIso05)     EffectiveArea = 0.000;
617 +    if (type == kMuEMIso05)      EffectiveArea = 0.139;
618 +    if (type == kMuHadIso05)     EffectiveArea = 0.228;
619 +  }
620 +
621 +
622 +  //NoCorrections
623 +  if (EffectiveAreaTarget == kMuEANoCorr) {
624 +    return 0.0;
625 +  }
626 +  //2011 Data Effective Areas
627 +  if (EffectiveAreaTarget == kMuEAData2011) {
628 +    if (type == kMuGammaIsoDR0p0To0p1) {
629 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
630 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
631 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.002;
632 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
633 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
634 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.005;
635 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
636 +    }
637 +    if (type == kMuGammaIsoDR0p1To0p2) {
638 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.011;
639 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
640 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.005;
641 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
642 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.008;
643 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.011;
644 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
645 +    }
646 +    if (type == kMuGammaIsoDR0p2To0p3) {
647 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
648 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.016;
649 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.010;
650 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.014;
651 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.017;
652 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.021;
653 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
654 +    }
655 +    if (type == kMuGammaIsoDR0p3To0p4) {
656 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.036;
657 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
658 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
659 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.023;
660 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.028;
661 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.032;
662 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.030;
663 +    }
664 +    if (type == kMuGammaIsoDR0p4To0p5) {
665 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.051;
666 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.037;
667 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.028;
668 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
669 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.042;
670 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.052;
671 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.054;
672 +    }
673 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
674 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
675 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.001;
676 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.001;
677 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.001;
678 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.005;
679 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.007;
680 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.000;
681 +    }
682 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
683 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
684 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
685 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
686 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
687 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
688 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.014;
689 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.008;
690 +    }
691 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
692 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.010;
693 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
694 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
695 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.017;
696 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
697 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
698 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.022;
699 +    }
700 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
701 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.015;
702 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
703 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.024;
704 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
705 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.038;
706 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.038;
707 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.077;
708 +    }
709 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
710 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.020;
711 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
712 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.033;
713 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.045;
714 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.051;
715 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.114;
716 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.195;
717 +    }
718 +  }
719 +
720 +  //Summer11 MC Effective Areas
721 +  else if (EffectiveAreaTarget == kMuEASummer11MC) {
722 +    //Fall11 MC Effective Areas
723 +    if (type == kMuGammaIsoDR0p0To0p1) {
724 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.000;
725 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.000;
726 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
727 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
728 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
729 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.006;
730 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.017;
731 +    }
732 +    if (type == kMuGammaIsoDR0p1To0p2) {
733 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
734 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
735 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
736 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
737 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
738 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.015;
739 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.007;
740 +    }
741 +    if (type == kMuGammaIsoDR0p2To0p3) {
742 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
743 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.018;
744 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.013;
745 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
746 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.024;
747 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.036;
748 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.030;
749 +    }
750 +    if (type == kMuGammaIsoDR0p3To0p4) {
751 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.038;
752 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.027;
753 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.019;
754 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
755 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.041;
756 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.062;
757 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.058;
758 +    }
759 +    if (type == kMuGammaIsoDR0p4To0p5) {
760 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.055;
761 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.038;
762 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.032;
763 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.052;
764 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.066;
765 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.093;
766 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.074;
767 +    }
768 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
769 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
770 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.005;
771 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
772 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
773 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
774 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.003;
775 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
776 +    }
777 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
778 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
779 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.006;
780 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
781 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
782 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.009;
783 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.013;
784 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.012;
785 +    }
786 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
787 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
788 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.013;
789 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.015;
790 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
791 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.020;
792 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
793 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.017;
794 +    }
795 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
796 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
797 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.019;
798 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.021;
799 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.025;
800 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.030;
801 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.044;
802 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.082;
803 +    }
804 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
805 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.016;
806 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
807 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.030;
808 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.038;
809 +     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.048;
810 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.118;
811 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.168;
812 +    }
813 +  }
814 +
815 +  //Fall11 MC Effective Areas
816 +  else if (EffectiveAreaTarget == kMuEAFall11MC) {
817 +    //Fall11 MC Effective Areas
818 +    if (type == kMuGammaIsoDR0p0To0p1) {
819 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
820 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
821 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.003;
822 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
823 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.003;
824 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.011;
825 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.003;
826 +    }
827 +    if (type == kMuGammaIsoDR0p1To0p2) {
828 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
829 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
830 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
831 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.012;
832 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
833 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.024;
834 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.021;
835 +    }
836 +    if (type == kMuGammaIsoDR0p2To0p3) {
837 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.026;
838 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.020;
839 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.012;
840 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.022;
841 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.027;
842 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.034;
843 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.055;
844 +    }
845 +    if (type == kMuGammaIsoDR0p3To0p4) {
846 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.042;
847 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.033;
848 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.022;
849 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.036;
850 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.059;
851 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.068;
852 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.083;
853 +    }
854 +    if (type == kMuGammaIsoDR0p4To0p5) {
855 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.060;
856 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.043;
857 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.036;
858 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.055;
859 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.092;
860 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.115;
861 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.128;
862 +    }
863 +    if (type == kMuNeutralHadronIsoDR0p0To0p1) {
864 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
865 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.004;
866 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.004;
867 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.004;
868 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
869 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.014;
870 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.011;
871 +    }
872 +    if (type == kMuNeutralHadronIsoDR0p1To0p2) {
873 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
874 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
875 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
876 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
877 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.015;
878 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.017;
879 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.014;
880 +    }
881 +    if (type == kMuNeutralHadronIsoDR0p2To0p3) {
882 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
883 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
884 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.016;
885 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.018;
886 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.022;
887 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.026;
888 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.021;
889 +    }
890 +    if (type == kMuNeutralHadronIsoDR0p3To0p4) {
891 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.013;
892 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
893 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.026;
894 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
895 +      if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.037;
896 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.042;
897 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.086;
898 +    }
899 +    if (type == kMuNeutralHadronIsoDR0p4To0p5) {
900 +      if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.017;
901 +      if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
902 +      if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.035;
903 +      if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.046;
904 +     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.063;
905 +      if (fabs(Eta) >= 2.3 && fabs(Eta) < 2.4 ) EffectiveArea = 0.135;
906 +      if (fabs(Eta) >= 2.4) EffectiveArea = 0.200;
907 +    }
908 +  }
909 +
910 +  return EffectiveArea;
911 + }
912 +
913  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines