Fork me on GitHub

source: svn/trunk/classes/DelphesHepMCReader.h@ 1100

Last change on this file since 1100 was 1052, checked in by Pavel Demin, 12 years ago

add DelphesLHEFReader, DelphesSTDHEPReader and DelphesHepMCReader

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision Date
File size: 1.6 KB
Line 
1#ifndef DelphesHepMCReader_h
2#define DelphesHepMCReader_h
3
4/** \class DelphesHepMCReader
5 *
6 * Reads HepMC file
7 *
8 *
9 * $Date: 2013-03-09 23:26:28 +0000 (Sat, 09 Mar 2013) $
10 * $Revision: 1052 $
11 *
12 *
13 * \author P. Demin - UCL, Louvain-la-Neuve
14 *
15 */
16
17#include <map>
18
19#include <stdio.h>
20
21class TObjArray;
22class TStopwatch;
23class TDatabasePDG;
24class ExRootTreeBranch;
25class DelphesFactory;
26
27class DelphesHepMCReader
28{
29public:
30
31 DelphesHepMCReader();
32 ~DelphesHepMCReader();
33
34 void SetInputFile(FILE *inputFile);
35
36 void Clear();
37 bool EventReady();
38
39 bool ReadBlock(DelphesFactory *factory,
40 TObjArray *allParticleOutputArray,
41 TObjArray *stableParticleOutputArray,
42 TObjArray *partonOutputArray);
43
44 void AnalyzeEvent(ExRootTreeBranch *branch, long long eventNumber,
45 TStopwatch *readStopWatch, TStopwatch *procStopWatch);
46
47private:
48
49 void AnalyzeParticle(DelphesFactory *factory,
50 TObjArray *allParticleOutputArray,
51 TObjArray *stableParticleOutputArray,
52 TObjArray *partonOutputArray);
53
54 void FinalizeParticles(TObjArray *allParticleOutputArray);
55
56 FILE *fInputFile;
57
58 char *fBuffer;
59
60 TDatabasePDG *fPDG;
61
62 int fEventNumber, fMPI, fProcessID, fSignalCode, fVertexCounter;
63 double fScale, fAlphaQCD, fAlphaQED;
64
65 int fID1, fID2;
66 double fX1, fX2, fScalePDF, fPDF1, fPDF2;
67
68 int fOutVertexCode, fVertexID, fInCounter, fOutCounter;
69 double fX, fY, fZ, fT;
70
71 int fParticleCode, fPID, fStatus, fInVertexCode;
72 double fPx, fPy, fPz, fE, fMass, fTheta, fPhi;
73
74 int fParticleCounter;
75
76 std::map< int, std::pair < int, int > > fMotherMap;
77 std::map< int, std::pair < int, int > > fDaughterMap;
78};
79
80#endif // DelphesHepMCReader_h
81
82
Note: See TracBrowser for help on using the repository browser.