main87.cc
main88.cc
main87.cmnd
Merging:Process
Merging:TMS
Merging:nJetMax
Merging:nRecluster
MergingHooks
Merging:enforceCutOnLHE
Les Houches Event fails merging scale cut. Cut by rejecting event
Merging:TMS = 15
runningscales 0, btlscalereal 1, btlscalect 1, ckkwscalup 0
runningscale 0
runningscales 0
default = 0
minimum = 0
default = -1.0
SCALUP
main84.cc
Main:numberOfEvents
Merging:nJetMaxNLO
main87.exe
./main87.exe main87.cmnd w_production myhepmc.hepmc
Merging:doKTMerging
Merging:doXSectionEstimate
Merging:doNL3Tree
Merging:doNL3Loop
Merging:nRequested
Merging:nRequested = 1
default = 1.0
Merging:kFactor2j
default = off
Merging:doNL3Subt
Merging:doNL3Tree = on
Merging:doNL3Loop = on
Merging:doNL3Subt = on
main88.cmnd
main88.exe
./main88.exe main88.cmnd w_production myhepmc.hepmc
Merging:doUNLOPSTree
Merging:doUNLOPSLoop
Merging:kFactor0j
Merging:kFactor1j
Merging:doUNLOPSSubt
Merging:doUNLOPSSubtNLO
Merging:doUNLOPSTree = on
Merging:doUNLOPSLoop = on
Merging:doUNLOPSSubtNLO = on
cout << endl << endl << endl; cout << "Shower subtractive events" << endl; // Switch on processing of counter-events. pythia.settings.flag("Merging:doUNLOPSTree",false); pythia.settings.flag("Merging:doUNLOPSLoop",false); pythia.settings.flag("Merging:doUNLOPSSubt",true); pythia.settings.flag("Merging:doUNLOPSSubtNLO",false); pythia.settings.mode("Merging:nRecluster",2); nMaxCT = nMaxNLO+1; njetcounterCT = nMaxCT; iPathSubt = iPath + "_tree"; while(njetcounterCT >= 2){ // From njet, choose LHE file stringstream in; in << "_" << njetcounterCT << ".lhe"; string LHEfile = iPathSubt + in.str(); cout << endl << endl << endl << "Start subtractive treatment for " << njetcounterCT << " jets\n" << "Recluster at least 2 times" << endl; pythia.readString("Beams:frameType = 4"); pythia.settings.word("Beams:LHEF", LHEfile); pythia.settings.mode("Merging:nRequested", njetcounterCT); pythia.init(); // Remember position in vector of cross section estimates. int iNow = sizeLO-1-njetcounterCT; // Start generation loop for( int iEvent=0; iEvent < nEvent; ++iEvent ){ // Generate next event if( !pythia.next() ) { if( pythia.info.atEndOfFile() ) break; else continue; } // Get event weight(s). double weightNLO = pythia.info.mergingWeightNLO(); double evtweight = pythia.info.weight(); weightNLO *= evtweight; // Do not print zero-weight events. if ( weightNLO == 0. ) continue; // Construct new empty HepMC event. HepMC::GenEvent* hepmcevt = new HepMC::GenEvent(); // Get correct cross section from previous estimate. double normhepmc = -1*xsecLO[iNow] / nAcceptLO[iNow]; // Set hepmc event weight. hepmcevt->weights().push_back(weightNLO*normhepmc); // Fill HepMC event. ToHepMC.fill_next_event( pythia, hepmcevt ); // Add the weight of the current event to the cross section. sigmaTotal += weightNLO*normhepmc; errorTotal += pow2(weightNLO*normhepmc); // Report cross section to hepmc. HepMC::GenCrossSection xsec; xsec.set_cross_section( sigmaTotal*1e9, pythia.info.sigmaErr()*1e9 ); hepmcevt->set_cross_section( xsec ); // Write the HepMC event to file. Done with it. ascii_io << hepmcevt; delete hepmcevt; } // end loop over events to generate // print cross section, errors pythia.stat(); // Restart with ME of a reduced the number of jets if( njetcounterCT > 2 ) njetcounterCT--; else break; }
double MergingHooks::dampenIfFailCuts(const Event& event)"