ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/UHHAnalysis/SFrameTools/src/Utils.cxx
(Generate patch)

Comparing UserCode/UHHAnalysis/SFrameTools/src/Utils.cxx (file contents):
Revision 1.4 by peiffer, Thu Jun 28 15:57:27 2012 UTC vs.
Revision 1.5 by peiffer, Mon Jul 9 08:37:32 2012 UTC

# Line 33 | Line 33 | bool TopTag(TopJet topjet,  double &mjet
33      if( (subjets[1].v4()+subjets[2].v4()).isTimelike()  )
34        m12 = (subjets[1].v4()+subjets[2].v4()).M();
35      
36 <    //minimum pairwise mass > 50 GeV/c^2
36 >    //minimum pairwise mass
37      mmin = std::min(m01,std::min(m02,m12));
38    }
39  
# Line 61 | Line 61 | Jet* nextJet(const Particle *p, std::vec
61    return nextjet;
62   }
63  
64 + bool WTag(TopJet prunedjet,  double& mjet, int &nsubjets, double& massdrop){
65 +
66 +  nsubjets=prunedjet.numberOfDaughters();
67 +
68 +  mjet = 0;
69 +  if(prunedjet.v4().isTimelike())
70 +    mjet = prunedjet.v4().M();
71 +
72 +  //calculate mass drop for first sub-jet ordered in pt
73 +  massdrop = 0;
74 +  if(nsubjets>=1 && mjet>0){
75 +
76 +    std::vector< Particle > subjets = prunedjet.subjets();
77 +    sort(subjets.begin(), subjets.end(), HigherPt());
78 +
79 +    double m1 = 0;
80 +    if(subjets[0].v4().isTimelike())
81 +      m1 = subjets[0].v4().M();
82 +
83 +    massdrop = m1/mjet;
84 +  }
85 +  
86 +  //at least 2 sub-jets
87 +  if(nsubjets<2) return false;
88 +  //60 GeV < pruned jet mass < 100 GeV
89 +  if(mjet <= 60 || mjet >= 100) return false;
90 +  //mass drop < 0.4
91 +  if(massdrop>=0.4) return false;
92 +
93 +  return true;
94 +
95 + }
96 +
97   double pTrel(const Particle *p, std::vector<Jet> *jets){
98  
99    double ptrel=0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines