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

Comparing UserCode/MitPhysics/Mods/src/PhotonTreeWriter.cc (file contents):
Revision 1.18 by fabstoec, Mon May 14 16:38:23 2012 UTC vs.
Revision 1.19 by fabstoec, Mon May 14 16:51:56 2012 UTC

# Line 41 | Line 41 | PhotonTreeWriter::PhotonTreeWriter(const
41    fSuperClusterName       ("PFSuperClusters"),
42    fPFMetName              ("PFMet"),
43    fPFJetName              (Names::gkPFJetBrn),
44  fGenJetName             ("AKT5GenJets"),
44    funcorrPFJetName        ("AKt5PFJets"),
45 +  fGenJetName             ("AKT5GenJets"),
46    fLeptonTagElectronsName ("HggLeptonTagElectrons"),
47    fLeptonTagMuonsName     ("HggLeptonTagMuons"),
48  
# Line 81 | Line 81 | PhotonTreeWriter::PhotonTreeWriter(const
81    fApplyLeptonTag         (kFALSE),
82    fApplyBTag              (kFALSE),
83    fApplyPFMetCorrections  (kFALSE),
84
84    fPhFixDataFile          (gSystem->Getenv("CMSSW_BASE") +
85                             TString("/src/MitPhysics/data/PhotonFixSTART42V13.dat")),
86    fTupleName              ("hPhotonTree")
# Line 126 | Line 125 | void PhotonTreeWriter::Process()
125    LoadEventObject(fPFMetName,          fPFMet);  
126    if (fEnableJets){
127      LoadEventObject(fPFJetName,        fPFJets);  
128 +    //LoadEventObject(funcorrPFJetName,  funcorrPFJets);
129      LoadBranch(funcorrPFJetName);
130 +    //   if(!fIsData) LoadEventObject(fGenJetName,        fGenJets);
131    }
132    // ------------------------------------------------------------  
133    // load event based information
# Line 143 | Line 144 | void PhotonTreeWriter::Process()
144    if( !fIsData ) {
145      LoadBranch(fMCParticleName);
146      LoadBranch(fPileUpName);
147 <    if ( fApplyPFMetCorrections ) LoadEventObject(fGenJetName,        fGenJets);
148 <  }
147 >    if (fEnableJets) LoadEventObject(fGenJetName,        fGenJets);
148 >  }  else fGenJets = NULL;
149    
150    if( !fIsData ) {
151      for (UInt_t i=0; i<fPileUp->GetEntries(); ++i) {
# Line 162 | Line 163 | void PhotonTreeWriter::Process()
163    if (!fIsData)
164      FindHiggsPtAndZ(_pth, _decayZ, _genmass);
165  
166 +
167 +  Double_t _spfMet = fPFMet->At(0)->SumEt();
168    fDiphotonEvent->leptonTag = -1; // disabled
169  
170    fDiphotonEvent->rho = rho;
# Line 196 | Line 199 | void PhotonTreeWriter::Process()
199    fDiphotonEvent->pfmetphi = fPFMet->At(0)->Phi();
200    fDiphotonEvent->pfmetx = fPFMet->At(0)->Px();
201    fDiphotonEvent->pfmety = fPFMet->At(0)->Py();
202 +  fDiphotonEvent->spfMet = _spfMet;
203    fDiphotonEvent->masscor = -99.;
204    fDiphotonEvent->masscorerr = -99.;
205    fDiphotonEvent->masscorele = -99.;
# Line 228 | Line 232 | void PhotonTreeWriter::Process()
232    fDiphotonEvent->zeppenfeld = -99.;
233    fDiphotonEvent->dphidijetgg = -99.;
234    
235 +  //uncorrected jets
236 + //   const Jet *uncorrjet1 = 0;
237 + //   const Jet *uncorrjet2 = 0;
238 + //   const Jet *uncorrjetcentral = 0;
239 +
240 + //   fDiphotonEvent->uncorrjet1pt   = -99.;
241 + //   fDiphotonEvent->uncorrjet1eta  = -99.;
242 + //   fDiphotonEvent->uncorrjet1phi  = -99.;
243 + //   fDiphotonEvent->uncorrjet1mass = -99.;
244 + //   fDiphotonEvent->uncorrjet2pt   = -99.;
245 + //   fDiphotonEvent->uncorrjet2eta  = -99.;
246 + //   fDiphotonEvent->uncorrjet2phi  = -99.;
247 + //   fDiphotonEvent->uncorrjet2mass = -99.;
248 + //   fDiphotonEvent->uncorrjetcentralpt   = -99.;
249 + //   fDiphotonEvent->uncorrjetcentraleta  = -99.;
250 + //   fDiphotonEvent->uncorrjetcentralphi  = -99.;
251 + //   fDiphotonEvent->uncorrjetcentralmass = -99.;
252 + //   fDiphotonEvent->diuncorrjetpt = -99.;
253 + //   fDiphotonEvent->diuncorrjeteta = -99.;
254 + //   fDiphotonEvent->diuncorrjetphi = -99.;
255 + //   fDiphotonEvent->diuncorrjetmass = -99.;
256 +
257 +
258 +
259    Int_t nhitsbeforevtxmax = 1;
260    if (!fApplyElectronVeto)
261      nhitsbeforevtxmax = 999;  
# Line 291 | Line 319 | void PhotonTreeWriter::Process()
319      }
320      
321      // fill Btag information... set to true if One jet fullfills
322 <    fDiphotonEvent -> btagJet1    = -1.;
323 <    fDiphotonEvent -> btagJet1Pt  = -99.;
324 <    fDiphotonEvent -> btagJet1Eta = -99.;
325 <    fDiphotonEvent -> btagJet2    = -1.;
326 <    fDiphotonEvent -> btagJet2Pt  = -99.;
327 <    fDiphotonEvent -> btagJet2Eta = -99.;
322 >    fDiphotonEvent -> btagJet1       = -1.;
323 >    fDiphotonEvent -> btagJet1Pt     = -99.;
324 >    fDiphotonEvent -> btagJet1Eta    = -99.;
325 >
326 >    fDiphotonEvent -> btagJet2       = -1.;
327 >    fDiphotonEvent -> btagJet2Pt     = -99.;
328 >    fDiphotonEvent -> btagJet2Eta    = -99.;
329  
330      if( fApplyBTag && fEnableJets ) {
331        float highTag     = 0.;
303      float trailTag    = 0.;
332        float highJetPt   = 0.;
333        float highJetEta  = 0.;
334 +
335 +      float trailTag     = 0.;
336        float trailJetPt   = 0.;
337        float trailJetEta  = 0.;
338 +
339        for (UInt_t ijet=0; ijet<fPFJets->GetEntries();++ijet) {
340          const Jet *jet = fPFJets->At(ijet);
341          if( jet->Pt() < 20. || jet->AbsEta() > 2.4 ) continue;
342          if ( jet->CombinedSecondaryVertexBJetTagsDisc() > highTag ) {
343 <          trailTag    = highTag;
344 <          trailJetPt  = highJetPt;
343 >          
344 >          trailTag = highTag;
345 >          trailJetPt = highJetPt;
346            trailJetEta = highJetEta;
347 +
348            highTag    = jet->CombinedSecondaryVertexBJetTagsDisc();
349            highJetPt  = jet->Pt();
350            highJetEta = jet->Eta();
351 +
352          } else if ( jet->CombinedSecondaryVertexBJetTagsDisc() > trailTag ) {
353 +
354            trailTag    = jet->CombinedSecondaryVertexBJetTagsDisc();
355            trailJetPt  = jet->Pt();
356            trailJetEta = jet->Eta();
# Line 323 | Line 358 | void PhotonTreeWriter::Process()
358        }
359        fDiphotonEvent -> btagJet1    = highTag;
360        fDiphotonEvent -> btagJet1Pt  = highJetPt;
361 <      fDiphotonEvent -> btagJet1Eta = highJetEta;
362 <      fDiphotonEvent -> btagJet2    = trailTag;
363 <      fDiphotonEvent -> btagJet2Pt  = trailJetPt;
364 <      fDiphotonEvent -> btagJet2Eta = trailJetEta;
361 >      fDiphotonEvent -> btagJet1Eta = highJetEta;      
362 >
363 >      fDiphotonEvent -> btagJet1    = trailTag;
364 >      fDiphotonEvent -> btagJet1Pt  = trailJetPt;
365 >      fDiphotonEvent -> btagJet1Eta = trailJetEta;      
366 >
367      }
368      
369      //fill jet variables
# Line 339 | Line 376 | void PhotonTreeWriter::Process()
376            else if (!jetcentral && 0) jetcentral = jet;
377          }
378          if (jet1&&jet2&&jetcentral) break;
379 <      }
379 >      }      
380      }
381      
382      if (jet1) {
# Line 381 | Line 418 | void PhotonTreeWriter::Process()
418        }
419      }
420      
384
421      //added gen. info of whether a lep. or nutrino is from W or Z --Heng 02/14/2012 12:30 EST
422      Double_t _fromZ = -99;
423      Double_t _fromW = -99;
# Line 408 | Line 444 | void PhotonTreeWriter::Process()
444        }
445      }
446      
411      /*
412      for(UInt_t j=0; j<fMCParticles->GetEntries(); ++j) {
413        const MCParticle* p = fMCParticles->At(j);
414        if( p->AbsPdgId()==23 ||p->AbsPdgId()==32 || p->AbsPdgId()==33 ) {
415            _fromZ=1;
416            _zpt=p->Pt();
417          }
418          else _fromW=1;
419      }
420    }
421
422      */
447      fDiphotonEvent->fromZ = _fromZ;
448      fDiphotonEvent->fromW = _fromW;
449      fDiphotonEvent->zpt = _zpt;
# Line 475 | Line 499 | void PhotonTreeWriter::Process()
499        }
500        
501      }
502 <    
503 <    
480 <    fDiphotonEvent->corrpfmet    = -99.;
502 >
503 >    fDiphotonEvent->corrpfmet = -99.;
504      fDiphotonEvent->corrpfmetphi = -99.;
505 <    fDiphotonEvent->corrpfmetx   = -99.;
506 <    fDiphotonEvent->corrpfmety   = -99.;
505 >    fDiphotonEvent->corrpfmetx = -99.;
506 >    fDiphotonEvent->corrpfmety = -99.;
507  
508 <    Met *corrMet = NULL;
509 <    if( fApplyPFMetCorrections ) {
510 <      corrMet = new Met(fPFMet->At(0)->Px(),fPFMet->At(0)->Py());
508 >    Met *corrMet =NULL;
509 >    
510 >    if (fApplyPFMetCorrections){
511 >    corrMet = new Met(fPFMet->At(0)->Px(),fPFMet->At(0)->Py());
512 >    
513 >    if (!fIsData){
514        PFMetCorrectionTools::correctMet(corrMet,phHard,phSoft,1,1,funcorrPFJets,fGenJets,fPFJets);
515 <      PFMetCorrectionTools::shiftMet(corrMet,fIsData);
516 <      
517 <      fDiphotonEvent->corrpfmet = corrMet->Pt();
518 <      fDiphotonEvent->corrpfmetphi = corrMet->Phi();
519 <      fDiphotonEvent->corrpfmetx = corrMet->Px();
520 <      fDiphotonEvent->corrpfmety = corrMet->Py();
515 >      PFMetCorrectionTools::shiftMet(corrMet,fIsData,_spfMet);
516 >    }
517 >    else {
518 >      PFMetCorrectionTools::shiftMet(corrMet,fIsData,_spfMet);
519 >       PFMetCorrectionTools::correctMet(corrMet,phHard,phSoft,0,1,funcorrPFJets,fGenJets,fPFJets);
520 >     }    
521 >
522 >    fDiphotonEvent->corrpfmet = corrMet->Pt();
523 >    fDiphotonEvent->corrpfmetphi = corrMet->Phi();
524 >    fDiphotonEvent->corrpfmetx = corrMet->Px();
525 >    fDiphotonEvent->corrpfmety = corrMet->Py();
526  
527 <      delete corrMet;
527 >    delete corrMet;
528      }
529  
530      Float_t _massele = -99.;
# Line 756 | Line 787 | void PhotonTreeWriter::SlaveBegin()
787    if (fEnableJets){
788      ReqEventObject(fPFJetName,       fPFJets,       fPFJetsFromBranch);
789      ReqBranch(funcorrPFJetName, funcorrPFJets);
790 +    //   if (!fIsData) ReqEventObject(fGenJetName, fGenJets, true);
791    }
792    if (!fIsData) {
793      ReqBranch(fPileUpName,         fPileUp);
794      ReqBranch(fMCParticleName,     fMCParticles);
795 <    if ( fApplyPFMetCorrections ) ReqEventObject(fGenJetName, fGenJets, true);
795 >    if (fEnableJets) ReqEventObject(fGenJetName, fGenJets, true);
796    }
797    if (fIsData) {
798      fPhFixDataFile = gSystem->Getenv("CMSSW_BASE") +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines