Fork me on GitHub

source: git/classes/DelphesHepMCReader.h@ f8d08bb

ImprovedOutputFile Timing dual_readout llp
Last change on this file since f8d08bb was d7d2da3, checked in by pavel <pavel@…>, 12 years ago

move branches/ModularDelphes to trunk

  • Property mode set to 100644
File size: 1.6 KB
RevLine 
[d7d2da3]1#ifndef DelphesHepMCReader_h
2#define DelphesHepMCReader_h
3
4/** \class DelphesHepMCReader
5 *
6 * Reads HepMC file
7 *
8 *
9 * $Date$
10 * $Revision$
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.