Fork me on GitHub

source: svn/trunk/classes/DelphesLHEFReader.h@ 1390

Last change on this file since 1390 was 1265, checked in by Pavel Demin, 11 years ago

read reweighting information from LHEF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision Date
File size: 1.3 KB
Line 
1#ifndef DelphesLHEFReader_h
2#define DelphesLHEFReader_h
3
4/** \class DelphesLHEFReader
5 *
6 * Reads LHEF file
7 *
8 *
9 * $Date: 2013-08-16 14:29:25 +0000 (Fri, 16 Aug 2013) $
10 * $Revision: 1265 $
11 *
12 *
13 * \author P. Demin - UCL, Louvain-la-Neuve
14 *
15 */
16
17#include <stdio.h>
18
19#include <vector>
20
21class TObjArray;
22class TStopwatch;
23class TDatabasePDG;
24class ExRootTreeBranch;
25class DelphesFactory;
26
27class DelphesLHEFReader
28{
29public:
30
31 DelphesLHEFReader();
32 ~DelphesLHEFReader();
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
47 void AnalyzeRwgt(ExRootTreeBranch *branch);
48
49private:
50
51 void AnalyzeParticle(DelphesFactory *factory,
52 TObjArray *allParticleOutputArray,
53 TObjArray *stableParticleOutputArray,
54 TObjArray *partonOutputArray);
55
56 FILE *fInputFile;
57
58 char *fBuffer;
59
60 TDatabasePDG *fPDG;
61
62 bool fEventReady;
63
64 int fEventCounter;
65
66 int fParticleCounter, fProcessID;
67 double fWeight, fScalePDF, fAlphaQCD, fAlphaQED;
68
69 int fPID, fStatus, fM1, fM2, fC1, fC2;
70 double fPx, fPy, fPz, fE, fMass;
71
72 std::vector<double> fRwgtList;
73};
74
75#endif // DelphesLHEFReader_h
76
77
Note: See TracBrowser for help on using the repository browser.