GENIEGenerator
Loading...
Searching...
No Matches
GSimFiles.h
Go to the documentation of this file.
1//__________________________________________________________________________
2/*!
3
4\class GSimFiles
5
6\brief Holds GENIE simulation outputs (cross-section ROOT files, simulated
7 event samples in GHEP, GST or other format) typically used as inputs
8 in physics validation / tuning apps.
9
10 The file lists are stored in XML format as shown below.
11
12 Simulation results from multiple version of the code or from multiple
13 physics models can be stored.
14
15 <?xml version="1.0" encoding="ISO-8859-1"?>
16 <genie_simulation_outputs>
17 <model name="a_model_name">
18 <xsec_file> /path/model_1/xsec.root </xsec_file>
19 <evt_file format="gst"> /path/model_1/evtfile0.root </evt_file>
20 <evt_file format="gst"> /path/model_1/evtfile1.root </evt_file>
21 <evt_file format="gst"> /path/model_1/evtfile2.root </evt_file>
22 ...
23 </model>
24 <model name="another_model_name">
25 <xsec_file> /path/model_2/xsec.root </xsec_file>
26 <evt_file format="gst"> /path/model_2/evtfile0.root </evt_file>
27 <evt_file format="gst"> /path/model_2/evtfile1.root </evt_file>
28 <evt_file format="gst"> /path/model_2/evtfile2.root </evt_file>
29 ...
30 </model>
31 ...
32 </genie_simulation_outputs>
33
34\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
35 University of Liverpool
36
37\created Oct 12, 2009
38
39\cpright Copyright (c) 2003-2025, The GENIE Collaboration
40 For the full text of the license visit http://copyright.genie-mc.org
41*/
42//__________________________________________________________________________
43
44#ifndef _GSIM_FILES_H_
45#define _GSIM_FILES_H_
46
47#include <iostream>
48#include <string>
49#include <vector>
50
51#include <TChain.h>
52#include <TTree.h>
53#include <TFile.h>
54
55using std::ostream;
56using std::string;
57using std::vector;
58
59namespace genie {
60
61class GSimFiles;
62ostream & operator << (ostream & stream, const GSimFiles & gsimf);
63
65{
66public:
67 GSimFiles(bool chain=true, const int nmaxmodels=10);
68 ~GSimFiles(void);
69
70 int NModels (void) const;
71 int FindModelID (string tag) const;
72 string ModelTag (int imodel) const;
73 TFile * XSecFile (int imodel) const;
74 string XSecFileName (int imodel) const;
75 TChain * EvtChain (int imodel) const;
76 vector<string> & EvtFileNames (int imodel) const;
77 const string & PathToXMLFile(void) const;
78 void Print (ostream & stream) const;
79 bool LoadFromFile (string xmlfile);
80
81 friend ostream & operator << (ostream & stream, const GSimFiles & gsimf);
82
83private:
84
85 void Init (const int nmaxmodels);
86 void CleanUp (void);
87
90 vector<string> * fModelTag;
91 vector<TFile*> * fXSecFile;
92 vector<string> * fXSecFileName;
93 vector<TChain*> * fEvtChain;
94 vector<vector<string> > * fEvtFileNames;
96};
97
98} // genie namespace
99
100#endif // _GSIM_FILES_H_
Holds GENIE simulation outputs (cross-section ROOT files, simulated event samples in GHEP,...
void Print(ostream &stream) const
int NModels(void) const
Definition GSimFiles.cxx:45
bool LoadFromFile(string xmlfile)
Definition GSimFiles.cxx:91
string XSecFileName(int imodel) const
Definition GSimFiles.cxx:71
const string & PathToXMLFile(void) const
Definition GSimFiles.cxx:86
vector< string > & EvtFileNames(int imodel) const
Definition GSimFiles.cxx:81
string fPath2XMLFile
Definition GSimFiles.h:95
vector< string > * fModelTag
Definition GSimFiles.h:90
vector< string > * fXSecFileName
Definition GSimFiles.h:92
int FindModelID(string tag) const
Definition GSimFiles.cxx:50
vector< vector< string > > * fEvtFileNames
Definition GSimFiles.h:94
TFile * XSecFile(int imodel) const
Definition GSimFiles.cxx:66
GSimFiles(bool chain=true, const int nmaxmodels=10)
Definition GSimFiles.cxx:34
vector< TFile * > * fXSecFile
Definition GSimFiles.h:91
TChain * EvtChain(int imodel) const
Definition GSimFiles.cxx:76
friend ostream & operator<<(ostream &stream, const GSimFiles &gsimf)
Definition GSimFiles.cxx:27
string ModelTag(int imodel) const
Definition GSimFiles.cxx:61
void CleanUp(void)
vector< TChain * > * fEvtChain
Definition GSimFiles.h:93
void Init(void)
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)