Changeset 3b3d0ad in git for modules/FastJetFinder.cc
- Timestamp:
- Jan 22, 2019, 5:01:10 PM (6 years ago)
- Branches:
- ImprovedOutputFile, Timing, llp, master
- Children:
- 70bb4cb
- Parents:
- 03381ed
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/FastJetFinder.cc
r03381ed r3b3d0ad 120 120 fJetPTMin = GetDouble("JetPTMin", 10.0); 121 121 122 123 122 //-- N(sub)jettiness parameters -- 124 123 … … 130 129 131 130 //-- Exclusive clustering for e+e- collisions -- 132 131 133 132 fNJets = GetInt("NJets",2); 134 133 fExclusiveClustering = GetBool("ExclusiveClustering", false); 135 134 136 135 //-- Valencia Linear Collider algorithm 136 137 137 fGamma = GetDouble("Gamma", 1.0); 138 138 //fBeta parameter see above 139 139 140 140 fMeasureDef = new NormalizedMeasure(fBeta, fParameterR); 141 141 142 142 switch(fAxisMode) 143 143 { 144 144 default: 145 146 147 148 149 150 151 152 153 154 155 156 145 case 1: 146 fAxesDef = new WTA_KT_Axes(); 147 break; 148 case 2: 149 fAxesDef = new OnePass_WTA_KT_Axes(); 150 break; 151 case 3: 152 fAxesDef = new KT_Axes(); 153 break; 154 case 4: 155 fAxesDef = new OnePass_KT_Axes(); 156 } 157 157 158 158 //-- Trimming parameters -- 159 159 160 160 fComputeTrimming = GetBool("ComputeTrimming", false); 161 161 fRTrim = GetDouble("RTrim", 0.2); 162 162 fPtFracTrim = GetDouble("PtFracTrim", 0.05); 163 163 164 164 165 165 //-- Pruning parameters -- 166 166 167 167 fComputePruning = GetBool("ComputePruning", false); 168 168 fZcutPrun = GetDouble("ZcutPrun", 0.1); 169 169 fRcutPrun = GetDouble("RcutPrun", 0.5); 170 170 fRPrun = GetDouble("RPrun", 0.8); 171 171 172 172 //-- SoftDrop parameters -- 173 173 174 174 fComputeSoftDrop = GetBool("ComputeSoftDrop", false); 175 175 fBetaSoftDrop = GetDouble("BetaSoftDrop", 0.0); 176 176 fSymmetryCutSoftDrop = GetDouble("SymmetryCutSoftDrop", 0.1); 177 177 fR0SoftDrop= GetDouble("R0SoftDrop=", 0.8); 178 179 178 180 179 // --- Jet Area Parameters --- 180 181 181 fAreaAlgorithm = GetInt("AreaAlgorithm", 0); 182 182 fComputeRho = GetBool("ComputeRho", false); … … 195 195 switch(fAreaAlgorithm) 196 196 { 197 case 1:198 fAreaDefinition = new AreaDefinition(active_area_explicit_ghosts, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt));199 break;200 case 2:201 fAreaDefinition = new AreaDefinition(one_ghost_passive_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt));202 break;203 case 3:204 fAreaDefinition = new AreaDefinition(passive_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt));205 break;206 case 4:207 fAreaDefinition = new AreaDefinition(VoronoiAreaSpec(fEffectiveRfact));208 break;209 case 5:210 fAreaDefinition = new AreaDefinition(active_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt));211 break;212 197 default: 213 198 case 0: 214 199 fAreaDefinition = 0; 215 200 break; 201 case 1: 202 fAreaDefinition = new AreaDefinition(active_area_explicit_ghosts, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt)); 203 break; 204 case 2: 205 fAreaDefinition = new AreaDefinition(one_ghost_passive_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt)); 206 break; 207 case 3: 208 fAreaDefinition = new AreaDefinition(passive_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt)); 209 break; 210 case 4: 211 fAreaDefinition = new AreaDefinition(VoronoiAreaSpec(fEffectiveRfact)); 212 break; 213 case 5: 214 fAreaDefinition = new AreaDefinition(active_area, GhostedAreaSpec(fGhostEtaMax, fRepeat, fGhostArea, fGridScatter, fPtScatter, fMeanGhostPt)); 215 break; 216 216 } 217 217 … … 248 248 fDefinition = new JetDefinition(fNjettinessPlugin); 249 249 break; 250 case 9:250 case 9: 251 251 fValenciaPlugin = new ValenciaPlugin(fParameterR, fBeta, fGamma); 252 252 fDefinition = new JetDefinition(fValenciaPlugin); … … 255 255 } 256 256 257 257 258 258 259 259 fPlugin = plugin; … … 325 325 Double_t time, timeWeight; 326 326 Int_t number, ncharged, nneutrals; 327 Int_t charge; 327 Int_t charge; 328 328 Double_t rho = 0.0; 329 329 PseudoJet jet, area; … … 336 336 Double_t excl_ymerge45 = 0.0; 337 337 Double_t excl_ymerge56 = 0.0; 338 338 339 339 DelphesFactory *factory = GetFactory(); 340 340 … … 381 381 outputList.clear(); 382 382 383 384 383 if(fExclusiveClustering) 385 384 { … … 405 404 detaMax = 0.0; 406 405 dphiMax = 0.0; 407 406 408 407 for(itOutputList = outputList.begin(); itOutputList != outputList.end(); ++itOutputList) 409 408 { … … 416 415 if(fAreaDefinition) area = itOutputList->area_4vector(); 417 416 418 419 420 417 candidate = factory->NewCandidate(); 421 418 … … 458 455 candidate->DeltaEta = detaMax; 459 456 candidate->DeltaPhi = dphiMax; 460 candidate->Charge = charge; 457 candidate->Charge = charge; 461 458 candidate->NNeutrals = nneutrals; 462 459 candidate->NCharged = ncharged; … … 468 465 candidate->ExclYmerge45 = excl_ymerge45; 469 466 candidate->ExclYmerge56 = excl_ymerge56; 470 467 471 468 //------------------------------------ 472 469 // Trimming … … 478 475 fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm,fRTrim),fastjet::SelectorPtFractionMin(fPtFracTrim)); 479 476 fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList); 480 477 481 478 trimmed_jet = join(trimmed_jet.constituents()); 482 479 483 480 candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m()); 484 485 // four hardest subjets 481 482 // four hardest subjets 486 483 subjets.clear(); 487 484 subjets = trimmed_jet.pieces(); 488 485 subjets = sorted_by_pt(subjets); 489 486 490 487 candidate->NSubJetsTrimmed = subjets.size(); 491 488 492 489 for (size_t i = 0; i < subjets.size() and i < 4; i++) 493 490 { 494 if(subjets.at(i).pt() < 0) continue ; 491 if(subjets.at(i).pt() < 0) continue ; 495 492 candidate->TrimmedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 496 493 } 497 494 } 498 499 495 496 500 497 //------------------------------------ 501 498 // Pruning 502 499 //------------------------------------ 503 504 500 501 505 502 if(fComputePruning) 506 503 { … … 510 507 511 508 candidate->PrunedP4[0].SetPtEtaPhiM(pruned_jet.pt(), pruned_jet.eta(), pruned_jet.phi(), pruned_jet.m()); 512 513 // four hardest subjet 509 510 // four hardest subjet 514 511 subjets.clear(); 515 512 subjets = pruned_jet.pieces(); 516 513 subjets = sorted_by_pt(subjets); 517 514 518 515 candidate->NSubJetsPruned = subjets.size(); 519 516 520 517 for (size_t i = 0; i < subjets.size() and i < 4; i++) 521 518 { 522 if(subjets.at(i).pt() < 0) continue ; 519 if(subjets.at(i).pt() < 0) continue ; 523 520 candidate->PrunedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 524 521 } 525 522 526 } 527 523 } 524 528 525 //------------------------------------ 529 526 // SoftDrop 530 527 //------------------------------------ 531 528 532 529 if(fComputeSoftDrop) 533 530 { 534 531 535 532 contrib::SoftDrop softDrop(fBetaSoftDrop,fSymmetryCutSoftDrop,fR0SoftDrop); 536 533 fastjet::PseudoJet softdrop_jet = softDrop(*itOutputList); 537 534 538 535 candidate->SoftDroppedP4[0].SetPtEtaPhiM(softdrop_jet.pt(), softdrop_jet.eta(), softdrop_jet.phi(), softdrop_jet.m()); 539 540 // four hardest subjet 541 536 537 // four hardest subjet 538 542 539 subjets.clear(); 543 540 subjets = softdrop_jet.pieces(); … … 549 546 for (size_t i = 0; i < subjets.size() and i < 4; i++) 550 547 { 551 if(subjets.at(i).pt() < 0) continue ; 548 if(subjets.at(i).pt() < 0) continue ; 552 549 candidate->SoftDroppedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 553 550 if(i==0) candidate->SoftDroppedSubJet1 = candidate->SoftDroppedP4[i+1]; … … 555 552 } 556 553 } 557 554 558 555 // --- compute N-subjettiness with N = 1,2,3,4,5 ---- 559 556 560 557 if(fComputeNsubjettiness) 561 558 { 562 559 563 560 Nsubjettiness nSub1(1, *fAxesDef, *fMeasureDef); 564 561 Nsubjettiness nSub2(2, *fAxesDef, *fMeasureDef); … … 566 563 Nsubjettiness nSub4(4, *fAxesDef, *fMeasureDef); 567 564 Nsubjettiness nSub5(5, *fAxesDef, *fMeasureDef); 568 565 569 566 candidate->Tau[0] = nSub1(*itOutputList); 570 567 candidate->Tau[1] = nSub2(*itOutputList); … … 572 569 candidate->Tau[3] = nSub4(*itOutputList); 573 570 candidate->Tau[4] = nSub5(*itOutputList); 574 571 575 572 } 576 573
Note:
See TracChangeset
for help on using the changeset viewer.