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

Comparing UserCode/HbbAnalysis/src/JetFlavour.cc (file contents):
Revision 1.1 by amagnan, Thu May 28 15:12:45 2009 UTC vs.
Revision 1.3 by amagnan, Tue Jun 2 16:04:24 2009 UTC

# Line 49 | Line 49 | namespace HbbAnalysis {
49      flav_.clear();
50      eid_.clear();
51      muid_.clear();
52 <    partons_.reserve(10);
53 <    eid_.reserve(10);
54 <    muid_.reserve(10);
55 <    flav_.reserve(10);
52 >    partons_.reserve(2);
53 >    eid_.reserve(2);
54 >    muid_.reserve(2);
55 >    flav_.reserve(2);
56  
57      unsigned int n_quarks = 0;
58      unsigned int n_antiquarks = 0;
# Line 158 | Line 158 | namespace HbbAnalysis {
158      unsigned int *eid  = new unsigned int[nPartons];
159      unsigned int *muid = new unsigned int[nPartons];
160  
161
161      for (unsigned int ip(0); ip<nPartons; ip++){//loop on partons
162        nDaugh[ip] = 0;
163        flav[ip] = 1;
# Line 169 | Line 168 | namespace HbbAnalysis {
168        eid[ip] = 0;
169        muid[ip] = 0;
170        daughters[ip].clear();
171 <      daughters[ip].reserve(250);
171 >      daughters[ip].reserve(500);
172        parents[ip].clear();
173 <      parents[ip].reserve(250);
173 >      parents[ip].reserve(500);
174        parents[ip].push_back(partons_.at(ip));
175  
176        for (unsigned int pmc = 0; pmc < parents[ip].size(); pmc++){//loop "interactively" on parents
177          unsigned int lParIndex = parents[ip].at(pmc);
178 <        if (debug_ > 2) std::cout << "** Looking for parent : #" << lParIndex << " (id " <<  (*aGenParticles).at(lParIndex).pdgId() << "), vector size = " <<  parents[ip].size() << std::endl;
178 >        const reco::GenParticle & ppar = (*aGenParticles).at(lParIndex);
179 >        if (debug_ > 2) std::cout << "** Looking for parent : #" << lParIndex << " (id " <<  ppar.pdgId() << "), vector size = " <<  parents[ip].size() << std::endl;
180  
181          //counter to check a match is found
182          unsigned int lNNotFound = 0;
# Line 187 | Line 187 | namespace HbbAnalysis {
187  
188            for (unsigned int im(0); im<pgen.numberOfMothers(); im++){//loop on parents
189              //recursive loop to find all parents
190 <            if ( compareParticles(pgen.mother(im),(*aGenParticles).at(lParIndex)) ){//if par=parton
190 >            if ( compareParticles(pgen.mother(im),ppar)){//if par=parton
191                lNTot++;
192                if (pgen.status() != 1) {
193                  nDaugh[ip]++;
# Line 227 | Line 227 | namespace HbbAnalysis {
227          }//loop on parts
228          if (lNNotFound == lNTot ) {
229            std::cout << " --- WARNING: no particle found for parton #" << lParIndex ;
230 <          printParticle((*aGenParticles).at(lParIndex));
230 >          printParticle(ppar);
231          }
232  
233        }//loop on parents
# Line 303 | Line 303 | namespace HbbAnalysis {
303  
304      }//for light jets
305  
306 +
307      delete[] nDaugh;
308      delete[] parents;
309      delete[] daughters;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines