/usr/include/Pythia8/Pythia8/Merging.h is in libpythia8-dev 8.1.86-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | // Merging.h is a part of the PYTHIA event generator.
// Copyright (C) 2014 Torbjorn Sjostrand.
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
// Please respect the MCnet Guidelines, see GUIDELINES for details.
// This file is written by Stefan Prestel.
// Merging: Wpapper class to interface matrix element merging schemes with
// Pythia
#ifndef Pythia8_Merging_H
#define Pythia8_Merging_H
#include "Pythia8/Basics.h"
#include "Pythia8/BeamParticle.h"
#include "Pythia8/Event.h"
#include "Pythia8/Info.h"
#include "Pythia8/ParticleData.h"
#include "Pythia8/PythiaStdlib.h"
#include "Pythia8/Settings.h"
#include "Pythia8/PartonLevel.h"
#include "Pythia8/MergingHooks.h"
#include "Pythia8/History.h"
namespace Pythia8 {
//==========================================================================
// Merging is a wrapper class for the interface of matrix element merging and
// Pythia8.
class Merging {
public:
// Constructor.
Merging() { settingsPtr = 0; infoPtr = 0; particleDataPtr = 0;
rndmPtr = 0; beamAPtr = 0; beamBPtr = 0; trialPartonLevelPtr = 0;
mergingHooksPtr = 0; }
// Make Pythia class friend
friend class Pythia;
// Destructor.
~Merging(){}
protected:
//----------------------------------------------------------------------//
// The members
//----------------------------------------------------------------------//
// Settings: databases of flags/modes/parms/words to control run.
Settings* settingsPtr;
// Pointer to various information on the generation.
Info* infoPtr;
// Pointer to the particle data table.
ParticleData* particleDataPtr;
// Pointer to random number generator.
Rndm* rndmPtr;
// Pointer to trial PartonLevel object
PartonLevel* trialPartonLevelPtr;
// Pointer to trial MergingHooks object
MergingHooks* mergingHooksPtr;
// Pointers to beam particles.
BeamParticle* beamAPtr;
BeamParticle* beamBPtr;
// Minimal value found for the merging scale in events.
double tmsNowMin;
static const double TMSMISMATCH;
// Initialisation function for internal use inside Pythia source code
void init( Settings* settingsPtrIn, Info* infoPtrIn,
ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
BeamParticle* beamAPtrIn, BeamParticle* beamBPtrIn,
MergingHooks* mergingHooksPtrIn, PartonLevel* trialPartonLevelPtrIn );
// Function to print statistics.
void statistics(ostream& os = cout);
//----------------------------------------------------------------------//
// Functions that implement matrix element merging.
//----------------------------------------------------------------------//
// Function to steer different merging prescriptions.
int mergeProcess( Event& process);
// Function to perform CKKW-L merging on the event.
int mergeProcessCKKWL( Event& process);
// Function to perform UMEPS merging on the event.
int mergeProcessUMEPS( Event& process);
// Function to perform NL3 NLO merging on the event.
int mergeProcessNL3( Event& process);
// Function to perform UNLOPS merging on the event.
int mergeProcessUNLOPS( Event& process);
// Function to apply the merging scale cut on an input event.
bool cutOnProcess( Event& process);
};
//==========================================================================
} // end namespace Pythia8
#endif // Pythia8_Merging_H
|