ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/src/MetTools.cc
(Generate patch)

Comparing UserCode/MitPhysics/Utils/src/MetTools.cc (file contents):
Revision 1.4 by mzanetti, Tue Apr 12 07:30:29 2011 UTC vs.
Revision 1.9 by phedex, Wed Jul 6 18:49:35 2011 UTC

# Line 34 | Line 34 | MetTools::MetTools(const MuonCol *fMuons
34          }
35        }      
36        if (isMuonTrack) continue;
37 <      
37 >
38        if (fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) {
39          trackNumeratorX -= fPFCandidates->At(i)->Px();
40          trackNumeratorY -= fPFCandidates->At(i)->Py();
# Line 70 | Line 70 | MetTools::MetTools(const ElectronCol *fE
70    for (UInt_t i=0; i<fPFCandidates->GetEntries(); ++i) {
71  
72      // charged
73 <    if (fPFCandidates->At(i)->HasTrackerTrk()){
73 >    if (fPFCandidates->At(i)->HasTrackerTrk() || fPFCandidates->At(i)->HasGsfTrk()){
74        bool isElectronTrack = false;
75        for (UInt_t m = 0; m < fElectrons->GetEntries(); ++m) {
76          if ( (fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
# Line 81 | Line 81 | MetTools::MetTools(const ElectronCol *fE
81        }      
82        if (isElectronTrack) continue;
83  
84 <      if (fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) {
84 >      if ((fPFCandidates->At(i)->HasTrackerTrk() && fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) ||
85 >          (fPFCandidates->At(i)->HasGsfTrk()     && fabs(fPFCandidates->At(i)->GsfTrk()->DzCorrected(*fVertex)    ) < deltaZCut)) {
86          trackNumeratorX -= fPFCandidates->At(i)->Px();
87          trackNumeratorY -= fPFCandidates->At(i)->Py();
88        }
# Line 126 | Line 127 | MetTools::MetTools(const MuonCol *fMuons
127      // jets
128      bool inTheJet = false;
129      for (UInt_t j = 0; j < pfJets->GetEntries(); ++j) {
130 <      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();c++){
131 <        if (pfJets->At(j)->PFCand(j) == fPFCandidates->At(i)) {
130 >      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();++c){
131 >        if (pfJets->At(j)->PFCand(c) == fPFCandidates->At(i)) {
132            inTheJet=true;
133            break;
134          }
# Line 192 | Line 193 | MetTools::MetTools(const ElectronCol *fE
193      // jets
194      bool inTheJet = false;
195      for (UInt_t j = 0; j < pfJets->GetEntries(); ++j) {
196 <      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();c++){
197 <        if (pfJets->At(j)->PFCand(j) == fPFCandidates->At(i)) {
196 >      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();++c){
197 >        if (pfJets->At(j)->PFCand(c) == fPFCandidates->At(i)) {
198            inTheJet=true;
199            break;
200          }
# Line 203 | Line 204 | MetTools::MetTools(const ElectronCol *fE
204      if (inTheJet) continue;
205  
206      // charged
207 <    if (fPFCandidates->At(i)->HasTrackerTrk()){
207 >    if (fPFCandidates->At(i)->HasTrackerTrk() || fPFCandidates->At(i)->HasGsfTrk()){
208        bool isElectronTrack = false;
209        for (UInt_t m = 0; m < fElectrons->GetEntries(); ++m) {
210 <        if ( (fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
210 >        if ( (fElectrons->At(m)->HasTrackerTrk() and fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
211               (fElectrons->At(m)->HasGsfTrk() and fElectrons->At(m)->GsfTrk() == fPFCandidates->At(i)->GsfTrk()) ) {
212            isElectronTrack = true;
213            break;
# Line 214 | Line 215 | MetTools::MetTools(const ElectronCol *fE
215        }      
216        if (isElectronTrack) continue;
217  
218 <      if (fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) {
218 >      if ((fPFCandidates->At(i)->HasTrackerTrk() && fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) ||
219 >          (fPFCandidates->At(i)->HasGsfTrk()     && fabs(fPFCandidates->At(i)->GsfTrk()->DzCorrected(*fVertex)    ) < deltaZCut)) {
220          trackNumeratorX -= fPFCandidates->At(i)->Px();
221          trackNumeratorY -= fPFCandidates->At(i)->Py();
222        }
# Line 234 | Line 236 | MetTools::MetTools(const ElectronCol *fE
236   }
237  
238  
239 + void MetTools::AddToCorrectedTrackMet( const Particle *p) {
240 +  float MetX = fCorrectedTrackMet.Mex();
241 +  float MetY = fCorrectedTrackMet.Mey();
242 +  
243 +  MetX -= p->Px();
244 +  MetY -= p->Py();
245 +
246 +  fCorrectedTrackMet.SetMex(MetX);
247 +  fCorrectedTrackMet.SetMey(MetY);
248 +
249 +  return;
250 + }
251 +
252 + void MetTools::AddToCorrectedMet( const Particle *p) {
253 +  float MetX=fCorrectedMet.Mex();
254 +  float MetY=fCorrectedMet.Mey();
255 +  
256 +  MetX -= p->Px();
257 +  MetY -= p->Py();
258 +
259 +  fCorrectedMet.SetMex(MetX);
260 +  fCorrectedMet.SetMey(MetY);
261 +
262 +  return;
263 + }
264 +
265 +
266   MetTools::MetTools(const MuonCol *fMuons, const ElectronCol *fElectrons, const PFCandidateCol *fPFCandidates,
267                     const Vertex *fVertex, float deltaZCut, float ptCut, float etaCut) {
268  
# Line 256 | Line 285 | MetTools::MetTools(const MuonCol *fMuons
285    for (UInt_t i=0; i<fPFCandidates->GetEntries(); ++i) {
286  
287      // charged
288 <    if (fPFCandidates->At(i)->HasTrackerTrk()){
288 >    if (fPFCandidates->At(i)->HasTrackerTrk() || fPFCandidates->At(i)->HasGsfTrk()){
289        bool isMuonTrack = false;
290        for (UInt_t m = 0; m < fMuons->GetEntries(); ++m) {
291          if (fMuons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) {
# Line 268 | Line 297 | MetTools::MetTools(const MuonCol *fMuons
297        
298        bool isElectronTrack = false;
299        for (UInt_t m = 0; m < fElectrons->GetEntries(); ++m) {
300 <        if ( (fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
300 >        if ( (fElectrons->At(m)->HasTrackerTrk() and fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
301               (fElectrons->At(m)->HasGsfTrk() and fElectrons->At(m)->GsfTrk() == fPFCandidates->At(i)->GsfTrk()) ) {
302            isElectronTrack = true;
303            break;
# Line 276 | Line 305 | MetTools::MetTools(const MuonCol *fMuons
305        }      
306        if (isElectronTrack) continue;
307  
308 <      if (fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) {
308 >      if ((fPFCandidates->At(i)->HasTrackerTrk() && fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) ||
309 >          (fPFCandidates->At(i)->HasGsfTrk()     && fabs(fPFCandidates->At(i)->GsfTrk()->DzCorrected(*fVertex)    ) < deltaZCut)) {
310          trackNumeratorX -= fPFCandidates->At(i)->Px();
311          trackNumeratorY -= fPFCandidates->At(i)->Py();
312        }
# Line 326 | Line 356 | MetTools::MetTools(const MuonCol *fMuons
356      // jets
357      bool inTheJet = false;
358      for (UInt_t j = 0; j < pfJets->GetEntries(); ++j) {
359 <      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();c++){
360 <        if (pfJets->At(j)->PFCand(j) == fPFCandidates->At(i)) {
359 >      for (UInt_t c=0;c<pfJets->At(j)->NPFCands();++c){
360 >        if (pfJets->At(j)->PFCand(c) == fPFCandidates->At(i)) {
361            inTheJet=true;
362            break;
363          }
# Line 338 | Line 368 | MetTools::MetTools(const MuonCol *fMuons
368  
369  
370      // charged
371 <    if (fPFCandidates->At(i)->HasTrackerTrk()){
371 >    if (fPFCandidates->At(i)->HasTrackerTrk() || fPFCandidates->At(i)->HasGsfTrk()){
372        bool isMuonTrack = false;
373        for (UInt_t m = 0; m < fMuons->GetEntries(); ++m) {
374          if (fMuons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) {
# Line 350 | Line 380 | MetTools::MetTools(const MuonCol *fMuons
380        
381        bool isElectronTrack = false;
382        for (UInt_t m = 0; m < fElectrons->GetEntries(); ++m) {
383 <        if ( (fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
383 >        if ( (fElectrons->At(m)->HasTrackerTrk() and fElectrons->At(m)->TrackerTrk() == fPFCandidates->At(i)->TrackerTrk()) or
384               (fElectrons->At(m)->HasGsfTrk() and fElectrons->At(m)->GsfTrk() == fPFCandidates->At(i)->GsfTrk()) ) {
385            isElectronTrack = true;
386            break;
# Line 358 | Line 388 | MetTools::MetTools(const MuonCol *fMuons
388        }      
389        if (isElectronTrack) continue;
390  
391 <      if (fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) {
391 >      if ((fPFCandidates->At(i)->HasTrackerTrk() && fabs(fPFCandidates->At(i)->TrackerTrk()->DzCorrected(*fVertex)) < deltaZCut) ||
392 >          (fPFCandidates->At(i)->HasGsfTrk()     && fabs(fPFCandidates->At(i)->GsfTrk()->DzCorrected(*fVertex)    ) < deltaZCut)) {
393          trackNumeratorX -= fPFCandidates->At(i)->Px();
394          trackNumeratorY -= fPFCandidates->At(i)->Py();
395        }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines