Fork me on GitHub

source: git/classes/DelphesLHEFReader.h@ bf6ed57

ImprovedOutputFile Timing dual_readout llp
Last change on this file since bf6ed57 was 7c0fcd5, checked in by Pavel Demin <demin@…>, 10 years ago

delete duplicate license file and prepend GPLv3 header to all source code files

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 * Delphes: a framework for fast simulation of a generic collider experiment
3 * Copyright (C) 2012-2014 Universite catholique de Louvain (UCL), Belgium
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef DelphesLHEFReader_h
20#define DelphesLHEFReader_h
21
22/** \class DelphesLHEFReader
23 *
24 * Reads LHEF file
25 *
26 *
27 * $Date$
28 * $Revision$
29 *
30 *
31 * \author P. Demin - UCL, Louvain-la-Neuve
32 *
33 */
34
35#include <stdio.h>
36
37#include <vector>
38
39class TObjArray;
40class TStopwatch;
41class TDatabasePDG;
42class ExRootTreeBranch;
43class DelphesFactory;
44
45class DelphesLHEFReader
46{
47public:
48
49 DelphesLHEFReader();
50 ~DelphesLHEFReader();
51
52 void SetInputFile(FILE *inputFile);
53
54 void Clear();
55 bool EventReady();
56
57 bool ReadBlock(DelphesFactory *factory,
58 TObjArray *allParticleOutputArray,
59 TObjArray *stableParticleOutputArray,
60 TObjArray *partonOutputArray);
61
62 void AnalyzeEvent(ExRootTreeBranch *branch, long long eventNumber,
63 TStopwatch *readStopWatch, TStopwatch *procStopWatch);
64
65 void AnalyzeRwgt(ExRootTreeBranch *branch);
66
67private:
68
69 void AnalyzeParticle(DelphesFactory *factory,
70 TObjArray *allParticleOutputArray,
71 TObjArray *stableParticleOutputArray,
72 TObjArray *partonOutputArray);
73
74 FILE *fInputFile;
75
76 char *fBuffer;
77
78 TDatabasePDG *fPDG;
79
80 bool fEventReady;
81
82 int fEventCounter;
83
84 int fParticleCounter, fProcessID;
85 double fWeight, fScalePDF, fAlphaQCD, fAlphaQED;
86
87 int fPID, fStatus, fM1, fM2, fC1, fC2;
88 double fPx, fPy, fPz, fE, fMass;
89
90 std::vector<double> fRwgtList;
91};
92
93#endif // DelphesLHEFReader_h
94
95
Note: See TracBrowser for help on using the repository browser.