Changes in / [8a11cdc:dd64cff] in git
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
examples/CMakeLists.txt
r8a11cdc rdd64cff 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
r8a11cdc rdd64cff 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 32 DESTINATION lib) 33 if(PYTHIA8_FOUND) 34 install(FILES 35 ${PROJECT_BINARY_DIR}/modules/libPythia8Dict_rdict.pcm 30 ${PROJECT_BINARY_DIR}/modules/libModulesDict_rdict.pcm 31 ${PROJECT_BINARY_DIR}/modules/libFastJetDict_rdict.pcm 36 32 DESTINATION lib) 37 endif()38 33 endif() -
modules/FastJetFinder.cc
r8a11cdc rdd64cff 120 120 fJetPTMin = GetDouble("JetPTMin", 10.0); 121 121 122 122 123 //-- N(sub)jettiness parameters -- 123 124 … … 129 130 130 131 //-- Exclusive clustering for e+e- collisions -- 131 132 132 133 fNJets = GetInt("NJets",2); 133 134 fExclusiveClustering = GetBool("ExclusiveClustering", false); 134 135 135 136 //-- 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 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 }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 178 179 179 180 // --- 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; 197 212 default: 198 213 case 0: 199 214 fAreaDefinition = 0; 200 215 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 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"));293 292 } 294 293 … … 326 325 Double_t time, timeWeight; 327 326 Int_t number, ncharged, nneutrals; 328 Int_t charge; 327 Int_t charge; 329 328 Double_t rho = 0.0; 330 329 PseudoJet jet, area; … … 337 336 Double_t excl_ymerge45 = 0.0; 338 337 Double_t excl_ymerge56 = 0.0; 339 338 340 339 DelphesFactory *factory = GetFactory(); 341 340 … … 382 381 outputList.clear(); 383 382 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 418 420 candidate = factory->NewCandidate(); 419 421 … … 447 449 charge += constituent->Charge; 448 450 449 fConstituentsOutputArray->Add(constituent);450 451 candidate->AddCandidate(constituent); 451 452 } … … 457 458 candidate->DeltaEta = detaMax; 458 459 candidate->DeltaPhi = dphiMax; 459 candidate->Charge = charge; 460 candidate->Charge = charge; 460 461 candidate->NNeutrals = nneutrals; 461 462 candidate->NCharged = ncharged; … … 467 468 candidate->ExclYmerge45 = excl_ymerge45; 468 469 candidate->ExclYmerge56 = excl_ymerge56; 469 470 470 471 //------------------------------------ 471 472 // Trimming … … 477 478 fastjet::Filter trimmer(fastjet::JetDefinition(fastjet::kt_algorithm,fRTrim),fastjet::SelectorPtFractionMin(fPtFracTrim)); 478 479 fastjet::PseudoJet trimmed_jet = trimmer(*itOutputList); 479 480 480 481 trimmed_jet = join(trimmed_jet.constituents()); 481 482 482 483 candidate->TrimmedP4[0].SetPtEtaPhiM(trimmed_jet.pt(), trimmed_jet.eta(), trimmed_jet.phi(), trimmed_jet.m()); 483 484 // four hardest subjets 484 485 // four hardest subjets 485 486 subjets.clear(); 486 487 subjets = trimmed_jet.pieces(); 487 488 subjets = sorted_by_pt(subjets); 488 489 489 490 candidate->NSubJetsTrimmed = subjets.size(); 490 491 491 492 for (size_t i = 0; i < subjets.size() and i < 4; i++) 492 493 { 493 if(subjets.at(i).pt() < 0) continue ; 494 if(subjets.at(i).pt() < 0) continue ; 494 495 candidate->TrimmedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 495 496 } 496 497 } 497 498 498 499 499 500 //------------------------------------ 500 501 // Pruning 501 502 //------------------------------------ 502 503 503 504 504 505 if(fComputePruning) 505 506 { … … 509 510 510 511 candidate->PrunedP4[0].SetPtEtaPhiM(pruned_jet.pt(), pruned_jet.eta(), pruned_jet.phi(), pruned_jet.m()); 511 512 // four hardest subjet 512 513 // four hardest subjet 513 514 subjets.clear(); 514 515 subjets = pruned_jet.pieces(); 515 516 subjets = sorted_by_pt(subjets); 516 517 517 518 candidate->NSubJetsPruned = subjets.size(); 518 519 519 520 for (size_t i = 0; i < subjets.size() and i < 4; i++) 520 521 { 521 if(subjets.at(i).pt() < 0) continue ; 522 if(subjets.at(i).pt() < 0) continue ; 522 523 candidate->PrunedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 523 524 } 524 525 525 } 526 526 } 527 527 528 //------------------------------------ 528 529 // SoftDrop 529 530 //------------------------------------ 530 531 531 532 if(fComputeSoftDrop) 532 533 { 533 534 534 535 contrib::SoftDrop softDrop(fBetaSoftDrop,fSymmetryCutSoftDrop,fR0SoftDrop); 535 536 fastjet::PseudoJet softdrop_jet = softDrop(*itOutputList); 536 537 537 538 candidate->SoftDroppedP4[0].SetPtEtaPhiM(softdrop_jet.pt(), softdrop_jet.eta(), softdrop_jet.phi(), softdrop_jet.m()); 538 539 // four hardest subjet 540 539 540 // four hardest subjet 541 541 542 subjets.clear(); 542 543 subjets = softdrop_jet.pieces(); … … 548 549 for (size_t i = 0; i < subjets.size() and i < 4; i++) 549 550 { 550 if(subjets.at(i).pt() < 0) continue ; 551 if(subjets.at(i).pt() < 0) continue ; 551 552 candidate->SoftDroppedP4[i+1].SetPtEtaPhiM(subjets.at(i).pt(), subjets.at(i).eta(), subjets.at(i).phi(), subjets.at(i).m()); 552 553 if(i==0) candidate->SoftDroppedSubJet1 = candidate->SoftDroppedP4[i+1]; … … 554 555 } 555 556 } 556 557 557 558 // --- compute N-subjettiness with N = 1,2,3,4,5 ---- 558 559 559 560 if(fComputeNsubjettiness) 560 561 { 561 562 562 563 Nsubjettiness nSub1(1, *fAxesDef, *fMeasureDef); 563 564 Nsubjettiness nSub2(2, *fAxesDef, *fMeasureDef); … … 565 566 Nsubjettiness nSub4(4, *fAxesDef, *fMeasureDef); 566 567 Nsubjettiness nSub5(5, *fAxesDef, *fMeasureDef); 567 568 568 569 candidate->Tau[0] = nSub1(*itOutputList); 569 570 candidate->Tau[1] = nSub2(*itOutputList); … … 571 572 candidate->Tau[3] = nSub4(*itOutputList); 572 573 candidate->Tau[4] = nSub5(*itOutputList); 573 574 574 575 } 575 576 -
modules/FastJetFinder.h
r8a11cdc rdd64cff 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; //!155 154 156 155 ClassDef(FastJetFinder, 1) -
modules/PdgCodeFilter.cc
r8a11cdc rdd64cff 76 76 fInvert = GetBool("Invert", false); 77 77 78 // no pileup79 fRequireNotPileup = GetBool("RequireNotPileup", false);80 81 78 fRequireStatus = GetBool("RequireStatus", false); 82 79 fStatus = GetInt("Status", 1); … … 130 127 if(fRequireStatus && (candidate->Status != fStatus)) continue; 131 128 if(fRequireCharge && (candidate->Charge != fCharge)) continue; 132 if(fRequireNotPileup && (candidate->IsPU >0 )) continue;133 129 134 130 pass = kTRUE; -
modules/PdgCodeFilter.h
r8a11cdc rdd64cff 55 55 Bool_t fRequireCharge; //! 56 56 Int_t fCharge; //! 57 Bool_t fRequireNotPileup; //! 57 58 58 59 59 std::vector<Int_t> fPdgCodes; -
modules/StatusPidFilter.cc
r8a11cdc rdd64cff 153 153 { 154 154 // PT threshold 155 155 156 fPTMin = GetDouble("PTMin", 0.5); 156 157 // keep or remove pileup particles158 fRequireNotPileup = GetBool("RequireNotPileup", false);159 157 160 158 // import input array … … 229 227 if(!pass || (candidate->Momentum.Pt() < fPTMin && !(is_b_hadron || is_b_quark || is_tau_daughter || is_W_daughter)) ) continue; 230 228 231 // not pileup particles232 if(fRequireNotPileup && (candidate->IsPU >0)) continue;233 234 229 fOutputArray->Add(candidate); 235 230 } -
modules/StatusPidFilter.h
r8a11cdc rdd64cff 51 51 Double_t fPTMin; //! 52 52 53 Bool_t fRequireNotPileup; //!54 55 53 TIterator *fItInputArray; //! 56 54 -
modules/UniqueObjectFinder.cc
r8a11cdc rdd64cff 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 72 69 // import arrays with output from other modules 73 70 … … 149 146 while((previousCandidate = static_cast<Candidate*>(iterator.Next()))) 150 147 { 151 if( fUseUniqueID)148 if(candidate->Overlaps(previousCandidate)) 152 149 { 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 } 150 return kFALSE; 164 151 } 165 152 } -
modules/UniqueObjectFinder.h
r8a11cdc rdd64cff 50 50 private: 51 51 52 Bool_t fUseUniqueID;53 54 52 Bool_t Unique(Candidate *candidate, std::vector< std::pair< TIterator *, TObjArray * > >::iterator itInputMap); 55 53 -
readers/DelphesProMC.cpp
r8a11cdc rdd64cff 125 125 candidate->Status = status; 126 126 127 candidate->IsPU=0;128 if (mutableParticles->barcode(i)>0) candidate->IsPU=1; // pileup particle129 130 127 candidate->M1 = mutableParticles->mother1(i); 131 128 candidate->M2 = mutableParticles->mother2(i); … … 234 231 cout << "** Reading " << argv[i] << endl; 235 232 236 // use 64 bit237 //inputFile = new ProMCBook(argv[i], "r", true);238 239 //use 32 bit zip (faster but limitted to 64k events)240 233 inputFile = new ProMCBook(argv[i], "r"); 241 234
Note:
See TracChangeset
for help on using the changeset viewer.