Changes in / [dd64cff:8a11cdc] in git
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
examples/CMakeLists.txt
rdd64cff r8a11cdc 1 1 include_directories( 2 2 ${CMAKE_SOURCE_DIR} 3 ${DelphesExternals_INCLUDE_DIR} 3 ${DelphesExternals_INCLUDE_DIR} 4 4 ) 5 5 … … 17 17 # take all other relevant files and put them into examples/ 18 18 install(FILES ${macros} DESTINATION examples) 19 install(DIRECTORY ExternalFastJet DESTINATION examples) 20 if(PYTHIA8_FOUND) 21 install(DIRECTORY Pythia8 DESTINATION examples) 22 endif() -
modules/CMakeLists.txt
rdd64cff r8a11cdc 28 28 if (NOT ${ROOT_VERSION} VERSION_LESS "6.0.0") 29 29 install(FILES 30 ${PROJECT_BINARY_DIR}/modules/libModulesDict_rdict.pcm 31 ${PROJECT_BINARY_DIR}/modules/libFastJetDict_rdict.pcm 30 ${PROJECT_BINARY_DIR}/modules/libModulesDict_rdict.pcm 31 ${PROJECT_BINARY_DIR}/modules/libFastJetDict_rdict.pcm 32 DESTINATION lib) 33 if(PYTHIA8_FOUND) 34 install(FILES 35 ${PROJECT_BINARY_DIR}/modules/libPythia8Dict_rdict.pcm 32 36 DESTINATION lib) 37 endif() 33 38 endif() -
modules/FastJetFinder.cc
rdd64cff r8a11cdc 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; … … 290 290 fOutputArray = ExportArray(GetString("OutputArray", "jets")); 291 291 fRhoOutputArray = ExportArray(GetString("RhoOutputArray", "rho")); 292 fConstituentsOutputArray = ExportArray(GetString("ConstituentsOutputArray", "constituents")); 292 293 } 293 294 … … 325 326 Double_t time, timeWeight; 326 327 Int_t number, ncharged, nneutrals; 327 Int_t charge; 328 Int_t charge; 328 329 Double_t rho = 0.0; 329 330 PseudoJet jet, area; … … 336 337 Double_t excl_ymerge45 = 0.0; 337 338 Double_t excl_ymerge56 = 0.0; 338 339 339 340 DelphesFactory *factory = GetFactory(); 340 341 … … 381 382 outputList.clear(); 382 383 383 384 384 if(fExclusiveClustering) 385 385 { … … 405 405 detaMax = 0.0; 406 406 dphiMax = 0.0; 407 407 408 408 for(itOutputList = outputList.begin(); itOutputList != outputList.end(); ++itOutputList) 409 409 { … … 416 416 if(fAreaDefinition) area = itOutputList->area_4vector(); 417 417 418 419 420 418 candidate = factory->NewCandidate(); 421 419 … … 449 447 charge += constituent->Charge; 450 448 449 fConstituentsOutputArray->Add(constituent); 451 450 candidate->AddCandidate(constituent); 452 451 } … … 458 457 candidate->DeltaEta = detaMax; 459 458 candidate->DeltaPhi = dphiMax; 460 candidate->Charge = charge; 459 candidate->Charge = charge; 461 460 candidate->NNeutrals = nneutrals; 462 461 candidate->NCharged = ncharged; … … 468 467 candidate->ExclYmerge45 = excl_ymerge45; 469 468 candidate->ExclYmerge56 = excl_ymerge56; 470 469 471 470 //------------------------------------ 472 471 // Trimming … … 478 477 fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm,fRTrim),fastjet::SelectorPtFractionMin(fPtFracTrim)); 479 478 fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList); 480 479 481 480 trimmed_jet = join(trimmed_jet.constituents()); 482 481 483 482 candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m()); 484 485 // four hardest subjets 483 484 // four hardest subjets 486 485 subjets.clear(); 487 486 subjets = trimmed_jet.pieces(); 488 487 subjets = sorted_by_pt(subjets); 489 488 490 489 candidate->NSubJetsTrimmed = subjets.size(); 491 490 492 491 for (size_t i = 0; i < subjets.size() and i < 4; i++) 493 492 { 494 if(subjets.at(i).pt() < 0) continue ; 493 if(subjets.at(i).pt() < 0) continue ; 495 494 candidate->TrimmedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 496 495 } 497 496 } 498 499 497 498 500 499 //------------------------------------ 501 500 // Pruning 502 501 //------------------------------------ 503 504 502 503 505 504 if(fComputePruning) 506 505 { … … 510 509 511 510 candidate->PrunedP4[0].SetPtEtaPhiM(pruned_jet.pt(), pruned_jet.eta(), pruned_jet.phi(), pruned_jet.m()); 512 513 // four hardest subjet 511 512 // four hardest subjet 514 513 subjets.clear(); 515 514 subjets = pruned_jet.pieces(); 516 515 subjets = sorted_by_pt(subjets); 517 516 518 517 candidate->NSubJetsPruned = subjets.size(); 519 518 520 519 for (size_t i = 0; i < subjets.size() and i < 4; i++) 521 520 { 522 if(subjets.at(i).pt() < 0) continue ; 521 if(subjets.at(i).pt() < 0) continue ; 523 522 candidate->PrunedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 524 523 } 525 524 526 } 527 525 } 526 528 527 //------------------------------------ 529 528 // SoftDrop 530 529 //------------------------------------ 531 530 532 531 if(fComputeSoftDrop) 533 532 { 534 533 535 534 contrib::SoftDrop softDrop(fBetaSoftDrop,fSymmetryCutSoftDrop,fR0SoftDrop); 536 535 fastjet::PseudoJet softdrop_jet = softDrop(*itOutputList); 537 536 538 537 candidate->SoftDroppedP4[0].SetPtEtaPhiM(softdrop_jet.pt(), softdrop_jet.eta(), softdrop_jet.phi(), softdrop_jet.m()); 539 540 // four hardest subjet 541 538 539 // four hardest subjet 540 542 541 subjets.clear(); 543 542 subjets = softdrop_jet.pieces(); … … 549 548 for (size_t i = 0; i < subjets.size() and i < 4; i++) 550 549 { 551 if(subjets.at(i).pt() < 0) continue ; 550 if(subjets.at(i).pt() < 0) continue ; 552 551 candidate->SoftDroppedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 553 552 if(i==0) candidate->SoftDroppedSubJet1 = candidate->SoftDroppedP4[i+1]; … … 555 554 } 556 555 } 557 556 558 557 // --- compute N-subjettiness with N = 1,2,3,4,5 ---- 559 558 560 559 if(fComputeNsubjettiness) 561 560 { 562 561 563 562 Nsubjettiness nSub1(1, *fAxesDef, *fMeasureDef); 564 563 Nsubjettiness nSub2(2, *fAxesDef, *fMeasureDef); … … 566 565 Nsubjettiness nSub4(4, *fAxesDef, *fMeasureDef); 567 566 Nsubjettiness nSub5(5, *fAxesDef, *fMeasureDef); 568 567 569 568 candidate->Tau[0] = nSub1(*itOutputList); 570 569 candidate->Tau[1] = nSub2(*itOutputList); … … 572 571 candidate->Tau[3] = nSub4(*itOutputList); 573 572 candidate->Tau[4] = nSub5(*itOutputList); 574 573 575 574 } 576 575 -
modules/FastJetFinder.h
rdd64cff r8a11cdc 42 42 class NjettinessPlugin; 43 43 class ValenciaPlugin; 44 class AxesDefinition; 45 class MeasureDefinition; 44 class AxesDefinition; 45 class MeasureDefinition; 46 46 } 47 47 } … … 63 63 void *fRecomb; //! 64 64 65 fastjet::contrib::AxesDefinition *fAxesDef; 66 fastjet::contrib::MeasureDefinition *fMeasureDef; 65 fastjet::contrib::AxesDefinition *fAxesDef; 66 fastjet::contrib::MeasureDefinition *fMeasureDef; 67 67 68 68 fastjet::contrib::NjettinessPlugin *fNjettinessPlugin; //! … … 90 90 //-- Valencia Linear Collider algorithm 91 91 Double_t fGamma; 92 92 93 93 //-- N (sub)jettiness parameters -- 94 94 … … 100 100 101 101 //-- Trimming parameters -- 102 102 103 103 Bool_t fComputeTrimming; 104 104 Double_t fRTrim; 105 105 Double_t fPtFracTrim; 106 106 107 107 //-- Pruning parameters -- 108 108 … … 152 152 TObjArray *fOutputArray; //! 153 153 TObjArray *fRhoOutputArray; //! 154 TObjArray *fConstituentsOutputArray; //! 154 155 155 156 ClassDef(FastJetFinder, 1) -
modules/PdgCodeFilter.cc
rdd64cff r8a11cdc 76 76 fInvert = GetBool("Invert", false); 77 77 78 // no pileup 79 fRequireNotPileup = GetBool("RequireNotPileup", false); 80 78 81 fRequireStatus = GetBool("RequireStatus", false); 79 82 fStatus = GetInt("Status", 1); … … 127 130 if(fRequireStatus && (candidate->Status != fStatus)) continue; 128 131 if(fRequireCharge && (candidate->Charge != fCharge)) continue; 132 if(fRequireNotPileup && (candidate->IsPU >0 )) continue; 129 133 130 134 pass = kTRUE; -
modules/PdgCodeFilter.h
rdd64cff r8a11cdc 55 55 Bool_t fRequireCharge; //! 56 56 Int_t fCharge; //! 57 57 Bool_t fRequireNotPileup; //! 58 58 59 59 std::vector<Int_t> fPdgCodes; -
modules/StatusPidFilter.cc
rdd64cff r8a11cdc 153 153 { 154 154 // PT threshold 155 156 155 fPTMin = GetDouble("PTMin", 0.5); 156 157 // keep or remove pileup particles 158 fRequireNotPileup = GetBool("RequireNotPileup", false); 157 159 158 160 // import input array … … 227 229 if(!pass || (candidate->Momentum.Pt() < fPTMin && !(is_b_hadron || is_b_quark || is_tau_daughter || is_W_daughter)) ) continue; 228 230 231 // not pileup particles 232 if(fRequireNotPileup && (candidate->IsPU >0)) continue; 233 229 234 fOutputArray->Add(candidate); 230 235 } -
modules/StatusPidFilter.h
rdd64cff r8a11cdc 51 51 Double_t fPTMin; //! 52 52 53 Bool_t fRequireNotPileup; //! 54 53 55 TIterator *fItInputArray; //! 54 56 -
modules/UniqueObjectFinder.cc
rdd64cff r8a11cdc 67 67 void UniqueObjectFinder::Init() 68 68 { 69 // use GetUniqueID algorithm to find unique objects (faster than the default Overlaps method) 70 fUseUniqueID = GetBool("UseUniqueID", false); 71 69 72 // import arrays with output from other modules 70 73 … … 146 149 while((previousCandidate = static_cast<Candidate*>(iterator.Next()))) 147 150 { 148 if( candidate->Overlaps(previousCandidate))151 if(fUseUniqueID) 149 152 { 150 return kFALSE; 153 if(candidate->GetUniqueID() == previousCandidate->GetUniqueID()) 154 { 155 return kFALSE; 156 } 157 } 158 else 159 { 160 if(candidate->Overlaps(previousCandidate)) 161 { 162 return kFALSE; 163 } 151 164 } 152 165 } -
modules/UniqueObjectFinder.h
rdd64cff r8a11cdc 50 50 private: 51 51 52 Bool_t fUseUniqueID; 53 52 54 Bool_t Unique(Candidate *candidate, std::vector< std::pair< TIterator *, TObjArray * > >::iterator itInputMap); 53 55 -
readers/DelphesProMC.cpp
rdd64cff r8a11cdc 125 125 candidate->Status = status; 126 126 127 candidate->IsPU=0; 128 if (mutableParticles->barcode(i)>0) candidate->IsPU=1; // pileup particle 129 127 130 candidate->M1 = mutableParticles->mother1(i); 128 131 candidate->M2 = mutableParticles->mother2(i); … … 231 234 cout << "** Reading " << argv[i] << endl; 232 235 236 // use 64 bit 237 //inputFile = new ProMCBook(argv[i], "r", true); 238 239 //use 32 bit zip (faster but limitted to 64k events) 233 240 inputFile = new ProMCBook(argv[i], "r"); 234 241
Note:
See TracChangeset
for help on using the changeset viewer.