Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:06:35

0001 // VinciaMerging.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand.
0003 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // Authors: Helen Brooks, Christian T Preuss
0007 // This file contains the VinciaMerging class.
0008 
0009 #ifndef Pythia8_VinciaMerging_H
0010 #define Pythia8_VinciaMerging_H
0011 
0012 #include "Pythia8/Merging.h"
0013 #include "Pythia8/VinciaCommon.h"
0014 
0015 namespace Pythia8 {
0016 
0017 //==========================================================================
0018 
0019 // Merging wrapper class for Vincia.
0020 
0021 class VinciaMerging : public Merging {
0022 
0023  public:
0024 
0025   // Overridden methods.
0026   void init() override;
0027   void statistics() override;
0028   int mergeProcess(Event& process) override;
0029 
0030   // Set the verbosity level.
0031   void setVerbose(int verboseIn) {verbose=verboseIn;};
0032 
0033  private:
0034 
0035   // Steers the sector merging.
0036   int mergeProcessSector(Event& process);
0037 
0038   // Insert resonances in event record if not there.
0039   bool insertResonances(Event& process);
0040 
0041   // Flags that affect behaviour.
0042   bool doMerging, doSectorMerging, includeWtInXsec, doXSecEstimate,
0043     doMergeRes, doInsertRes;
0044 
0045   // Maximum additional jets (inclusive total).
0046   int nMaxJets;
0047   // Maximum additional jets in each res system.
0048   int nMaxJetsRes;
0049   // Number of resonance systems allowed to produce additional jets.
0050   int nMergeResSys;
0051 
0052   // Event counters.
0053   int nAbort, nBelowMS, nVeto, nTotal;
0054   vector<int> nVetoByMult, nTotalByMult;
0055 
0056   // Statistics.
0057   map<int, double> historyCompTime;
0058   map<int, int> nHistories;
0059 
0060   // Debug verbosity.
0061   int verbose;
0062 
0063 };
0064 
0065 //==========================================================================
0066 
0067 } // end namespace Pythia8
0068 
0069 #endif // Pythia8_VinciaMerging_H