using option '-treename HLTesdTree' for EsdCollector, adding default parameter for...
[u/mrichter/AliRoot.git] / PYTHIA8 / pythia8130 / include / BeamRemnants.h
1 // BeamRemnants.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2008 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5
6 // Header file for beam-remnants handling.
7 // BeamRemnants: matches the remnants between the two beams.
8
9 #ifndef Pythia8_BeamRemnants_H
10 #define Pythia8_BeamRemnants_H
11
12 #include "Basics.h"
13 #include "BeamParticle.h"
14 #include "Event.h"
15 #include "FragmentationFlavZpT.h"
16 #include "Info.h"
17 #include "ParticleData.h"
18 #include "PartonDistributions.h"
19 #include "PythiaStdlib.h"
20 #include "Settings.h"
21
22 namespace Pythia8 {
23
24 //**************************************************************************
25
26 // This class matches the kinematics of the hard-scattering subsystems
27 // (with primordial kT added) to that of the two beam remnants.  
28
29 class BeamRemnants {
30
31 public:
32
33   // Constructor.
34   BeamRemnants() { }  
35
36   // Initialization.
37   bool init( Info* infoPtrIn, BeamParticle* beamAPtrIn, 
38     BeamParticle* beamBPtrIn);
39
40   // Select the flavours/kinematics/colours of the two beam remnants. 
41   bool add( Event& event);
42
43 private: 
44
45   // Constants: could only be changed in the code itself.
46   static const int    NTRYCOLMATCH, NTRYKINMATCH;
47
48   // Initialization data, read from Settings.
49   bool   doPrimordialKT, doReconnect;
50   double primordialKTsoft, primordialKThard, primordialKTremnant,
51          halfScaleForKT, halfMassForKT, reconnectRange, 
52          pT0Ref, ecmRef, ecmPow;
53
54   // Information set for events.
55   int    nSys, oldSize;
56   double eCM, sCM, pT0, pT20Rec;
57
58   // Colour collapses (when one colour is mapped onto another).
59   vector<int> colFrom, colTo;
60
61   // Pointer to various information on the generation.
62   Info* infoPtr;
63
64   // Pointers to the two incoming beams.
65   BeamParticle* beamAPtr;
66   BeamParticle* beamBPtr;
67
68   // Do the kinematics of the collision subsystems and two beam remnants. 
69   bool setKinematics( Event& event);
70
71   // Allow colour reconnections.
72   bool reconnectColours( Event&  event);
73
74   // Check that colours are consistent.
75   bool checkColours( Event& event);
76
77 };
78  
79 //**************************************************************************
80
81 } // end namespace Pythia8
82
83 #endif // Pythia8_BeamRemnants_H