ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/src/MuonSelection.cc
(Generate patch)

Comparing UserCode/MitHzz4l/Selection/src/MuonSelection.cc (file contents):
Revision 1.1 by khahn, Thu Sep 8 13:33:18 2011 UTC vs.
Revision 1.5 by khahn, Wed Oct 19 15:15:37 2011 UTC

# Line 1 | Line 1
1   #include <math.h>
2 < #include "EWKAnaDefs.hh"
3 < #include "TMuon.hh"
2 > #include "HiggsAnaDefs.hh"
3   #include "MuonSelection.h"
4  
5 + unsigned passSoftMuonSelection( const mithep::TMuon * mu ) {
6  
7 +  int level=0;
8 +  unsigned failmask=0x0;
9 +  
10 +  if(mu->nTkHits < 11 )  
11 +    failmask |= (1<<level);
12 +  level++;
13 +
14 +  if(fabs(mu->d0) > 0.2)
15 +    failmask |= (1<<level);
16 +  level++;
17 +
18 +  if(fabs(mu->dz) > 0.1)
19 +    failmask |= (1<<level);
20 +  level++;
21 +
22 +  if(!(mu->typeBits & kTracker))
23 +    failmask |= (1<<level);
24 +  level++;
25 +
26 +  if(!(mu->qualityBits & kTMLastStationAngTight))
27 +    failmask |= (1<<level);      
28 +  level++;
29 +
30 +  Double_t iso = (mu->trkIso03 + mu->emIso03 + mu->hadIso03)/mu->pt;
31 +  if(mu->pt>20 && iso<0.1)
32 +    failmask |= (1<<level);
33 + }
34 +
35 +
36   unsigned passMuonSelectionZZ( const mithep::TMuon * mu ) {
37    int level=0;
38    unsigned failmask=0x0;
# Line 44 | Line 73 | unsigned passMuonSelectionZZ( const mith
73    return failmask;
74  
75   };
76 +
77 +
78 + //
79 + // Kevin's WW selection
80 + //
81 + unsigned passMuonSelection( const mithep::TMuon * mu ) {
82 +  int level=0;
83 +  unsigned failmask=0x0;
84 +
85 +  if(mu->pt < 5) {
86 +    failmask |= (1<<level);
87 +  }
88 +
89 +  level++;
90 +  if(fabs(mu->eta) > 2.4) {
91 +    failmask |= (1<<level);
92 +  }
93 +
94 +  level++;
95 +  if(mu->nTkHits          < 11) {
96 +    failmask |= (1<<level);
97 +  }
98 +
99 +  level++;
100 +  if(mu->nPixHits         < 1) {
101 +    failmask |= (1<<level);
102 +  }
103 +
104 +  level++;
105 +  if(mu->ptErr/mu->pt > 0.1)   {
106 +    failmask |= (1<<level);
107 +  }
108 +
109 +  level++;
110 +  if( fabs(mu->dz) > 0.1 )   {
111 +    failmask |= (1<<level);
112 +  }
113 +
114 +
115 +  Bool_t isGlobal  = (mu->typeBits & kGlobal) && (mu->muNchi2 < 10) && (mu->nMatch > 1) && (mu->nValidHits > 0);
116 +  Bool_t isTracker = (mu->typeBits & kTracker) && (mu->qualityBits & kTMLastStationTight);
117 +  
118 +  level++;
119 +  if(!isGlobal && !isTracker) {
120 +    failmask |= (1<<level);
121 +  }
122 +
123 +  level++;
124 +  if(fabs(mu->d0)>0.02)   {
125 +    failmask |= (1<<level);
126 +  }
127 +  /*
128 +  if(mu->pt>20) {
129 +    if(fabs(mu->d0)>0.02)   {
130 +      failmask |= (1<<level);
131 +    }
132 +  } else {
133 +    if(fabs(mu->d0)>0.01)  {
134 +    failmask |= (1<<level);
135 +    }
136 +  }
137 +  */
138 +  return failmask;
139 +
140 + };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines