ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/MuonTools.cc
Revision: 1.29
Committed: Mon May 28 06:43:33 2012 UTC (12 years, 11 months ago) by ceballos
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a, Mit_028a, HEAD
Changes since 1.28: +2 -2 lines
Log Message:
changed cut on soft muons

File Contents

# User Rev Content
1 ceballos 1.29 // $Id: MuonTools.cc,v 1.28 2012/05/17 13:25:30 anlevin Exp $
2 loizides 1.5
3 pharris 1.2 #include "MitPhysics/Utils/interface/MuonTools.h"
4 loizides 1.5 #include <TFile.h>
5    
6 loizides 1.10 ClassImp(mithep::MuonTools)
7    
8 pharris 1.1 using namespace mithep;
9    
10 loizides 1.5 //--------------------------------------------------------------------------------------------------
11     MuonTools::MuonTools(const char *mutemp, const char *pitemp) :
12     fIsInit(kFALSE),
13     fmuon_em_etaEmi(0),
14     fmuon_had_etaEmi(0),
15     fmuon_had_etaTmi(0),
16     fmuon_em_etaB(0),
17     fmuon_had_etaB(0),
18     fmuon_ho_etaB(0),
19     fmuon_had_etaTpl(0),
20     fmuon_em_etaEpl(0),
21     fmuon_had_etaEpl(0),
22 pharris 1.1 fpion_em_etaEmi(0),
23     fpion_had_etaEmi(0),
24     fpion_had_etaTmi(0),
25     fpion_em_etaB(0),
26     fpion_had_etaB(0),
27     fpion_ho_etaB(0),
28     fpion_had_etaTpl(0),
29     fpion_em_etaEpl(0),
30 loizides 1.5 fpion_had_etaEpl(0)
31     {
32     // Constructor.
33    
34     if (mutemp && pitemp)
35     Init(mutemp, pitemp);
36     }
37    
38     //--------------------------------------------------------------------------------------------------
39     MuonTools::~MuonTools()
40     {
41     // Destructor.
42    
43     DeleteHistos();
44     }
45    
46     //--------------------------------------------------------------------------------------------------
47     void MuonTools::DeleteHistos()
48     {
49     // Delete histograms.
50    
51     if (fIsInit) {
52     delete fpion_em_etaEmi;
53     delete fpion_had_etaEmi;
54     delete fpion_had_etaTmi;
55     delete fpion_em_etaB;
56     delete fpion_had_etaB;
57     delete fpion_ho_etaB;
58     delete fpion_had_etaTpl;
59     delete fpion_em_etaEpl;
60     delete fpion_had_etaEpl;
61     delete fmuon_em_etaEmi;
62     delete fmuon_had_etaEmi;
63     delete fmuon_had_etaTmi;
64     delete fmuon_em_etaB;
65     delete fmuon_had_etaB;
66     delete fmuon_ho_etaB;
67     delete fmuon_had_etaTpl;
68     delete fmuon_em_etaEpl;
69     delete fmuon_had_etaEpl;
70     fpion_em_etaEmi = 0;
71     fpion_had_etaEmi = 0;
72     fpion_had_etaTmi = 0;
73     fpion_em_etaB = 0;
74     fpion_had_etaB = 0;
75     fpion_ho_etaB = 0;
76     fpion_had_etaTpl = 0;
77     fpion_em_etaEpl = 0;
78     fpion_had_etaEpl = 0;
79     fmuon_em_etaEmi = 0;
80     fmuon_had_etaEmi = 0;
81     fmuon_had_etaTmi = 0;
82     fmuon_em_etaB = 0;
83     fmuon_had_etaB = 0;
84     fmuon_ho_etaB = 0;
85     fmuon_had_etaTpl = 0;
86     fmuon_em_etaEpl = 0;
87     fmuon_had_etaEpl = 0;
88     fIsInit = kFALSE;
89     }
90     }
91    
92     //--------------------------------------------------------------------------------------------------
93     Double_t MuonTools::GetCaloCompatability(const Muon *iMuon,
94     Bool_t iEMSpecial, Bool_t iCorrectedHCAL) const
95     {
96 loizides 1.9 // 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 loizides 1.5
99     Double_t lEta = iMuon->Eta();
100     Double_t aEta = TMath::Abs(lEta);
101     if (aEta > 2.5)
102     return 0.5;
103    
104     Double_t lP = iMuon->P();
105     if (lP >= 2000.)
106     lP = 1999.9;
107     if(lP < 0. )
108     return 0.5;
109    
110     Double_t lEM = -5.;
111     if (!iEMSpecial || iMuon->EmEnergy() != 0.)
112     lEM = iMuon->EmEnergy();
113    
114     Double_t lHad = iMuon->HadEnergy();
115     Double_t lHO = iMuon->HoEnergy();;
116    
117     TH2D *lTMuonHad = 0;
118     TH2D *lTPionHad = 0;
119     TH2D *lTMuonHo = 0;
120     TH2D *lTPionHo = 0;
121     TH2D *lTMuonEm = 0;
122     TH2D *lTPionEm = 0;
123    
124     if (aEta >= 1.27) {
125     if (iCorrectedHCAL)
126     lHad *= 1.8/2.2;
127     if (lEta > 0) {
128 pharris 1.1 lTPionHad = fpion_had_etaEpl;
129     lTMuonHad = fmuon_had_etaEpl;
130     } else {
131     lTPionHad = fpion_had_etaEmi;
132     lTMuonHad = fmuon_had_etaEmi;
133     }
134     }
135 loizides 1.5
136     if (aEta < 1.27 && aEta >= 1.1) {
137     if (iCorrectedHCAL)
138     lHad *= (1.8/(-2.2*aEta+5.5));
139     if (lEta > 0) {
140 pharris 1.1 lTPionHad = fpion_had_etaTpl;
141     lTMuonHad = fmuon_had_etaTpl;
142     } else {
143     lTPionHad = fpion_had_etaTmi;
144     lTMuonHad = fmuon_had_etaTmi;
145     }
146     }
147 loizides 1.5
148     if (aEta < 1.1) {
149     if(iCorrectedHCAL)
150 loizides 1.7 lHad *= TMath::Sin(2*TMath::ATan(TMath::Exp(lEta)));
151 pharris 1.1 lTPionHad = fpion_had_etaB;
152     lTMuonHad = fmuon_had_etaB;
153     }
154 loizides 1.5 if (lEta > 1.479) {
155     lTPionEm = fpion_em_etaEpl;
156     lTMuonEm = fmuon_em_etaEpl;
157 pharris 1.1 }
158 loizides 1.5 if (aEta <= 1.479) {
159 pharris 1.1 lTPionEm = fpion_em_etaB;
160     lTMuonEm = fmuon_em_etaB;
161     }
162 loizides 1.5 if (lEta < -1.479) {
163 pharris 1.1 lTPionEm = fpion_em_etaEmi;
164     lTMuonEm = fmuon_em_etaEmi;
165     }
166 loizides 1.5 if (aEta < 1.28) {
167 pharris 1.1 lTPionHo = fpion_ho_etaB;
168     lTMuonHo = fmuon_ho_etaB;
169     }
170    
171 loizides 1.5 Double_t lPBX = 1.;
172     Double_t lPSX = 1.;
173     Double_t lPBY = 1.;
174     Double_t lPSY = 1.;
175     Double_t lPBZ = 1.;
176     Double_t lPSZ = 1.;
177     if (!Overflow(lTPionEm, lP,lEM))
178     lPBX = lTPionEm ->GetBinContent(lTPionEm ->GetXaxis()->FindBin(lP),
179     lTPionEm ->GetYaxis()->FindBin(lEM));
180     if (!Overflow(lTPionHad,lP,lHad))
181     lPBY = lTPionHad->GetBinContent(lTPionHad->GetXaxis()->FindBin(lP),
182     lTPionHad->GetYaxis()->FindBin(lHad));
183     if (!Overflow(lTPionHo, lP,lHO))
184     lPBZ = lTPionHo ->GetBinContent(lTPionHo ->GetXaxis()->FindBin(lP),
185     lTPionHo ->GetYaxis()->FindBin(lHO));
186     if (!Overflow(lTMuonEm, lP,lEM ))
187     lPSX = lTMuonEm ->GetBinContent(lTMuonEm ->GetXaxis()->FindBin(lP),
188     lTMuonEm ->GetYaxis()->FindBin(lEM));
189     if (!Overflow(lTMuonHad,lP,lHad))
190     lPSY = lTMuonHad->GetBinContent(lTMuonHad->GetXaxis()->FindBin(lP),
191     lTMuonHad->GetYaxis()->FindBin(lHad));
192     if (!Overflow(lTMuonHo ,lP,lHO))
193     lPSZ = lTMuonHo ->GetBinContent(lTMuonHo ->GetXaxis()->FindBin(lP),
194     lTMuonHo ->GetYaxis()->FindBin(lHO));
195 pharris 1.1
196 loizides 1.5 if (lPSX == 0. || lPBX == 0. || (lEM <= 0. && !iEMSpecial)) {
197     lPSX = 1.;
198     lPBX = 1.;
199     }
200     if (lPSY == 0. || lPBY == 0. || lHad == 0.) {
201     lPSY = 1.;
202     lPBY = 1.;
203     }
204     if (lPSZ == 0. || lPBZ == 0. || lHO == 0.) {
205     lPSZ = 1.;
206     lPBZ = 1.;
207     }
208     if ((lPSX*lPSY*lPSZ+lPBX*lPBY*lPBZ) > 0.)
209     return lPSX*lPSY*lPSZ/(lPSX*lPSY*lPSZ+lPBX*lPBY*lPBZ);
210    
211 pharris 1.1 return 0.5;
212     }
213    
214 loizides 1.5 //--------------------------------------------------------------------------------------------------
215     Bool_t MuonTools::Init(const char *mutemp, const char *pitemp)
216     {
217     // Read histograms from given files.
218    
219     if (fIsInit) {
220     DeleteHistos();
221     }
222    
223     TDirectory::TContext context(0);
224    
225     TFile *muon_templates = TFile::Open(mutemp);
226     if (!muon_templates) {
227     Fatal("Init", "Could not open file %s", mutemp);
228     return kFALSE;
229     }
230     fmuon_em_etaEmi = LoadHisto("em_etaEmi", muon_templates);
231     fmuon_had_etaEmi = LoadHisto("had_etaEmi", muon_templates);
232     fmuon_had_etaTmi = LoadHisto("had_etaTmi", muon_templates);
233     fmuon_em_etaB = LoadHisto("em_etaB", muon_templates);
234     fmuon_had_etaB = LoadHisto("had_etaB", muon_templates);
235     fmuon_ho_etaB = LoadHisto("ho_etaB", muon_templates);
236     fmuon_had_etaTpl = LoadHisto("had_etaTpl", muon_templates);
237     fmuon_em_etaEpl = LoadHisto("em_etaEpl", muon_templates);
238     fmuon_had_etaEpl = LoadHisto("had_etaEpl", muon_templates);
239     muon_templates->Close();
240     delete muon_templates;
241    
242     TFile *pion_templates = TFile::Open(pitemp);
243     if (!pion_templates) {
244     Fatal("Init", "Could not open file %s", pitemp);
245     return kFALSE;
246     }
247    
248     fpion_em_etaEmi = LoadHisto("em_etaEmi", pion_templates);
249     fpion_had_etaEmi = LoadHisto("had_etaEmi", pion_templates);
250     fpion_had_etaTmi = LoadHisto("had_etaTmi", pion_templates);
251     fpion_em_etaB = LoadHisto("em_etaB", pion_templates);
252     fpion_had_etaB = LoadHisto("had_etaB", pion_templates);
253     fpion_ho_etaB = LoadHisto("ho_etaB", pion_templates);
254     fpion_had_etaTpl = LoadHisto("had_etaTpl", pion_templates);
255     fpion_em_etaEpl = LoadHisto("em_etaEpl", pion_templates);
256     fpion_had_etaEpl = LoadHisto("had_etaEpl", pion_templates);
257     pion_templates->Close();
258     delete pion_templates;
259    
260     fIsInit = kTRUE;
261     return kTRUE;
262     }
263    
264     //--------------------------------------------------------------------------------------------------
265     Bool_t MuonTools::IsGood(const mithep::Muon *iMuon, ESelType iSel) const
266     {
267     // Return true if given muon qualifies given selection criterium.
268    
269     Double_t tm2dcut = 0.;
270    
271     switch(iSel) {
272     case kAllArbitrated:
273     if (iMuon->StandaloneTrk() != 0 || iMuon->GlobalTrk()!= 0)
274     return kTRUE;
275     if (iMuon->NSegments() > 0)
276     return kTRUE;
277     break;
278     case kPromptTight:
279     return iMuon->PromptTight(Muon::kAny);
280     break;
281     case kTMOneStationLoose:
282 loizides 1.8 return iMuon->TMOneStation(999999,999999);
283 loizides 1.5 break;
284     case kTMOneStationTight:
285     return iMuon->TMOneStation();
286     break;
287     case kTMLastStationLoose:
288     return iMuon->TMLastStation(999999,999999);
289     break;
290     case kTMLastStationTight:
291     return iMuon->TMLastStation();
292     break;
293     case kTM2DCompatibilityLoose:
294     tm2dcut = 0.7;
295     break;
296     case kTM2DCompatibilityTight:
297     tm2dcut = 1.0;
298     break;
299     default:
300     return kFALSE;
301     break;
302     }
303    
304 loizides 1.8 Double_t lVal = GetSegmentCompatability(iMuon);
305     if (lVal == 0.5) // exclude this border case
306 loizides 1.5 return kFALSE;
307    
308 loizides 1.8 lVal *= 1.2;
309 loizides 1.5 lVal += 0.8*GetCaloCompatability(iMuon,kTRUE,kTRUE);
310     if (lVal > tm2dcut)
311     return kTRUE;
312 loizides 1.8
313 loizides 1.5 return kFALSE;
314     }
315    
316     //--------------------------------------------------------------------------------------------------
317     Double_t MuonTools::GetSegmentCompatability(const mithep::Muon *iMuon) const
318     {
319 loizides 1.9 // Get segment compatability for given muon based on likelihood of well defined
320     // track through chambers.
321 loizides 1.5
322     Int_t lNStationsCrossed = 0;
323     Int_t lNStationsSegment = 0;
324    
325     Int_t lStSegmentmatch[8];
326     Int_t lStCrossed[8];
327     Double_t lStBoundary[8];
328    
329     Double_t lWeight = 0.;
330     for (Int_t i0 = 0; i0 < 8; ++i0) {
331     lStBoundary[i0] = 0.;
332     if(iMuon->GetTrackDist(i0) < 999999. ) {
333     lNStationsCrossed++;
334     lStCrossed[i0] = 1;
335     if (iMuon->GetTrackDist(i0) > -10. )
336     lStBoundary[i0] = iMuon->GetTrackDist(i0);
337     } else
338     lStCrossed[i0] = 0;
339    
340 loizides 1.7 if(iMuon->GetDX(i0) < 999999.) {
341 loizides 1.5 lNStationsSegment++;
342     lStSegmentmatch[i0] = 1;
343     } else
344     lStSegmentmatch[i0] = 0;
345    
346     }
347    
348     if (lNStationsCrossed == 0)
349     return 0.5;
350    
351     Double_t lStWeight[8];
352     Int_t lPCross = -1;
353     const Double_t lAtWeight = 0.5;
354     for (Int_t i0 = 0; i0< 8; ++i0) {
355     lStWeight[i0] = 0;
356     if (lStCrossed[i0] > 0) {
357     lPCross++;
358    
359     switch (lNStationsCrossed) {
360     case 1 :
361     lStWeight[i0] = 1.;
362     break;
363     case 2 :
364     if (lPCross == 0 )
365     lStWeight[i0] = 0.33;
366     else
367     lStWeight[i0] = 0.67;
368     break;
369     case 3 :
370     if (lPCross == 0)
371     lStWeight[i0] = 0.23;
372     else if (lPCross == 1)
373     lStWeight[i0] = 0.33;
374     else
375     lStWeight[i0] = 0.44;
376     break;
377     case 4 :
378     if (lPCross == 0)
379     lStWeight[i0] = 0.10;
380     else if (lPCross == 1)
381     lStWeight[i0] = 0.20;
382     else if (lPCross == 2)
383     lStWeight[i0] = 0.30;
384     else
385     lStWeight[i0] = 0.40;
386     break;
387     default :
388     lStWeight[i0] = 1./lNStationsCrossed;
389     }
390    
391     if (lStSegmentmatch[i0] <= 0 && lStBoundary[i0] != 0.)
392     lStWeight[i0] *= lAtWeight*0.5*(TMath::Erf(lStBoundary[i0]/6.)+1.);
393     else if (lStSegmentmatch[i0] <= 0 && lStBoundary[i0] == 0)
394     lStWeight[i0] = 0.;
395    
396     if (lStSegmentmatch[i0] > 0) {
397     Double_t lP2X = TMath::Power(iMuon->GetPullX(i0),2.);
398     Double_t lP2Y = TMath::Power(iMuon->GetPullY(i0),2.);
399     Double_t lD2X = TMath::Power(iMuon->GetDX(i0),2.);
400     Double_t lD2Y = TMath::Power(iMuon->GetDY(i0),2.);
401     if (iMuon->GetDY(i0) < 999999 && iMuon->GetDX(i0) < 999999)
402     lStWeight[i0] *= SigWeight(TMath::Sqrt(lD2X+lD2Y),TMath::Sqrt(lP2X+lP2Y));
403     else if (iMuon->GetDY(i0) >= 999999 && i0 < 4)
404     lStWeight[i0] *= SigWeight(iMuon->GetDX(i0),iMuon->GetPullX(i0));
405     else if(i0 < 4)
406     lStWeight[i0] *= SigWeight(iMuon->GetDY(i0),iMuon->GetPullY(i0));
407     }
408     }
409     lWeight += lStWeight[i0];
410     }
411    
412     return lWeight;
413     }
414    
415     //--------------------------------------------------------------------------------------------------
416     TH2D *MuonTools::LoadHisto(const char *name, TFile *file) const
417     {
418     // Load histogram with given name from given file and return it.
419    
420     TH2D *ret = dynamic_cast<TH2D*>(file->Get(name));
421     if (!ret) {
422     Fatal("LoadHisto", "Could not load histogram %s from file %s", name, file->GetName());
423     return 0;
424 pharris 1.1 }
425 loizides 1.5 ret->SetDirectory(0);
426     return ret;
427 pharris 1.1 }
428 ceballos 1.11 //--------------------------------------------------------------------------------------------------
429 ceballos 1.15 Bool_t MuonTools::PassD0Cut(const Muon *mu, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex)
430 ceballos 1.11 {
431     Bool_t d0cut = kFALSE;
432     const Track *mt = mu->BestTrk();
433     if (!mt) return kFALSE;
434    
435 fabstoec 1.26 if( nVertex >= (int) vertices->GetEntries() )
436     nVertex = vertices->GetEntries() - 1;
437    
438 ceballos 1.11 Double_t d0_real = 1e30;
439 ceballos 1.15 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 ceballos 1.11 }
450 ceballos 1.15 d0_real = TMath::Abs(mt->D0Corrected(*vertices->At(closestVtx)));
451 ceballos 1.11 }
452     if(d0_real < fD0Cut) d0cut = kTRUE;
453    
454     return d0cut;
455     }
456    
457     //--------------------------------------------------------------------------------------------------
458 ceballos 1.14 Bool_t MuonTools::PassD0Cut(const Muon *mu, const BeamSpotCol *beamspots, Double_t fD0Cut)
459 ceballos 1.11 {
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 loizides 1.5
475 ceballos 1.12 //--------------------------------------------------------------------------------------------------
476 ceballos 1.16 Bool_t MuonTools::PassDZCut(const Muon *mu, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex)
477 ceballos 1.15 {
478     Bool_t dzcut = kFALSE;
479     const Track *mt = mu->BestTrk();
480     if (!mt) return kFALSE;
481    
482 fabstoec 1.26 if( nVertex >= (int) vertices->GetEntries() )
483     nVertex = vertices->GetEntries() - 1;
484    
485 ceballos 1.15 Double_t distVtx = 999.0;
486 ceballos 1.16 if(nVertex >= 0) distVtx = TMath::Abs(mt->DzCorrected(*vertices->At(nVertex)));
487     else {
488     for(UInt_t nv=0; nv<vertices->GetEntries(); nv++){
489     double dz = TMath::Abs(mt->DzCorrected(*vertices->At(nv)));
490     if(dz < distVtx) {
491     distVtx = dz;
492     }
493 ceballos 1.15 }
494     }
495    
496     if(distVtx < fDZCut) dzcut = kTRUE;
497    
498     return dzcut;
499     }
500    
501     //--------------------------------------------------------------------------------------------------
502 ceballos 1.22 Bool_t MuonTools::PassSoftMuonCut(const Muon *mu, const VertexCol *vertices, const Double_t fDZCut,
503     const Bool_t applyIso)
504 ceballos 1.12 {
505     if(mu->Pt() <= 3.0) return kFALSE;
506 sixie 1.18
507 ceballos 1.12 if(!mu->IsTrackerMuon()) return kFALSE;
508    
509     if(!mu->Quality().Quality(MuonQuality::TMLastStationAngTight)) return kFALSE;
510 ceballos 1.21
511 ceballos 1.29 if(mu->NTrkLayersHit() <= 5) return kFALSE;
512 ceballos 1.12
513 ceballos 1.17 if(!PassD0Cut(mu, vertices, 0.2, 0)) return kFALSE;
514    
515 ceballos 1.20 if(!PassDZCut(mu, vertices, fDZCut, 0)) return kFALSE;
516 ceballos 1.21
517 ceballos 1.22 if(applyIso == kTRUE){
518     Double_t totalIso = 1.0 * mu->IsoR03SumPt() +
519     1.0 * mu->IsoR03EmEt() +
520     1.0 * mu->IsoR03HadEt();
521     if (totalIso < (mu->Pt()*0.10) && mu->Pt() > 20.0) return kFALSE;
522     }
523 ceballos 1.13
524 ceballos 1.12 return kTRUE;
525     }
526 sixie 1.23
527 sixie 1.25 Double_t MuonTools::MuonEffectiveArea(EMuonEffectiveAreaType type, Double_t Eta,
528     EMuonEffectiveAreaTarget EffectiveAreaTarget) {
529 sixie 1.23
530     Double_t EffectiveArea = 0;
531     if (fabs(Eta) < 1.0) {
532     if (type == kMuChargedIso03) EffectiveArea = 0.000;
533     if (type == kMuNeutralIso03) EffectiveArea = 0.080;
534     if (type == kMuChargedIso04) EffectiveArea = 0.000;
535     if (type == kMuNeutralIso04) EffectiveArea = 0.163;
536     if (type == kMuHadEnergy) EffectiveArea = 0.000;
537     if (type == kMuHoEnergy) EffectiveArea = 0.000;
538     if (type == kMuEmEnergy) EffectiveArea = 0.000;
539     if (type == kMuHadS9Energy) EffectiveArea = 0.016;
540     if (type == kMuHoS9Energy) EffectiveArea = 0.000;
541     if (type == kMuEmS9Energy) EffectiveArea = 0.000;
542 sixie 1.24 if (type == kMuTrkIso03) EffectiveArea = 0.000;
543     if (type == kMuEMIso03) EffectiveArea = 0.080;
544     if (type == kMuHadIso03) EffectiveArea = 0.025;
545     if (type == kMuTrkIso05) EffectiveArea = 0.000;
546     if (type == kMuEMIso05) EffectiveArea = 0.290;
547     if (type == kMuHadIso05) EffectiveArea = 0.091;
548 sixie 1.23 } else if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) {
549     if (type == kMuChargedIso03) EffectiveArea = 0.000;
550     if (type == kMuNeutralIso03) EffectiveArea = 0.083;
551     if (type == kMuChargedIso04) EffectiveArea = 0.000;
552     if (type == kMuNeutralIso04) EffectiveArea = 0.168;
553     if (type == kMuHadEnergy) EffectiveArea = 0.005;
554     if (type == kMuHoEnergy) EffectiveArea = 0.000;
555     if (type == kMuEmEnergy) EffectiveArea = 0.000;
556     if (type == kMuHadS9Energy) EffectiveArea = 0.041;
557     if (type == kMuHoS9Energy) EffectiveArea = 0.000;
558     if (type == kMuEmS9Energy) EffectiveArea = 0.000;
559 sixie 1.24 if (type == kMuTrkIso03) EffectiveArea = 0.000;
560     if (type == kMuEMIso03) EffectiveArea = 0.043;
561     if (type == kMuHadIso03) EffectiveArea = 0.028;
562     if (type == kMuTrkIso05) EffectiveArea = 0.000;
563     if (type == kMuEMIso05) EffectiveArea = 0.184;
564     if (type == kMuHadIso05) EffectiveArea = 0.106;
565 sixie 1.23 } else if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) {
566     if (type == kMuChargedIso03) EffectiveArea = 0.000;
567     if (type == kMuNeutralIso03) EffectiveArea = 0.060;
568     if (type == kMuChargedIso04) EffectiveArea = 0.000;
569     if (type == kMuNeutralIso04) EffectiveArea = 0.131;
570     if (type == kMuHadEnergy) EffectiveArea = 0.020;
571     if (type == kMuHoEnergy) EffectiveArea = 0.000;
572     if (type == kMuEmEnergy) EffectiveArea = 0.000;
573     if (type == kMuHadS9Energy) EffectiveArea = 0.072;
574     if (type == kMuHoS9Energy) EffectiveArea = 0.000;
575     if (type == kMuEmS9Energy) EffectiveArea = 0.000;
576 sixie 1.24 if (type == kMuTrkIso03) EffectiveArea = 0.000;
577     if (type == kMuEMIso03) EffectiveArea = 0.025;
578     if (type == kMuHadIso03) EffectiveArea = 0.036;
579     if (type == kMuTrkIso05) EffectiveArea = 0.000;
580     if (type == kMuEMIso05) EffectiveArea = 0.124;
581     if (type == kMuHadIso05) EffectiveArea = 0.140;
582 sixie 1.23 } else if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.25 ) {
583     if (type == kMuChargedIso03) EffectiveArea = 0.000;
584     if (type == kMuNeutralIso03) EffectiveArea = 0.066;
585     if (type == kMuChargedIso04) EffectiveArea = 0.000;
586     if (type == kMuNeutralIso04) EffectiveArea = 0.149;
587     if (type == kMuHadEnergy) EffectiveArea = 0.056;
588     if (type == kMuHoEnergy) EffectiveArea = 0.000;
589     if (type == kMuEmEnergy) EffectiveArea = 0.000;
590     if (type == kMuHadS9Energy) EffectiveArea = 0.148;
591     if (type == kMuHoS9Energy) EffectiveArea = 0.000;
592     if (type == kMuEmS9Energy) EffectiveArea = 0.000;
593 sixie 1.24 if (type == kMuTrkIso03) EffectiveArea = 0.000;
594     if (type == kMuEMIso03) EffectiveArea = 0.025;
595     if (type == kMuHadIso03) EffectiveArea = 0.050;
596     if (type == kMuTrkIso05) EffectiveArea = 0.000;
597     if (type == kMuEMIso05) EffectiveArea = 0.120;
598     if (type == kMuHadIso05) EffectiveArea = 0.186;
599 sixie 1.23 } else if (fabs(Eta) >= 2.25 && fabs(Eta) < 2.4 ) {
600     if (type == kMuChargedIso03) EffectiveArea = 0.000;
601     if (type == kMuNeutralIso03) EffectiveArea = 0.098;
602     if (type == kMuChargedIso04) EffectiveArea = 0.000;
603     if (type == kMuNeutralIso04) EffectiveArea = 0.200;
604     if (type == kMuHadEnergy) EffectiveArea = 0.093;
605     if (type == kMuHoEnergy) EffectiveArea = 0.000;
606     if (type == kMuEmEnergy) EffectiveArea = 0.000;
607     if (type == kMuHadS9Energy) EffectiveArea = 0.260;
608     if (type == kMuHoS9Energy) EffectiveArea = 0.000;
609     if (type == kMuEmS9Energy) EffectiveArea = 0.000;
610 sixie 1.24 if (type == kMuTrkIso03) EffectiveArea = 0.000;
611     if (type == kMuEMIso03) EffectiveArea = 0.027;
612     if (type == kMuHadIso03) EffectiveArea = 0.060;
613     if (type == kMuTrkIso05) EffectiveArea = 0.000;
614     if (type == kMuEMIso05) EffectiveArea = 0.139;
615     if (type == kMuHadIso05) EffectiveArea = 0.228;
616 sixie 1.23 }
617 sixie 1.25
618     if (EffectiveAreaTarget == kMuEANoCorr) {
619     return 0.0;
620     }
621 ceballos 1.27
622     //2012 Data Effective Areas
623     else if (EffectiveAreaTarget == kMuEAData2012) {
624 anlevin 1.28 if (type == kMuGammaIsoDR0p0To0p1) {
625     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
626     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
627     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.005;
628     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.023;
629     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
630     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.000;
631     }
632     if (type == kMuGammaIsoDR0p1To0p2) {
633     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.013;
634     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
635     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
636     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.010;
637     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
638     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.016;
639     }
640     if (type == kMuGammaIsoDR0p2To0p3) {
641     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.027;
642     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
643     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.012;
644     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.018;
645     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
646     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.025;
647     }
648     if (type == kMuGammaIsoDR0p3To0p4) {
649     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.044;
650     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.031;
651     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.019;
652     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.024;
653     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.021;
654     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.040;
655     }
656     if (type == kMuGammaIsoDR0p4To0p5) {
657     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.060;
658     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.045;
659     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.027;
660     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.037;
661     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.043;
662     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.052;
663     }
664     if (type == kMuNeutralHadronIsoDR0p0To0p1) {
665     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.000;
666     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.003;
667     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
668     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
669     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
670     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.003;
671     }
672     if (type == kMuNeutralHadronIsoDR0p1To0p2) {
673     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
674     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.005;
675     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.003;
676     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.004;
677     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.002;
678     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.007;
679     }
680     if (type == kMuNeutralHadronIsoDR0p2To0p3) {
681     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.006;
682     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.009;
683     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
684     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
685     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.013;
686     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.015;
687     }
688     if (type == kMuNeutralHadronIsoDR0p3To0p4) {
689     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.008;
690     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.013;
691     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.013;
692     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.013;
693     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.013;
694     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.013;
695     }
696     if (type == kMuNeutralHadronIsoDR0p4To0p5) {
697     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.014;
698     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.016;
699     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.015;
700     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.024;
701     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.023;
702     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.077;
703     }
704    
705    
706    
707 ceballos 1.27 if (type == kMuGammaIso04){
708     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.50419;
709     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.30582;
710     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.19765;
711     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.28723;
712     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.52529;
713     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.48818;
714     }
715     if (type == kMuNeutralHadronIso04){
716     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.16580;
717     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.25904;
718     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.24695;
719     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.22021;
720     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.34045;
721     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.21592;
722     }
723     if (type == kMuGammaAndNeutralHadronIso04){
724     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.674;
725     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.565;
726     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.442;
727     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.515;
728     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.821;
729     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.660;
730     }
731     if (type == kMuGammaAndNeutralHadronIso03){
732     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.382;
733     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.317;
734     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.242;
735     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.326;
736     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.462;
737     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.372;
738     }
739     if (type == kMuGammaAndNeutralHadronIso04Tight){
740     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.340;
741     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.310;
742     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.315;
743     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.415;
744     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.658;
745     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.405;
746     }
747     if (type == kMuGammaAndNeutralHadronIso03Tight){
748     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.207;
749     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.183;
750     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.177;
751     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.271;
752     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.348;
753     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.246;
754     }
755     }
756    
757 sixie 1.25 //2011 Data Effective Areas
758 ceballos 1.27 else if (EffectiveAreaTarget == kMuEAData2011) {
759    
760 sixie 1.25 if (type == kMuGammaIsoDR0p0To0p1) {
761     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
762     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
763     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.002;
764     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
765     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
766 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.005;
767 sixie 1.25 }
768     if (type == kMuGammaIsoDR0p1To0p2) {
769     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.011;
770     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
771     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.005;
772     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
773     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.008;
774 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.011;
775 sixie 1.25 }
776     if (type == kMuGammaIsoDR0p2To0p3) {
777     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
778     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.016;
779     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.010;
780     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.014;
781     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.017;
782 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.021;
783 sixie 1.25 }
784     if (type == kMuGammaIsoDR0p3To0p4) {
785     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.036;
786     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
787     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
788     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.023;
789     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.028;
790 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.032;
791 sixie 1.25 }
792     if (type == kMuGammaIsoDR0p4To0p5) {
793     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.051;
794     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.037;
795     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.028;
796     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
797     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.042;
798 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.052;
799 sixie 1.25 }
800     if (type == kMuNeutralHadronIsoDR0p0To0p1) {
801     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
802     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.001;
803     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.001;
804     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.001;
805     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.005;
806 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.007;
807 sixie 1.25 }
808     if (type == kMuNeutralHadronIsoDR0p1To0p2) {
809     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
810     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
811     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
812     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
813     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
814 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.014;
815 sixie 1.25 }
816     if (type == kMuNeutralHadronIsoDR0p2To0p3) {
817     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.010;
818     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
819     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.017;
820     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.017;
821     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
822 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.024;
823 sixie 1.25 }
824     if (type == kMuNeutralHadronIsoDR0p3To0p4) {
825     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.015;
826     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
827     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.024;
828     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
829     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.038;
830 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.038;
831 sixie 1.25 }
832     if (type == kMuNeutralHadronIsoDR0p4To0p5) {
833     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.020;
834     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
835     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.033;
836     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.045;
837     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.051;
838 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.114;
839     }
840     /// BEGIN FROM SLIDE 11 OF https://indico.cern.ch/getFile.py/access?contribId=1&resId=0&materialId=slides&confId=188494
841     /// NOTE: to be used with the rho from ALL pf candidates within |eta|<2.5
842     if (type == kMuGammaIso03){
843     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.049;
844     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.030;
845     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.022;
846     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.034;
847     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.041;
848     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.048;
849     }
850     if (type == kMuGammaIso04){
851     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.085;
852     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.052;
853     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.038;
854     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.055;
855     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.070;
856     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.081;
857     }
858     if (type == kMuNeutralHadronIso03){
859     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.027;
860     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.039;
861     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.044;
862     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.047;
863     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.055;
864     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.065;
865     }
866     if (type == kMuNeutralHadronIso04){
867     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.046;
868     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.067;
869     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.074;
870     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.083;
871     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.095;
872     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.105;
873     }
874     if (type == kMuGammaAndNeutralHadronIso03){
875     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.076;
876     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.070;
877     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.067;
878     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.082;
879     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.097;
880     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.115;
881     }
882     if (type == kMuGammaAndNeutralHadronIso04){
883     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.132;
884     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.5 ) EffectiveArea = 0.120;
885     if (fabs(Eta) >= 1.5 && fabs(Eta) < 2.0 ) EffectiveArea = 0.114;
886     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.139;
887     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.168;
888     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.189;
889     }
890     /// END FROM SLIDE 11 OF https://indico.cern.ch/getFile.py/access?contribId=1&resId=0&materialId=slides&confId=188494
891    
892     if (type == kMuGammaIso05){
893     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.05317;
894     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.03502;
895     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.03689;
896     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.05221;
897     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.06668;
898     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.0744;
899     }
900     if (type == kMuNeutralIso05) {
901     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.06408;
902     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.07557;
903     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.08864;
904     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.11492;
905     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.13784;
906     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.18745;
907 sixie 1.25 }
908     }
909 ceballos 1.27
910 sixie 1.25 //Summer11 MC Effective Areas
911     else if (EffectiveAreaTarget == kMuEASummer11MC) {
912     if (type == kMuGammaIsoDR0p0To0p1) {
913     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.000;
914     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.000;
915     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
916     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
917     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
918 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.006;
919 sixie 1.25 }
920     if (type == kMuGammaIsoDR0p1To0p2) {
921     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
922     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
923     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
924     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
925     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
926 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.015;
927 sixie 1.25 }
928     if (type == kMuGammaIsoDR0p2To0p3) {
929     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.023;
930     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.018;
931     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.013;
932     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
933     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.024;
934 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.036;
935 sixie 1.25 }
936     if (type == kMuGammaIsoDR0p3To0p4) {
937     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.038;
938     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.027;
939     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.019;
940     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.033;
941     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.041;
942 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.062;
943 sixie 1.25 }
944     if (type == kMuGammaIsoDR0p4To0p5) {
945     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.055;
946     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.038;
947     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.032;
948     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.052;
949     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.066;
950 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.093;
951 sixie 1.25 }
952     if (type == kMuNeutralHadronIsoDR0p0To0p1) {
953     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
954     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.005;
955     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.000;
956     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.000;
957     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.000;
958 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.003;
959 sixie 1.25 }
960     if (type == kMuNeutralHadronIsoDR0p1To0p2) {
961     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
962     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.006;
963     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
964     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.008;
965     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.009;
966 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.013;
967 sixie 1.25 }
968     if (type == kMuNeutralHadronIsoDR0p2To0p3) {
969     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
970     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.013;
971     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.015;
972     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.016;
973     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.020;
974 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.024;
975 sixie 1.25 }
976     if (type == kMuNeutralHadronIsoDR0p3To0p4) {
977     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
978     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.019;
979     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.021;
980     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.025;
981     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.030;
982 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.044;
983 sixie 1.25 }
984     if (type == kMuNeutralHadronIsoDR0p4To0p5) {
985     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.016;
986     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
987     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.030;
988     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.038;
989 ceballos 1.27 if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.048;
990     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.118;
991 sixie 1.25 }
992 ceballos 1.27 }
993    
994 sixie 1.25 //Fall11 MC Effective Areas
995     else if (EffectiveAreaTarget == kMuEAFall11MC) {
996     if (type == kMuGammaIsoDR0p0To0p1) {
997     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.004;
998     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.002;
999     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.003;
1000     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
1001     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.003;
1002 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.011;
1003 sixie 1.25 }
1004     if (type == kMuGammaIsoDR0p1To0p2) {
1005     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.012;
1006     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.008;
1007     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.006;
1008     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.012;
1009     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.019;
1010 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.024;
1011 sixie 1.25 }
1012     if (type == kMuGammaIsoDR0p2To0p3) {
1013     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.026;
1014     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.020;
1015     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.012;
1016     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.022;
1017     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.027;
1018 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.034;
1019 sixie 1.25 }
1020     if (type == kMuGammaIsoDR0p3To0p4) {
1021     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.042;
1022     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.033;
1023     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.022;
1024     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.036;
1025     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.059;
1026 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.068;
1027 sixie 1.25 }
1028     if (type == kMuGammaIsoDR0p4To0p5) {
1029     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.060;
1030     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.043;
1031     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.036;
1032     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.055;
1033     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.092;
1034 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.115;
1035 sixie 1.25 }
1036     if (type == kMuNeutralHadronIsoDR0p0To0p1) {
1037     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.002;
1038     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.004;
1039     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.004;
1040     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.004;
1041     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.010;
1042 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.014;
1043 sixie 1.25 }
1044     if (type == kMuNeutralHadronIsoDR0p1To0p2) {
1045 ceballos 1.27 if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.005;
1046 sixie 1.25 if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.007;
1047     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.009;
1048 ceballos 1.27 if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.009;
1049     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.015;
1050     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.017;
1051 sixie 1.25 }
1052     if (type == kMuNeutralHadronIsoDR0p2To0p3) {
1053     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.009;
1054     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.015;
1055     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.016;
1056     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.018;
1057     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.022;
1058 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.026;
1059 sixie 1.25 }
1060     if (type == kMuNeutralHadronIsoDR0p3To0p4) {
1061     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.013;
1062     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.021;
1063     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.026;
1064     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.032;
1065     if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.037;
1066 ceballos 1.27 if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.042;
1067 sixie 1.25 }
1068     if (type == kMuNeutralHadronIsoDR0p4To0p5) {
1069     if (fabs(Eta) >= 0.0 && fabs(Eta) < 1.0 ) EffectiveArea = 0.017;
1070     if (fabs(Eta) >= 1.0 && fabs(Eta) < 1.479 ) EffectiveArea = 0.026;
1071     if (fabs(Eta) >= 1.479 && fabs(Eta) < 2.0 ) EffectiveArea = 0.035;
1072     if (fabs(Eta) >= 2.0 && fabs(Eta) < 2.2 ) EffectiveArea = 0.046;
1073 ceballos 1.27 if (fabs(Eta) >= 2.2 && fabs(Eta) < 2.3 ) EffectiveArea = 0.063;
1074     if (fabs(Eta) >= 2.3 ) EffectiveArea = 0.135;
1075 sixie 1.25 }
1076     }
1077    
1078 ceballos 1.27 return EffectiveArea;
1079    
1080 sixie 1.23 }
1081    
1082