ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/Selection/src/MuonSelection.cc
Revision: 1.5
Committed: Wed Oct 19 15:15:37 2011 UTC (13 years, 6 months ago) by khahn
Content type: text/plain
Branch: MAIN
Changes since 1.4: +0 -5 lines
Log Message:
bug fix, was requiring global always

File Contents

# User Rev Content
1 khahn 1.1 #include <math.h>
2 dkralph 1.2 #include "HiggsAnaDefs.hh"
3 khahn 1.1 #include "MuonSelection.h"
4    
5 khahn 1.3 unsigned passSoftMuonSelection( const mithep::TMuon * mu ) {
6 khahn 1.1
7 khahn 1.3 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 khahn 1.1 unsigned passMuonSelectionZZ( const mithep::TMuon * mu ) {
37     int level=0;
38     unsigned failmask=0x0;
39    
40     if(mu->pt < 5) {
41     failmask |= (1<<level);
42     }
43    
44     level++;
45     if(fabs(mu->eta) > 2.4) {
46     failmask |= (1<<level);
47     }
48    
49     level++;
50     if(!(mu->typeBits & kGlobal)) {
51     failmask |= (1<<level);
52     }
53    
54     level++;
55     if(mu->nTkHits < 10) {
56     failmask |= (1<<level);
57     }
58    
59    
60     level++;
61     if( (mu->trkIso03/mu->pt) > 0.7 ) {
62     failmask |= (1<<level);
63     }
64    
65     // if(muon->nPixHits < 1) return false;
66     // if(muon->muNchi2 > 10) return false;
67     // if(muon->nMatch < 2) return false;
68     // if(muon->nValidHits < 1) return false;
69     // if(muon->pterr/muon->pt > 0.1) return false;
70     // if(fabs(muon->dz) > 0.1) return false;
71    
72    
73     return failmask;
74    
75     };
76 khahn 1.4
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     };