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

Comparing UserCode/MitHzz4l/LeptonSelection/src/MuonSelection.cc (file contents):
Revision 1.21 by anlevin, Tue May 22 22:31:17 2012 UTC vs.
Revision 1.26 by khahn, Tue Jun 5 15:00:20 2012 UTC

# Line 19 | Line 19 | extern Float_t computePFMuonIso(const mi
19                          const mithep::Array<mithep::PFCandidate> * pfCandidates,
20                          const Double_t dRMax);
21  
22 + bool trackToPFMuonSelection( const mithep::Track *track, const mithep::MuonCol * muoncol )
23 + {
24 +        bool pass = false;
25 +  for(UInt_t i=0; i<muoncol->GetEntries(); ++i) {
26 +    const mithep::Muon *mu = muoncol->At(i);
27 +                if(mu->TrackerTrk() == track && (mu->IsGlobalMuon() || mu->IsTrackerMuon()) && mu->IsPFMuon())
28 +                        pass = true;
29 +        }              
30 +                
31 +        return pass;            
32 +                
33 + }
34 +
35   //--------------------------------------------------------------------------------------------------
36   SelectionStatus muonDummyVeto(ControlFlags &ctrl,
37                                const mithep::Muon *muon,
# Line 105 | Line 118 | SelectionStatus muonReferencePreSelectio
118    if(ctrl.debug) cout << "and < 2.4 eta (" << mu->Eta() << ")? ... " << ret << endl;  
119    ret &= ( mu->IsTrackerMuon() || mu->IsGlobalMuon() );
120    if(ctrl.debug) cout << "is Tracker or Global? ... " << ret << endl;
121 <        ret &= (mu->HasTrackerTrk() && mu->TrackerTrk()->D0Corrected(*vtx) < 0.5 && mu->TrackerTrk()->DzCorrected(*vtx) < 1.0);
121 >  ret &= (mu->HasTrackerTrk() &&
122 >          fabs(mu->TrackerTrk()->D0Corrected(*vtx)) < 0.5 &&
123 >          fabs(mu->TrackerTrk()->DzCorrected(*vtx)) < 1.0);
124    if(ctrl.debug) cout << "d0 and dz? ... " << ret << endl;  
125            
126    //  if( mu->IsTrackerMuon() && mu->HasTrackerTrk() && !mu->IsGlobalMuon() )  
# Line 121 | Line 136 | SelectionStatus muonReferencePreSelectio
136    return status;
137   }
138  
139 + //--------------------------------------------------------------------------------------------------
140 + SelectionStatus muonPreSelectionNoD0DzIP( ControlFlags &ctrl,  
141 +                                          const mithep::Muon * mu,
142 +                                          const mithep::Vertex * vtx,
143 +                                          const mithep::Array<mithep::PFCandidate> * pfCandidates )
144 + //--------------------------------------------------------------------------------------------------
145 + {
146 +  bool ret = true;
147 +
148 +  if(ctrl.debug) cout << "inside muonpresel ... " << endl;
149 +  ret &= ( mu->Pt() >= 5 );
150 +  if(ctrl.debug) cout << "and >5 GeV (" << mu->Pt() << ") ? ... " << ret << endl;  
151 +  ret &= ( fabs(mu->Eta()) <= 2.4 );
152 +  if(ctrl.debug) cout << "and < 2.4 eta (" << mu->Eta() << ")? ... " << ret << endl;  
153 +  ret &= ( mu->IsTrackerMuon() || mu->IsGlobalMuon() );
154 +  if(ctrl.debug) cout << "is Tracker or Global? ... " << ret << endl;
155 +          
156 +  //  if( mu->IsTrackerMuon() && mu->HasTrackerTrk() && !mu->IsGlobalMuon() )  
157 +  //    ret &=  ( mu->Quality().QualityMask().Mask() & mithep::MuonQuality::AllArbitrated);
158 +  //  if(ctrl.debug) cout << "if isTrackerMuon, arbitrated ? ... " << ret << endl;  
159 +  //  ret &= ( mu->BestTrk()->DzCorrected(vtx) < 0.1);  
160 +  //  if( ctrl.debug ) cout << "elepresel : ret after dZcorr : " << ret <<  endl;
161 +
162 +
163 +  SelectionStatus status;
164 +  if( ret ) status.setStatus(SelectionStatus::PRESELECTION);
165 +  if(ctrl.debug) cout << "muon presel returning status : " << status.getStatus() << endl;  
166 +  return status;
167 + }
168 +
169  
170  
171  
# Line 219 | Line 264 | SelectionStatus muonIDPFSelection(Contro
264        break;
265      }
266    }
267 + //      
268 + //      if(mu->IsPFMuon()) pass = true;
269 + //      else pass = false;
270  
271    //
272    // NB : ipsig here for reference synch ...

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines