source: HiSusy/trunk/Pythia8/pythia8170/examples/main09.cc @ 1

Last change on this file since 1 was 1, checked in by zerwas, 11 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 2.6 KB
Line 
1// main09.cc is a part of the PYTHIA event generator.
2// Copyright (C) 2012 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// Generate a predetermined second hard interaction.
7
8#include "Pythia.h"
9
10using namespace Pythia8;
11 
12int main() {
13
14  // Generator.
15  Pythia pythia;
16  Event& event   = pythia.event;
17
18  // Select first hard process (just a small sample of possibilities).
19  //pythia.readString("HardQCD:all = on");
20  pythia.readString("Top:all = on");
21  //pythia.readString("WeakSingleBoson:ffbar2gmZ = on");
22  //pythia.readString("WeakSingleBoson:ffbar2W = on");
23
24  // Select second hard process (complete list of options).
25  pythia.readString("SecondHard:generate = on");
26  //pythia.readString("SecondHard:TwoJets = on");
27  pythia.readString("SecondHard:PhotonAndJet = on");
28  //pythia.readString("SecondHard:TwoPhotons = on");
29  //pythia.readString("SecondHard:SingleGmZ = on");
30  //pythia.readString("SecondHard:SingleW = on");
31  //pythia.readString("SecondHard:TwoBJets = on");
32 
33  // Kinematics cuts, common for the two.
34  pythia.readString("PhaseSpace:mHatMin = 40.");
35  pythia.readString("PhaseSpace:pTHatMin = 20.");
36
37  // Initialize for LHC at 8 TeV.
38  pythia.readString("Beams:eCM = 8000."); 
39  pythia.init();
40
41  // Histogram.
42  Hist pTfirst("pT first collision",    100, 0., 400.);
43  Hist pTsecond("pT second collision",  100, 0., 200.);
44  Hist pTdiff("pT first-second collision", 100, -100., 300.);
45  Hist nMult("number of multiparton interactions", 100, -0.5, 99.5);
46  Hist bMore("b enhancement factor",    100, 0., 10.);
47  Hist nChg("charged multiplicity", 100, -0.5, 999.5);
48
49  // Generate events.
50  for (int iev = 0; iev < 1000; ++iev) {
51    pythia.next();
52
53    // Histogram pT.
54    double pT1 = pythia.info.pTMPI(0);
55    double pT2 = pythia.info.pTMPI(1);
56    pTfirst.fill( pT1 );
57    pTsecond.fill( pT2 );
58    pTdiff.fill( pT1 - pT2 );
59
60    // Histogram multiparton interactions
61    double nMPI = pythia.info.nMPI();
62    nMult.fill( nMPI );
63    bMore.fill( pythia.info.enhanceMPI() );
64
65    // Histogram charged multiplicity.
66    int nCharged = 0;
67    for (int i = 0; i < event.size(); ++i) 
68      if (event[i].isFinal() && event[i].isCharged()) ++nCharged; 
69    nChg.fill( nCharged );
70
71  }
72
73  // Compare full statistics listing with what is set in info.
74  pythia.stat();
75  cout << scientific << setprecision(3) << "\n From pythia.info: sigma = " 
76       << pythia.info.sigmaGen() << " +- " << pythia.info.sigmaErr()
77       << endl;
78
79  // Print histograms.
80  cout << pTfirst << pTsecond << pTdiff << nMult << bMore << nChg;
81
82  // Done.
83  return 0;
84}
Note: See TracBrowser for help on using the repository browser.