source: HiSusy/trunk/Delphes/Delphes-3.0.9/classes/DelphesSTDHEPReader.h @ 5

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

update to Delphes-3.0.9

File size: 1.7 KB
Line 
1#ifndef DelphesSTDHEPReader_h
2#define DelphesSTDHEPReader_h
3
4/** \class DelphesSTDHEPReader
5 *
6 *  Reads STDHEP file
7 *
8 *
9 *  $Date: 2013-03-10 00:26:28 +0100 (Sun, 10 Mar 2013) $
10 *  $Revision: 1052 $
11 *
12 *
13 *  \author P. Demin - UCL, Louvain-la-Neuve
14 *
15 */
16
17#include <stdio.h>
18#include <rpc/types.h>
19#include <rpc/xdr.h>
20
21class TObjArray;
22class TStopwatch;
23class TDatabasePDG;
24class ExRootTreeBranch;
25class DelphesFactory;
26
27class DelphesSTDHEPReader
28{
29public:
30  enum STDHEPBlock
31  {
32    GENERIC = 0,
33    FILEHEADER = 1,
34    EVENTTABLE = 2,
35    EVENTHEADER = 4,
36    MCFIO_STDHEP = 101,
37    MCFIO_STDHEPBEG = 106,
38    MCFIO_STDHEPEND = 107,
39    MCFIO_STDHEP4 = 201
40  };
41
42  DelphesSTDHEPReader();
43  ~DelphesSTDHEPReader();
44
45  void SetInputFile(FILE *inputFile);
46
47  void Clear();
48  bool EventReady();
49
50  bool ReadBlock(DelphesFactory *factory,
51    TObjArray *allParticleOutputArray,
52    TObjArray *stableParticleOutputArray,
53    TObjArray *partonOutputArray);
54
55  void AnalyzeEvent(ExRootTreeBranch *branch, long long eventNumber,
56    TStopwatch *readStopWatch, TStopwatch *procStopWatch);
57
58private:
59
60  void AnalyzeParticles(DelphesFactory *factory,
61    TObjArray *allParticleOutputArray,
62    TObjArray *stableParticleOutputArray,
63    TObjArray *partonOutputArray);
64
65  void SkipBytes(u_int size);
66  void SkipArray(u_int elsize);
67
68  void ReadFileHeader();
69  void ReadEventTable();
70  void ReadSTDHEPHeader();
71  void ReadSTDCM1();
72  void ReadSTDHEP();
73  void ReadSTDHEP4();
74
75  FILE *fInputFile;
76
77  XDR *fInputXDR;
78
79  char *fBuffer;
80
81  TDatabasePDG *fPDG;
82
83  u_int fEntries;
84  int fBlockType, fEventNumber, fEventSize;
85  double fWeight, fAlphaQCD, fAlphaQED;
86
87  u_int fScaleSize;
88  double fScale[10];
89};
90
91#endif // DelphesSTDHEPReader_h
92
93
Note: See TracBrowser for help on using the repository browser.