Changeset 1180bc1 in git for modules/JetFlavorAssociation.cc
- Timestamp:
- Jun 30, 2015, 2:38:29 PM (9 years ago)
- Branches:
- ImprovedOutputFile, Timing, dual_readout, llp, master
- Children:
- c627b07
- Parents:
- 6153fb0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/JetFlavorAssociation.cc
r6153fb0 r1180bc1 151 151 fPartonInputArray = ImportArray(GetString("PartonInputArray", "Delphes/partons")); 152 152 fItPartonInputArray = fPartonInputArray->MakeIterator(); 153 fPartonFilter = new ExRootFilter(fPartonInputArray); 153 154 154 155 fParticleInputArray = ImportArray(GetString("ParticleInputArray", "Delphes/allParticles")); 155 156 fItParticleInputArray = fParticleInputArray->MakeIterator(); 156 157 157 fParticleLHEFInputArray = ImportArray(GetString("ParticleLHEFInputArray", "Delphes/allParticlesLHEF")); 158 fItParticleLHEFInputArray = fParticleLHEFInputArray->MakeIterator(); 159 160 fPartonFilter = new ExRootFilter(fPartonInputArray); 161 fParticleLHEFFilter = new ExRootFilter(fParticleLHEFInputArray); 158 try 159 { 160 fParticleLHEFInputArray = ImportArray(GetString("ParticleLHEFInputArray", "Delphes/allParticlesLHEF")); 161 } 162 catch(runtime_error &e) 163 { 164 fParticleLHEFInputArray = 0; 165 } 166 167 if(fParticleLHEFInputArray) 168 { 169 fItParticleLHEFInputArray = fParticleLHEFInputArray->MakeIterator(); 170 fParticleLHEFFilter = new ExRootFilter(fParticleLHEFInputArray); 171 } 162 172 163 173 fJetInputArray = ImportArray(GetString("JetInputArray", "FastJetFinder/jets")); … … 183 193 184 194 Candidate *jet; 185 TObjArray *partonArray ;186 TObjArray *partonLHEFArray ;187 188 // select quark &&gluons195 TObjArray *partonArray = 0; 196 TObjArray *partonLHEFArray = 0; 197 198 // select quark and gluons 189 199 fPartonFilter->Reset(); 190 200 partonArray = fPartonFilter->GetSubArray(fPartonClassifier, 0); // get the filtered parton array 191 192 201 if(partonArray == 0) return; 193 TIter itPartonArray(partonArray); 194 195 fParticleLHEFFilter->Reset(); 196 partonLHEFArray = fParticleLHEFFilter->GetSubArray(fParticleLHEFClassifier, 0); // get the filtered parton array 197 198 if(partonLHEFArray == 0) return; 199 TIter itPartonLHEFArray(partonLHEFArray); 200 202 203 if(fParticleLHEFInputArray) 204 { 205 fParticleLHEFFilter->Reset(); 206 partonLHEFArray = fParticleLHEFFilter->GetSubArray(fParticleLHEFClassifier, 0); // get the filtered parton array 207 } 201 208 // loop over all input jets 202 209 fItJetInputArray->Reset(); … … 204 211 { 205 212 // get standard flavor 206 GetAlgoFlavor(jet, itPartonArray, itPartonLHEFArray);207 GetPhysicsFlavor(jet, itPartonArray, itPartonLHEFArray);213 GetAlgoFlavor(jet, partonArray, partonLHEFArray); 214 if(fParticleLHEFInputArray) GetPhysicsFlavor(jet, partonArray, partonLHEFArray); 208 215 } 209 216 } … … 213 220 // https://cmssdt.cern.ch/SDT/lxr/source/PhysicsTools/JetMCAlgos/plugins/JetPartonMatcher.cc?v=CMSSW_7_3_0_pre1 214 221 215 void JetFlavorAssociation::GetAlgoFlavor(Candidate *jet, T Iter &itPartonArray, TIter &itPartonLHEFArray)222 void JetFlavorAssociation::GetAlgoFlavor(Candidate *jet, TObjArray *partonArray, TObjArray *partonLHEFArray) 216 223 { 217 224 float maxPt = 0; 218 bool isGoodParton = true;219 225 int daughterCounter = 0; 220 226 Candidate *parton, *partonLHEF; 221 227 Candidate *tempParton = 0, *tempPartonHighestPt = 0; 222 228 int pdgCode, pdgCodeMax = -1; 229 230 TIter itPartonArray(partonArray); 231 TIter itPartonLHEFArray(partonLHEFArray); 223 232 224 233 itPartonArray.Reset(); … … 232 241 if(pdgCodeMax < pdgCode) pdgCodeMax = pdgCode; 233 242 } 234 235 isGoodParton = true; 243 244 if(!fParticleLHEFInputArray) continue; 245 236 246 itPartonLHEFArray.Reset(); 237 247 while((partonLHEF = static_cast<Candidate *>(itPartonLHEFArray.Next()))) … … 240 250 parton->PID == partonLHEF->PID && 241 251 partonLHEF->Charge == parton->Charge) 242 { 243 isGoodParton = false; 252 { 244 253 break; 245 254 } 246 247 if(!isGoodParton) continue;248 255 249 256 // check the daugheter … … 285 292 //------------------------------------------------------------------------------ 286 293 287 void JetFlavorAssociation::GetPhysicsFlavor(Candidate *jet, T Iter &itPartonArray, TIter &itPartonLHEFArray)294 void JetFlavorAssociation::GetPhysicsFlavor(Candidate *jet, TObjArray *partonArray, TObjArray *partonLHEFArray) 288 295 { 289 296 int partonCounter = 0; … … 298 305 vector<Candidate *>::iterator itContaminations; 299 306 307 TIter itPartonArray(partonArray); 308 TIter itPartonLHEFArray(partonLHEFArray); 309 300 310 contaminations.clear(); 301 311
Note:
See TracChangeset
for help on using the changeset viewer.